Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+25 more
Job description
- Design, develop, test, and maintain embedded firmware for microcontroller-based systems.
- Implement software solutions using both bare-metal and RTOS-based architectures.
- Develop device drivers and interfaces for peripherals such as SPI, I2C, UART, CAN, USB, ADC, PWM, and GPIO.
- Participate in firmware architecture, code reviews, and technical design discussions.
- Debug software and hardware integration issues using oscilloscopes, logic analyzers, JTAG/SWD debuggers, and other development tools.
- Develop Python scripts and tools for test automation, manufacturing support, data analysis, and development workflows.
- Create and maintain technical documentation, including software design specifications, test plans, and user documentation.
- Collaborate with hardware, systems, and test engineers to ensure successful product integration and validation.
- Support verification, validation, and troubleshooting activities during development and production.
Requirements
We are seeking a motivated Embedded Software Engineer with 1-5 years of professional experience developing firmware for embedded systems. The ideal candidate has hands-on experience with bare-metal programming, RTOS-based applications, and Python scripting for development, testing, and automation. This role involves designing, implementing, debugging, and validating embedded software for microcontroller-based products throughout the product lifecycle., * Bachelor’s degree in Electrical Engineering, Software Engineering, Computer Science, or a related technical discipline.
- 1-5 years of professional experience developing embedded software or firmware.
- Proficiency in C programming for embedded systems.
- Experience with Real-Time Operating Systems (RTOS) such as FreeRTOS, Zephyr, or similar. (or familiar with operating system concepts such as critical section, and schedulers)
- Experience developing bare-metal firmware for microcontroller-based systems.
- Familiarity with Python for scripting, automation, testing, or data analysis.
- Understanding of embedded system fundamentals, including:
- Interrupts and exception handling
- Timers and scheduling
- Memory management
- Communication interfaces and protocols
- Experience using version control systems such as Git, GitHub or GitLab.
- Strong analytical, debugging, and problem-solving skills., * Experience with ST microcontrollers.
- Familiarity with Linux environments (debian-based preferred).
- Knowledge of communication protocols such as CAN, Ethernet, BLE, or MQTT.
- Experience developing automated test systems or hardware-in-the-loop (HIL) test environments.
- Familiarity with bootloaders, firmware update mechanisms, and secure embedded development practices.
Technical Skills Programming Languages
- C (required)
- C++ (preferred)
- Python (required)
Embedded Platforms
- ST or similar microcontroller architectures
- Nordic communications modules
- MCU-based embedded systems
Operating Systems
- FreeRTOS
- Zephyr
- Similar RTOS platforms
Tools
- Git
- JTAG/SWD Debuggers
- Oscilloscopes (preferred)
- Logic Analyzers (preferred)
Communication Protocols
- UART
- SPI
- I2C
- CAN
- USB
Desired Attributes
- Strong attention to detail and commitment to software quality.
- Ability to work independently while collaborating effectively across multidisciplinary teams.
- Eagerness to learn new technologies and expand technical expertise.
- Excellent written and verbal communication skills.
- Self-motivated with a proactive approach to problem solving.
Benefits & conditions
Pulled from the full job description
- Health insurance
- Retirement plan
- Paid time off
- Vision insurance
- Dental insurance
- Paid holidays, Salary: DOQ, * Health, dental, and vision insurance
- Paid time off and company holidays
- Retirement savings plan
- Professional development opportunities
- Flexible work arrangements (where applicable)
Pay: $90,000.00 - $120,000.00 per year
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on www.indeed.comGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Where To Find Software Engineering Jobs
What is Software Engineering?
Fully Remote Software Engineer Jobs
Is Software Engineering Hard?