Software Engineer

microTECH Global Limited
Harston, UK
3 days ago
Apply on www.adzuna.co.uk
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Compensation
£65,000.0 - £105,000.0
Working hours
Regular working hours

Tech stack

ARM Architecture Continuous Integration Linux Python (Programming Language) Quick EMUlator (QEMU) Toolchain Vivado Core Api Gitlab Docker Jenkins

Job 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

Requirements

  • 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

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.adzuna.co.uk
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

8:07 min

Transitioning from web development to constrained hardware engineering

Philipp-Alexander Blum · LIVE

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · World Congress 2025

6:14 min

Structuring CI/CD pipelines with integrated security and quality checks

Christoph Ruggenthaler · LIVE

6:14 min

Modernizing deployment pipelines for embedded hardware devices

Chris Heilmann Chris Heilmann +2 · LIVE

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

Videos

See all

Related articles

See all