Embedded Software Engineer (C++ / Linux / BSP)
Job Description
Embedded Software Engineer (C++ / Linux / BSP)
Location: Fargo, ND or Des Moines, IA
Client: John Deer
Position Summary
We are seeking an Embedded Software Engineer with strong experience in C++, Linux, and Board Support Package (BSP) development. The ideal candidate will be responsible for developing, integrating, and validating embedded software on target hardware platforms. This role requires hands-on experience bringing up hardware, debugging low-level software, and validating system functionality in a lab environment.
Key Responsibilities
- Design, develop, and maintain embedded software using C++.
- Develop, customize, and support Linux BSPs for embedded platforms.
- Perform board bring-up, hardware/software integration, and platform validation.
- Test and validate software functionality directly on target hardware.
- Debug system-level issues involving software, drivers, kernel components, and hardware interfaces.
- Develop automated and manual test procedures for embedded systems.
- Work closely with hardware, firmware, and systems engineering teams.
- Analyze system logs, traces, and performance metrics to identify and resolve issues.
- Support product releases and ongoing maintenance activities.
Required Qualifications
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 3+ years of experience in embedded software development.
- Strong programming skills in C++.
- Experience with Linux-based embedded systems.
- Hands-on BSP development and customization experience.
- Experience testing and validating software on physical hardware platforms.
- Knowledge of device drivers, kernel debugging, and system integration.
- Familiarity with debugging tools such as GDB, JTAG, logic analyzers, or oscilloscopes.
- Experience with version control systems such as Git.
- Strong problem-solving and troubleshooting skills.
Preferred Qualifications
- Experience with Yocto, Buildroot, or similar embedded Linux build systems.
- Knowledge of ARM-based processors and SoC architectures.
- Experience with bootloaders such as U-Boot.
- Familiarity with CI/CD pipelines and automated testing frameworks.
- Experience with communication protocols such as SPI, I2C, UART, CAN, Ethernet, or USB.
- Exposure to RTOS environments is a plus.
Desired Skills
- Embedded Linux
- C++
- BSP Development
- Hardware/Software Integration
- Device Driver Development
- Board Bring-Up
- Debugging & Troubleshooting
- Git
- Automated Testing
- System Validation
This listing was syndicated from Adzuna. We strive to keep information accurate, but do not assume responsibility for the content of this posting.
- Use the Apply button above to contact the employer directly
- Verify the employer and position details before applying
- Review our Terms of Service for listing policies