Job Title: Embedded Linux 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: Continental US
* * *
The Opportunity:
In this position, you will be an Embedded Linux Software Developer supporting the current IRD embedded retransmission device and its next‑generation replacement platform.
The current IRD solution is a customized OpenWrt‑based embedded Linux device that provides networking and retransmission capabilities. It includes firmware image integration, custom OpenWrt packages and feeds, networking and security services, device configuration, and an administrative user interface. The next‑generation effort is migrating the solution to new embedded hardware while evolving the platform toward a Linux‑based solution.
This is an individual‑contributor role. You will primarily execute assigned development, integration, sustainment, and defect‑resolution work while collaborating with senior engineers and cross‑functional teammates on technical direction, platform architecture, hardware integration, cybersecurity, and release planning.
Responsibilities:
- Be part of an awesome team working with cutting‑edge embedded Linux, networking, and device‑management technologies.
- Contribute directly to the development, sustainment, and modernization of a mission‑critical embedded retransmission device that is a cornerstone of our product portfolio.
- Work across the embedded software lifecycle from Linux image creation and platform integration through networking services, device configuration, web‑based administration, testing, and release support.
- Collaborate with software, hardware, cybersecurity, test, systems engineering, and product teams to deliver secure, reliable, and maintainable capabilities.
- Help migrate an existing OpenWrt‑based device solution to next‑generation embedded hardware and an Alma Linux‑based architecture.
- Design, develop, integrate, test, debug, and maintain Linux‑based software for embedded networking and retransmission devices.
- Sustain and enhance the current OpenWrt‑based IRD firmware solution, including image configuration, custom package feeds, services, first‑boot behavior, device configuration, and firmware build integration.
- Develop and maintain software in Python, Bash or shell scripting, C or C++, and other languages as needed for embedded applications, automation, tooling, and platform integration.
- Execute development tickets supporting migration of existing IRD capabilities to next‑generation ARM‑based hardware.
- Assist with bootloader, kernel, board‑support, cross‑compilation, device configuration, and embedded Linux image‑development activities under established technical direction.
- Develop and maintain Buildroot‑ and Linux‑based image creation, packaging, provisioning, release, update, and deployment workflows.
- Contribute to the evolution of a Linux or RHEL‑based management architecture.
- Develop and maintain REST APIs and device‑management user‑interface capabilities used to configure networking and device behavior.
- Implement, maintain, and troubleshoot networking capabilities, including interface configuration, routing, DNS, Wi‑Fi, cellular or modem integration, and secure communications.
- Create and maintain unit, integration, system, simulation, and hardware‑connected test capabilities.
- Participate in GitLab merge‑request reviews, CI or CD pipeline maintenance, build validation, release engineering, and reproducible‑build practices.
- Support secure software development activities, including vulnerability remediation, certificate handling, authentication and authorization, software‑update integrity, dependency management, and CVE analysis.
- Create and maintain design, build, API, test, and operational documentation.
- Collaborate with hardware engineers, systems engineers, cybersecurity personnel, quality assurance, and product management to implement and validate product requirements.To be successful in this position, you will enjoy solving moderately to highly complex problems that cross embedded Linux, networking, device configuration, platform integration, testing, and security domains.
- Daily work may include OpenWrt, Alma Linux, ARM‑based devices, API or UI development, image builds, CI or CD, hardware‑connected testing, and secure software sustainment.
Qualifications:
Required:
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline.
- Five or more years of relevant professional software‑development experience.
- At least five years of experience developing, integrating, testing, or sustaining software for Linux‑based systems, including embedded Linux, Linux platform software, networking appliances, device‑management software, or comparable systems.
- Experience developing software using Python, Bash or shell scripting, and C or C++.
- Experience working with Linux system configuration, debugging, networking, package management, and software deployment.
- Experience developing, integrating, and debugging software for ARM‑ and/or Intel or x86‑based devices.
- Experience with embedded Linux build systems or distributions such as OpenWrt, Buildroot, Yocto, Embedded Linux, or equivalent technologies.
- Experience with cross‑compilation, embedded Linux image creation, software packaging, and deployment to embedded targets.
- Experience with Linux networking, including network‑interface configuration, routing, DNS, DHCP, firewalling, Wi‑Fi, and troubleshooting.
- Experience developing and debugging REST APIs, device‑management applications, or web‑based configuration interfaces.
- Experience with Git and GitLab‑based development practices, including merge requests, code review, and branching strategies.
- At least two years of experience building, maintaining, or troubleshooting automated CI or CD pipelines.
- Experience creating unit, integration, system, or hardware‑in‑the‑loop tests for software deployed to Linux‑based systems or embedded devices.
- Strong written and verbal communication skills, including the ability to create and maintain technical documentation.
- Ability to work effectively in a remote, cross‑functional development environment.
Desired:
- Experience with NXP i.MX8, ARM64 or AArch64, U‑Boot, Linux kernel configuration, device trees, boot flows, or board‑support packages.
- Experience porting an embedded Linux solution to a new hardware platform or Linux distribution.
- Experience with OpenWrt buildroots, feeds, package Makefiles, and custom OpenWrt package development.
- Experience with Alma Linux, RHEL, RPM or DNF, Kickstart, OSTree, SELinux, or RHEL Cockpit.
- Experience developing Python or Flask applications, OpenAPI or Swagger‑documented APIs, or embedded device‑management UIs.
- Experience with embedded networking products, retransmission devices, routers, cellular or modem integration, Wi‑Fi, 802.1X, routing, or secure network configuration.
- Experience with device provisioning, firmware or image installation, update mechanisms, or field‑device sustainment.
- Experience with secure software‑development practices, certificate or PKI integration, vulnerability scanning, SBOMs, CVE remediation, or tools such as Trivy.
- Experience with containerized builds, simulated device environments, or hardware‑in‑the‑loop testing.
- Experience supporting DoD, mission, tactical‑edge, disconnected, or regulated embedded‑device
-
What You Can Expect:
A culture of integrity.
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 to our company and our customers - every day. You’ll have the autonomy to take the time you need through a unique flexible time off benefit and have access to robust learning resources to make your ambitions a reality.
A focus on continuous growth.
Together, we will advance our nation's most critical missions, build on our lengthy track record of business success, and find opportunities to break new ground — in your career and in our legacy.
Pay Range:
There are a host of factors that can influence final salary including, but not limited to, geographic location, Federal Government contract labor categories and contract wage rates, relevant prior work experience, specific skills and competencies, education, and certifications. Our employees value the flexibility at CACI that allows them to balance quality work and their personal lives. We offer competitive compensation, benefits and learning and development opportunities. Our broad and competitive mix of benefits options is designed to support and protect employees and their families. At CACI, you will receive comprehensive benefits such as; healthcare, wellness, financial, retirement, family support, continuing education, and time off benefits.
Since this position can be worked in more than one location, the range shown is the national average for the position.
The proposed salary range for this position is:
$82,100-$172,400
CACI is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, pregnancy, sexual orientation, age, national origin, disability, status as a protected veteran, or any other protected characteristic.