Embedded Software Engineer
Role details
Job location
Tech stack
Job description
Design and develop robust software in C/C++ for embedded platforms Create and maintain technical documentation to support design decisions Ensure software operates reliably and meets functional specifications Shape the long-term direction of software architecture and capabilities Collaborate with cross-functional teams to develop innovative technology within real-world constraints Develop and maintain test suites, including unit and integration tests Implement and troubleshoot hardware interfaces and data protocols (e.g., CAN, UART, TCP/IP) Work closely with hardware and firmware engineers to align system-level behaviour Assist in scoping projects, breaking down requirements, and mentoring junior engineers
Requirements
Strong experience programming in C++ for embedded systems Experienced with testing practices and tools Familiarity with multiple embedded platforms and hardware interfaces A collaborative team player with an eye for clean, maintainable code Experience with Xilinx or similar FPGA platforms is a plus but not essential