Embedded Software Engineer
Listed on 2026-11-05
-
Software Development
Embedded Software Engineer, Embedded Systems/ Firmware/ IoT, Unix/Linux
Job Title:
Embedded Software Engineer
Job Category:
Engineering
Time Type:
Full time
Minimum Clearance Required to Start:
None
Employee Type:
Regular
Percentage of
Travel Required:
Up to 10%
Type of Travel:
Local
Anticipated Posting End: 12/31/2026
The Opportunity:CACI is seeking an Embedded Software Engineer to build software for our space-based RF communications platforms. You'll develop low-level, performance-critical code across embedded Linux and bare-metal targets. You'll partner with RF, FPGA, and systems teams from board bring-up through delivery. This role is ideal for an engineer who enjoys working close to the hardware and wants to take on more design ownership.
This position is on-site in Colorado Springs, CO.
- Implementation of embedded software to deliver robust, consistent performance while meeting design constraints;
Contribute to architecture and design decisions. - Build and extend embedded Linux service and kernel components.
- Support and improve bare-metal/C embedded applications.
- Support board bring-up and low-level driver development; integrate with FPGA logic and DSP blocks.
- Collaborate with RF and systems teams on radio architectures; contribute to interface control documents (ICDs) and system requirements.
- Design for reliability, resiliency, and safety in space environments.
- Engineer secure, robust firmware update mechanisms.
- Establish and/or contribute to continuous integration/continuous deployment (CI/CD) for embedded targets, and support static analysis and unit/integration testing.
- Participate in system design, hardware interface reviews and code reviews.
- Collaborate cross-functionally with program management and customers to refine requirements, build schedules, and deliver production-quality software for mission operations.
Required:
- Bachelor’s degree in Electrical Engineering or Computer Science (or related field), with 3+ years in embedded software.
- Proficiency in C/C++ for embedded targets.
- Strong systems fundamentals:
Linux, networking, memory management, concurrency, hardware abstraction. - Experience with Yocto or other embedded Linux. Comfortable with kernel module development.
- Understanding of common embedded protocols (GPIO, SPI, I2C, UART, RS-422).
- Practical lab skills, including the use of oscilloscopes, and logic analyzers.
- Comfortable understanding PCB designs and participating in schematic reviews.
- Ability to collaborate closely with RF, FPGA, systems, and test teams.
- Experience debugging mixed HW/SW issues.
- Ability to work on multiple efforts concurrently.
- Strong documentation habits.
- Master’s degree in Electrical Engineering or Computer Science
- Hands-on integration with FPGAs; familiarity with Xilinx/AMD tool chains.
- Strong experience with embedded Linux including boot loader, device tree, and kernel/driver development.
- Secure boot, TPM, and cryptographic techniques.
- Experience using high-speed data in embedded systems (PCIe, AXI, FPGA Serdes).
- Practical RF lab skills, including the use of spectrum analyzers, and RF test fixtures.
- Knowledge of software-defined radio (SDR) technologies.
- Exposure to satellite communications systems; familiarity with CCSDS and space-communications standards and constraints.
- Experience designing for reliability in radiation environments.
- Experience with the Rust language and Protobuf.
- Familiarity with agile development using Atlassian tools.
At CACI, we place character and innovation at the center of everything we do. As a valued team member, you’ll be part of a high-performing group dedicated to our customer’s missions and driven by a higher purpose – to ensure the safety of our nation.
An environment of trust.CACI values the unique contributions that every employee brings…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).