Overview
Are you an experienced software developer who loves building practical solutions on embedded hardware? Join our National Security & Defence team, where you'll design and deliver mission-critical software using platforms like ESP32, Raspberry Pi, and ARM-based microcontrollers (e.g., Zero, Pico). You'll work with Python and C++ to solve operational problems directly alongside our customers, typically on-site 4 days per week. This is a hands-on role for engineers who enjoy low-level work, problem-solving, and creating robust tools in challenging environments.
Responsibilities
- Develop bespoke software solutions on embedded platforms (ESP32, Raspberry Pi, ARM).
- Write and maintain code in Python and/or C++, often interfacing directly with hardware.
- Work with communication protocols to control and integrate peripheral devices.
- Perform testing and debugging, both in the lab and at customer sites.
- Collaborate with cross-functional teams to refine requirements and implement features.
- Occasionally support system integration and deployment of hardware/software stacks.
- Engage with users to understand operational needs and adapt your solutions accordingly.
- Contribute to technical documentation and version control (Git).
- Support team knowledge sharing and mentor less-experienced developers when appropriate.
Qualifications
- Experience in hands-on software development.
- Strong proficiency in C++ and/or Python.
- Experience coding for embedded systems (e.g., ESP32, ARM Cortex-based boards).
- Familiarity with low-level hardware interfacing, including serial comms, GPIO, USB, or SPI/I2C.
- Comfort working in Linux development environments.
- Strong problem-solving skills and attention to detail.
- Ability to adapt quickly to new hardware, tools, and use cases.
- Familiarity with unit testing, debugging tools, and Git-based workflows.
- Desirable: experience with security-focused projects (e.g., Government, MoD).
- Desirable: exposure to cryptography and secure audio/data transport.
- Desirable: knowledge of Bluetooth, Ultra-Wideband, or other wireless protocols.
- Desirable: familiarity with USB device drivers or USB communication.
- Desirable: use of RTOS or bare-metal development environments.
- Degree in Computer Science, Electrical Engineering, or related field preferred.
- Professional membership of BCS or IET is a plus.
Benefits
- Competitive Salary & Financial Rewards: Pension, share options, car leasing, free parking, cycle scheme.
- Private Medical Insurance
- 33 Days Annual Leave (incl. public holidays), with buy/sell options.
- Flexible Benefits: Life assurance, gym memberships, health plans.
- Work-Life Balance: 37.5-hour week + up to 2 TOIL days per month.
- Learning & Development: TechX Academy, unlimited e-learning, career mobility.