Apetan Consulting LLC is seeking an Embedded Software Engineer to design, develop, test, and maintain software for embedded systems. The ideal candidate will collaborate with hardware and firmware teams to deliver reliable, high-performance solutions.
Responsibilities:
- Design, develop, and maintain embedded software for microcontroller- and processor-based systems
- Write efficient, reliable, and maintainable code in C/C++
- Develop device drivers, communication protocols, and hardware interfaces
- Debug software and hardware integration issues using standard debugging tools
- Collaborate with hardware, firmware, and system engineering teams
- Perform unit testing, integration testing, and system validation
- Optimize software for performance, memory usage, and power consumption
- Prepare and maintain technical documentation
Requirements:
- Strong programming skills in C and C++
- Experience with embedded systems and real-time operating systems (RTOS)
- Knowledge of microcontrollers, embedded processors, and hardware interfaces
- Experience with communication protocols such as UART, SPI, I2C, CAN, or Ethernet
- Familiarity with debugging tools, oscilloscopes, logic analyzers, and JTAG
- Experience with version control systems such as Git
- Strong analytical and problem-solving skills
- Experience with Embedded Linux or Linux device drivers
- Familiarity with ARM-based processors and embedded development environments
- Knowledge of bootloaders, BSP development, and firmware updates
- Understanding of software development lifecycle and Agile methodologies
- Experience with scripting languages such as Python for automation and testing