Senior Embedded Software Engineer
Develop embedded firmware and real-time applications for microcontrollers and microprocessors, with a focus on reliable, resource-constrained systems.
Responsibilities
- Design, implement, and debug embedded software and firmware in C/C++.
- Architect and develop FreeRTOS-based, multithreaded applications, including scheduling, inter-process communication, queues, and semaphores.
- Lead board bring-up and develop low-level drivers for peripherals and communication interfaces.
- Help define communication protocols between embedded edge devices and cloud/SaaS systems.
- Optimize software for memory- and power-constrained environments while maintaining high reliability.
Requirements
- B.Sc. in computer science, software engineering, or electrical engineering.
- At least 5 years of embedded software or firmware development experience.
- Expert C and C++ skills for embedded systems.
- Commercial product experience with FreeRTOS or a comparable RTOS.
- Experience with low-level protocols such as UART, SPI, I2C, CAN, USB, or Ethernet.
- Hands-on embedded hardware debugging using JTAG, oscilloscopes, logic analyzers, and GDB.
- Ability to obtain and maintain a high-level defense security clearance.