Principle Embedded Software Engineer
Location: Milton Keynes
Our client are innovators for out-of-the-box communication systems for satellites, UAVs, launch vehicles, and other space and airborne platforms. They pride themselves in their dynamic, cross-functional work environment that encourages learning, development, and engagement across the organisation. If you're seeking hands-on, interactive, and autonomous work, our client is the place for you.
Position Overview: As a Principle Embedded Software Engineer, you will be responsible for developing both low-level and high-level software for our clients’ products through all phases of the development process. Key projects include Linux-based single-board computers and high-reliability microcontroller systems. Our goal is to create an out-of-the-box hardware and software experience that enhances our customers’ ability to rapidly integrate our products into their systems.
Key Responsibilities: You will design and implement software for embedded devices and systems, covering the entire lifecycle from requirements to production and commercial deployment. This includes developing, coding, testing, debugging, and documenting system software, while ensuring efficiency, stability, and scalability. You will integrate and validate new product designs, support software quality assurance, and optimize I/O performance. Providing post-production and in-orbit customer support will also be part of your duties. You'll work closely with hardware design and development engineers and assess third-party and open-source software.
What are we looking for? Candidates should have a Bachelor of Science (BS) or Master of Science (MS) degree in Computer Science, Electrical Engineering, or Computer Engineering, along with 9+ years of industry experience in software development. Hands-on experience in developing and troubleshooting embedded hardware, API design for interfacing with FPGAs, and proficiency in C or C++ programming are essential. Experience with aerospace applications and embedded systems design with pre-emptive, multitasking real-time operating systems (RTOS), preferably with real-time Linux, is required. Familiarity with software configuration management tools, defect tracking tools, and peer reviews is important. You should have excellent knowledge of real-time system coding techniques, IP protocols, interfaces, and hardware subsystems, and a strong understanding of multi-threaded applications and resource management. Excellent written and verbal communication skills are a must.
Preferred Experience: Preferred candidates will have adequate knowledge of reading electronics schematics and component data sheets, experience with ARM processors and fully-featured microcontrollers, and experience in designing and developing Software Development Kits (SDKs).
Why Join Us? You'll have the opportunity to work in a collaborative and innovative environment where your ideas and skills can make a real impact. Our client offers competitive salaries, comprehensive benefits, and the chance to work on cutting-edge technology that shapes the future of communication systems.