> Markdown version of [/jobs/ext/3100892-software-engineer](https://www.wearedevelopers.com/jobs/ext/3100892-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Software Engineer - **Company:** microTECH Global Limited - **Location:** Harston, UK (Remote available) - **Salary:** £65,000.0 - £105,000.0 - **Contract:** Permanent contract - **Skills:** ARM Architecture, Continuous Integration, Linux, Python (Programming Language), Quick EMUlator (QEMU), Toolchain, Vivado, Core Api, Gitlab, Docker, Jenkins - **Published:** September 27, 2026 - **Apply:** https://www.adzuna.co.uk/jobs/details/5899589127 ## About the Role * Proven commercial experience with QEMU, specifically configuring and networking emulated ARM Cortex-A53/R5 cores, and RTL simulators * Strong proficiency in Docker for standardizing complex toolchain environments, including injecting Vitis Core Development Kits and PetaLinux * Advanced Python programming for orchestrating tests, hardware interactions, and CI/CD automation * Strong understanding of Linux OS internals, memory-mapped I/O, and driver-stack loading in embedded environments ## Description * Design and maintain a reproducible hardware emulation environment utilizing PetaLinux toolchains * Wrap the entire emulation stack in Docker to ensure environmental consistency across developer workstations and automated CI/CD pipelines (GitLab/Jenkins) * Utilize the AMD fork of QEMU to boot functional PetaLinux images, modeling specific peripherals, boot sequences, and memory maps * Bridge QEMU (PS) with RTL simulators like Vivado XSIM (PL) via Remote Port / Transaction Level Modeling (TLM) to validate custom logic alongside the software stack * Develop robust testbenches and automation scripts using Python, leveraging XRT bindings or PYNQ, to load hardware overlays, inject test vectors into emulated hardware, and assert correctness Technologies: * ARM * CI/CD * Docker * Embedded * GitLab * Hardware * Jenkins * Linux * Python * QEMU ## Related Videos - [WeAreDevelopers LIVE - Modern DevOps for IoT Devices and More](https://www.wearedevelopers.com/videos/1805-wearedevelopers-live-modern-devops-for-iot-devices-and-more) - [Unleashing the Full Potential of the Arm Architecture – Write Once, Deploy Anywhere](https://www.wearedevelopers.com/videos/940-unleashing-the-full-potential-of-the-arm-architecture-write-once-deploy-anywhere) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [Docker exec without Docker](https://www.wearedevelopers.com/videos/1094-docker-exec-without-docker) - [Enabling automated 1-click customer deployments with built-in quality and security](https://www.wearedevelopers.com/videos/83-enabling-automated-1-click-customer-deployments-with-built-in-quality-and-security) ## Related Articles - [Dev Digest 120 - Apple and peers](https://www.wearedevelopers.com/magazine/455-dev-digest-120-apple-and-peers) - [Dev Digest 121 - AI goes offline](https://www.wearedevelopers.com/magazine/456-dev-digest-121-ai-goes-offline) - [Dev Digest 125 - Duck and Cover](https://www.wearedevelopers.com/magazine/462-dev-digest-125-duck-and-cover) - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again) - [Dev Digest 138 - Are you secure about this?](https://www.wearedevelopers.com/magazine/486-dev-digest-138-are-you-secure-about-this) - [Dev Digest 118 - not a total recall](https://www.wearedevelopers.com/magazine/452-dev-digest-118-not-a-total-recall)