Overview
Skills
Job Details
We are seeking an experienced Embedded Software Engineer to design, develop, and maintain embedded software solutions in Bloomington, IL. The ideal candidate will work closely with hardware, firmware, and systems teams to deliver high-quality embedded products in a hybrid work environment.
Responsibilities:
Design, develop, and debug embedded software/firmware
Develop software in C/C++ for embedded systems
Work with microcontrollers and embedded processors
Develop and integrate device drivers, BSPs, and low-level software
Collaborate with hardware teams for board bring-up and testing
Perform unit testing, debugging, and performance optimization
Support integration, validation, and production issues
Create and maintain technical documentation
Required Skills:
Strong experience in embedded software development
Proficiency in C and/or C++
Experience with RTOS (FreeRTOS, VxWorks, QNX, Embedded Linux, etc.)
Experience with microcontrollers (ARM, STM32, NXP, TI, etc.)
Strong debugging skills using JTAG, oscilloscopes, logic analyzers
Experience with Git or other version control systems
Preferred Qualifications:
Experience with Embedded Linux
Experience with communication protocols (I2C, SPI, UART, CAN, Ethernet)
Experience with bootloaders and BSP development
Knowledge of safety or regulated environments (ISO, IEC, etc.)
Experience in Agile development environments