Principal Embedded Software Engineer
Milton Keynes
Full time, permanent position
Onsite 5 days per week
Our client designs and develops innovative communication systems for satellites, UAVs, launch vehicles, and other space and airborne platforms. They foster a dynamic, collaborative work environment that encourages learning and autonomy. If you're passionate, energetic, and forward-thinking, this role could be perfect for you.
In this role, you will develop software for the client's products, ranging from Linux-based single-board computers to high-reliability microcontroller systems. Responsibilities span the entire development cycle, including designing, coding, testing, and supporting low- and high-level software. You'll aim to create hardware and software solutions that simplify integration for the client's customers.
As part of the software team, you will oversee designs from concept to production, encompassing product roadmaps, detailed coding, testing, qualification, and in-orbit support. The role requires experience across nearly all levels of the software stack, from microcontrollers and drivers to board support packages and user interfaces. Additionally, expertise in software testing, qualification, engineering practices, and project management is essential.
The successful candidate will present design reviews to customers and executives and contribute to proposal-writing efforts. Strong written and verbal communication skills are vital.
Key Responsibilities: You will design and implement software for embedded devices, from initial requirements to commercial deployment. This includes developing, testing, and documenting system software, reviewing code and designs, analyzing efficiency and scalability, integrating new product designs, and optimizing I/O performance. You will also provide post-production and in-orbit support, collaborate with hardware engineers, and assess third-party software.
Minimum Qualifications: Candidates must hold a degree in Computer Science, Electrical Engineering, or Computer Engineering, with 9+ years of industry experience in software development. You should have hands-on experience with embedded hardware and API design for FPGA interfacing. Proficiency in programming languages such as C and real-time operating systems, along with familiarity with tools for software configuration management and defect tracking, is required. Strong knowledge of multi-threaded applications, IP protocols, and resource management is essential.
Preferred Experience: Knowledge of electronic schematics and data sheets, ARM processors, and microcontrollers is beneficial, as is experience developing software development kits (SDKs).
This vacancy is being advertised by Belcan.