Real-Time Embedded Software Engineer
Develop real-time embedded software for advanced hardware systems, collaborating with multidisciplinary engineering teams.
Responsibilities
- Develop embedded C software, interfaces, and applications for microcontrollers and processors
- Design, develop, and integrate drivers and board support packages
- Bring up hardware boards and develop and test drivers with hardware teams
- Implement, configure, test, and optimize UART, SPI, I2C, CAN, and Ethernet protocols
- Integrate sensors, memory devices, modules, and peripheral subsystems
- Develop for operating systems and bare-metal environments
- Collaborate with hardware and software development teams
Requirements
- B.Sc. in electrical engineering, electronics engineering, computer science, or software engineering
- At least 3 years of embedded systems development experience
- Strong C programming skills, including memory management, pointers, optimization, and advanced programming concepts
- Hands-on experience with microcontrollers and processors from different families
- Understanding of hardware architecture and ability to read schematics, block diagrams, and datasheets
- Experience using oscilloscopes, logic analyzers, and JTAG/SWD debuggers