We are seeking an experienced Embedded Software Developer to join our engineering team. In this role, you will be responsible for developing and maintaining firmware that powers our hardware products, focusing on stability, efficiency, and scalability.
Key Responsibilities
- Design, code, and test embedded software for microcontrollers and real-time systems
- Collaborate with hardware engineers to bring up new boards and debug low-level issues
- Implement communication protocols such as SPI, I2C, UART, and CAN
- Optimize code for performance and memory usage in constrained environments
- Diagnose and resolve software and hardware integration challenges
Requirements
- Proven experience in embedded C/C++ development
- Familiarity with real-time operating systems and bare-metal programming
- Strong understanding of microcontroller architectures and peripheral interfaces
- Experience with debugging tools such as oscilloscopes, logic analyzers, and JTAG
- Degree in Computer Science, Electrical Engineering, or a related field, or equivalent practical experience
Knowledge of version control systems and embedded Linux is a plus. Candidates should demonstrate a methodical approach to problem-solving and a commitment to writing clean, maintainable code.
