> Markdown version of [/jobs/ext/2205916-software-engineer](https://www.wearedevelopers.com/jobs/ext/2205916-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:** ECM Selection Limited - **Location:** Cambridge, UK (Remote available) - **Experience:** Expert - **Salary:** £60,000.0 - £80,000.0 - **Contract:** Permanent contract - **Skills:** C Sharp (Programming Language), C++ (Programming Language), Compilers, Communications Protocols, Computer Programming, Linux, Embedded C, Embedded Software, Python (Programming Language), Linux Kernel, System on a Chip, Multithreading, PIC Microcontroller, Information Technology, Bare Metal, Service Stack - **Published:** August 24, 2026 - **Apply:** https://www.ecmselection.co.uk/register/26766 ## About the Role They currently seek a Senior Software Engineer to work on embedded systems from small microcontrollers (eg: STM32) to multicore SoCs (eg: Xilinx Zynq Ultra-scale). Therefore, knowledge of bare-metal programming, Linux kernel drivers and multithreading is highly relevant. Further, experience with communication protocols would be useful as a lot of their projects do encompass this. As a company, they do have legacy code in C which does need maintenance and support, but most new code is written in C++. They are also open to other technologies and have looked at Rust and dabbled with C# and Python for scripts and supporting tools., * Your academic background - degree qualified in computer science, electronics, physics or similar. * Demonstrable relevant project experience writing embedded software (must have C, further experience with C++ would be advantageous). * General knowledge of the Linux OS including drivers and compilers. Additional experience mentoring junior developers would be beneficial., Keywords: Embedded C, C++, Linux, Drivers, Electronics, Microcontrollers, Bare-Metal, Multithreading, Communication Protocols, C# / Python / Rust, Flexible Working ## Related Videos - [Cyber Security: Small, and Large!](https://www.wearedevelopers.com/videos/259-cyber-security-small-and-large) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [Just-in-time Compilation in JVM](https://www.wearedevelopers.com/videos/240-just-in-time-compilation-in-jvm) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [C++ in constrained environments](https://www.wearedevelopers.com/videos/441-c-in-constrained-environments) - [Docker exec without Docker](https://www.wearedevelopers.com/videos/1094-docker-exec-without-docker) ## Related Articles - [Fully Remote Software Engineer Jobs](https://www.wearedevelopers.com/magazine/447-fully-remote-software-engineer-jobs) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [Where To Find Software Engineering Jobs](https://www.wearedevelopers.com/magazine/396-where-to-find-software-engineering-jobs) - [The 12 Best Jobs for Software Engineers](https://www.wearedevelopers.com/magazine/401-the-12-best-jobs-for-software-engineers) - [The Ultimate Software Engineer Career Path Guide for 2023](https://www.wearedevelopers.com/magazine/146-the-ultimate-software-engineer-career-path-guide-for-2023)