Embedded Software Engineer
Apply NowCompany: Oxenham Group
Location: Raleigh, NC 27610
Description:
Embedded Software Engineer
We are looking for a talented Embedded Software Engineer to join our team in developing high-performance embedded systems. The ideal candidate will be comfortable working in a modern C++ environment and demonstrate a deep understanding of concurrency, thread safety, and low-level debugging techniques. You'll work across the software stack, from board support through application logic, in a Linux-based embedded environment.
Responsibilities:
Qualifications:
Nice to Have:
We are looking for a talented Embedded Software Engineer to join our team in developing high-performance embedded systems. The ideal candidate will be comfortable working in a modern C++ environment and demonstrate a deep understanding of concurrency, thread safety, and low-level debugging techniques. You'll work across the software stack, from board support through application logic, in a Linux-based embedded environment.
Responsibilities:
- Design, develop, and maintain embedded software using modern C++ (C++11/14/17/20).
- Implement multi-threaded and concurrent software features with attention to thread safety and system integrity.
- Write and maintain unit tests to ensure software correctness and stability.
- Debug and troubleshoot embedded systems at both hardware and software levels.
- Work with embedded Linux environments, leveraging Yocto for system configuration and build processes.
- Collaborate using Git for version control and participate in code reviews and continuous integration workflows.
- Contribute to the development of system documentation, diagnostics, and validation tools.
Qualifications:
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
- 3+ years of experience developing embedded software in modern C++.
- Solid understanding of concurrency, synchronization, and thread-safe programming.
- Experience with embedded debugging tools (e.g., JTAG, gdb, oscilloscope-based debugging).
- Strong familiarity with embedded Linux development environments and Yocto Project.
- Proficiency with Git and modern development workflows.
- Experience with unit testing frameworks and automated testing strategies.
Nice to Have:
- Experience with real-time systems or safety-critical applications.
- Familiarity with hardware bring-up and peripheral driver development.
- Contributions to open source embedded or Linux projects.