Senior Embedded Software Engineer
Role details
Job location
Tech stack
Job description
This is a hands on, end to end engineering position where you will define the architecture, build the tooling, and shape the test strategy that underpins both product validation and production testing. You ll work closely with hardware, firmware, and systems teams to create a scalable, robust ATE platform that interacts seamlessly with instrumentation, embedded systems, and manufacturing processes., Architect, design, and implement a new ATE system, covering software, tooling, and test workflows.
- Develop low level software in C/C++ to communicate with hardware, instrumentation, and embedded interfaces.
- Build automated test software and tooling using Python.
- Create test frameworks, scripts, and infrastructure for validation and production environments.
- Integrate with hardware interfaces (UART, SPI, I2C, Ethernet, GPIO, etc.) and measurement equipment.
- Configure and optimise Linux based systems within the ATE environment.
- Investigate test failures, analyse logs, and support root cause analysis across hardware and software boundaries.
- Produce documentation, test procedures, and contribute to continuous improvement of test processes.
Requirements
A client of ours is seeking a Senior Embedded Software Engineer with strong low level programming experience to take full ownership of designing and delivering a brand new Automated Test Equipment (ATE) system. This role centres on developing software that directly interfaces with the hardware inside test equipment, enabling the automated testing of electronic products and diagnosing hardware faults., Strong hands on experience with low level programming in C/C++ for hardware interaction.
- Solid experience with Python for automation and tooling; C# beneficial.
- Proven background designing or supporting ATE systems, hardware software test platforms, or embedded test environments.
- Confident working in Linux environments.
- Understanding of hardware communication protocols such as UART, SPI, I2C, Ethernet, or similar.
- Ability to debug issues spanning software, hardware, and system integration.
- Comfortable taking ownership of a new system from concept through to delivery.