Software Engineer II
Listed on 2026-05-26
-
Software Development
Embedded Software Engineer, Software Engineer, DevOps, C++ Developer
Software Engineer II Own the embedded Linux porting and bring-up across target hardware platforms
Location:
Westminster, Colorado, United States
Compensation: $102, USD / year
Job Tags:
Software
The Role Embedded Software Engineer II
At Cesium Astro, we are developers and pioneers of out-of-the-box communication systems for satellites, UAVs, launch vehicles, and other space and airborne platforms. We take pride in our dynamic and cross-functional work environment, which allows us to learn, develop, and engage across our organization. If you are looking for hands‑on, interactive, and autonomous work, Cesium Astro is the place for you.
We are actively seeking passionate, collaborative, energetic, and forward‑thinking individuals to join our team.
The Embedded Software Engineer II supports the development of embedded software for aerospace communications and defense systems. This role applies established engineering principles and development processes to design, implement, and integrate software for embedded Linux platforms. Working under the guidance of senior engineers or engineering management, the engineer contributes to the software development lifecycle including implementation, integration, testing, and qualification. Responsibilities include developing embedded Linux applications, device drivers, and supporting libraries, as well as assisting with kernel customization, bootloaders, and board bring‑up.
The role collaborates with cross‑functional engineering teams to support system performance, integration, and delivery of reliable embedded software solutions.
- Develop and port embedded Linux applications, device drivers, and software libraries for embedded computing platforms.
- Configure, customize, and integrate Linux kernels and embedded bootloaders such as U‑Boot.
- Assist with board bring‑up and software enablement activities for new embedded hardware platforms.
- Develop and maintain tailored Linux distributions for specific embedded applications.
- Implement software features and modifications that meet system performance and functional requirements.
- Support software design implementation, debugging, and testing activities throughout the development lifecycle.
- Contribute to reusable software components and maintainable software architecture within defined system frameworks.
- Analyze and resolve moderately complex technical issues related to embedded software, operating systems, or hardware/software integration.
- Collaborate with hardware, firmware, FPGA, and systems engineering teams to support system integration and performance.
- Support debugging and troubleshooting activities during development, integration, and qualification phases.
- Evaluate system logs, test outputs, and diagnostic data to identify root causes of technical issues.
- Support verification and validation activities to ensure software meets system requirements and engineering standards.
- Document technical findings, software updates, and engineering decisions according to program documentation standards.
- Maintain and enhance the Yocto‑based Linux build system used for embedded software development.
- Support CI/CD pipelines used for automated software builds and releases.
- Package and deploy software images across multiple embedded hardware platforms.
- Participate in design reviews and engineering discussions supporting program objectives.
- Contribute to software configuration management and version control practices.
- Assist in preparation of engineering documentation such as software design descriptions, test procedures, and technical reports.
- Provide technical input for internal engineering reviews and program milestones.
Minimum Qualifications
- Bachelor's degree in Software Engineering, Computer Engineering, or relevant field.
- 2–5 years of relevant software engineering experience.
- Knowledge of embedded Linux systems and software development practices.
- Experience developing device drivers, embedded applications, or low‑level system software.
- Familiarity with Linux kernel configuration and customization.
- Understanding of boot loader functionality and system initialization processes.
- Experience using Yocto…
(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).