Overview
On Site
Depends on Experience
Contract - W2
Contract - 6 Month(s)
Skills
Linux Kernel
C
C++
Yacto
firmeware
embedded software
Job Details
Software Engineer (C/C++) Embedded Systems
We are seeking a Software Engineer to contribute to the design and development of advanced embedded imaging systems integrating infrared, low-light, and visible spectrum technologies. The ideal candidate thrives in a fast-paced, collaborative environment and is capable of managing complex software challenges from concept through deployment.
Key Responsibilities:
- Design, implement, and test embedded software solutions in multi-core, real-time RTOS and Linux environments.
- Build, maintain, and optimize custom Linux distributions using the Yocto build framework.
- Partner closely with hardware engineers (FPGA, electrical, mechanical) to ensure seamless system integration and performance.
- Develop and troubleshoot kernel-space and user-space components, including system initialization, inter-process communication, and hardware interfaces.
- Contribute to custom board bring-up activities and perform device tree creation and updates.
- Integrate USB peripherals, UDEV, and UEFI-based bootloaders for Linux platforms.
- Utilize Git and modular repository structures for source management and version control.
Required Qualifications:
- Bachelor s degree in Computer Science, Electrical Engineering, or related field.
- 5+ years of hands-on experience developing embedded software for complex systems.
- Strong proficiency in C and C++, with a solid understanding of object-oriented programming principles.
- Proven experience working with Yocto, including both development and system configuration.
- Familiarity with systemd, D-Bus, and Linux kernel internals.
- Background in Qualcomm and/or i.MX8-based platforms.
- Working knowledge of UEFI, custom hardware integration, and low-level firmware development.
- Excellent collaboration and communication abilities, with a track record of cross-functional teamwork.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.