Embedded Software Engineer
Technology
mthree1 week agoUntil 25/12/2026
Full timeHybrid
Job description
Senior Embedded Software Engineer
Permanent | Kingston-upon-Thames | Embedded C++ | LinuxWe are seeking an experienced Senior Embedded Software Engineer to join a highly skilled engineering team developing advanced navigation, sensor and mission-critical technology solutions used in demanding operational environments.
This role offers the opportunity to work on sophisticated embedded systems, contributing to the design, development and maintenance of real-time software applications that interact directly with specialist hardware. You will collaborate with multidisciplinary engineering teams to deliver robust, high-performance solutions that support operational excellence and product innovation.
Responsibilities:
- Design, develop and maintain embedded software applications using modern C++.
- Develop software within Linux-based embedded environments.
- Design and implement real-time, multi-threaded applications.
- Work closely with Systems Engineers, Hardware Engineers and Test teams throughout the product lifecycle.
- Integrate software with complex hardware and networking systems.
- Troubleshoot and resolve software defects and performance issues.
- Participate in technical reviews, architecture discussions and code reviews.
- Support software verification, validation and testing activities.
- Produce and maintain technical documentation.
- Contribute to continuous improvement initiatives and engineering best practices.
- Strong commercial experience developing embedded software using C++.
- Experience working in Linux or Embedded Linux environments.
- Experience developing real-time and multi-threaded applications.
- Knowledge of TCP/IP and UDP networking protocols.
- Experience working with complex integrated systems.
- Strong problem-solving and debugging skills.
- Experience working throughout the full software development lifecycle.
- Ability to collaborate effectively within multidisciplinary engineering teams.
- Degree in Software Engineering, Computer Science, Electronic Engineering or an equivalent technical discipline, or equivalent commercial experience.
- Experience with C# development.
- Knowledge of OpenEmbedded, BitBake or Buildroot.
- Experience with scripting languages such as Python or Bash.
- Understanding of embedded networking, device drivers or low-level hardware interfaces.
- Experience using diagnostic and protocol analysis tools such as Wireshark.
- Previous experience within defence, marine, aerospace, telecommunications, transport, industrial automation or other highly regulated engineering environments.
- Exposure to radar, navigation, sensing or mission-critical systems.
Keywords
Embedded C++LinuxReal-time systemsMulti-threaded programmingTCP/IPUDPSoftware development lifecycleDebuggingEmbedded systemsHardware integrationTechnical documentationNetworking protocolsC#PythonBashWiresharkEmbedded Software EngineerC++Real-timeMulti-threaded
Interested in this role?