Embedded Software Engineer II
CesiumAstro is seeking an experienced Embedded Software Engineer II with a strong background in embedded Linux development and the Yocto build system. This role is ideal for engineers with hands-on experience in embedded systems, including device drivers, kernel customization, bootloaders, and board bring-up, with a preference for experience with the Xilinx platform (experience with other platforms is also valued).
As a member of our software team, you will contribute to the full software development lifecycle, from product concept through production, participating in architecture design, implementation, testing, qualification, and in-orbit support. This role involves working closely with hardware, systems, and FPGA engineers, and provides opportunities for technical leadership and cross-disciplinary collaboration.
This position will support Skylark, an advanced active phased array antenna system to unlock satellite communications that has traditionally relied on mechanically steered systems. It is designed for compatibility with a wide range of current and next-generation satellite constellations and can be scaled to meet mission-specific performance requirements. Additionally, Skylark offers several unique differentiators including its multi-beam capability which unlocks simultaneous communications with satellites in different orbits.
Job Duties And Responsibilities
- Develop and port embedded Linux applications, device drivers, and libraries.
- Configure, customize, and integrate the Linux kernel and embedded bootloaders (e.g., U-Boot).
- Maintain and evolve the Yocto-based Linux build system within a CI/CD pipeline.
- Package and deploy software images for diverse embedded hardware platforms.
- Create tailored Linux distributions for specific embedded applications.
- Collaborate across disciplines (firmware, hardware, systems) to ensure seamless system integration and performance.
- Participate in design reviews and contribute to customer-facing technical documentation and proposals.
Job Requirements And Minimum Qualifications
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, Computer Engineering, or related field.
- 2+ years of professional experience in embedded software development.
- Proficiency in C or C++ for embedded systems.
- Experience developing and debugging software on embedded hardware (e.g., power systems, motors, sensors).
- Understanding of multi-threaded programming and resource-constrained environments.
- Familiarity with version control, issue tracking, and peer review workflows.
- Strong verbal and written communication skills.
Preferred Experience
- Practical experience with Embedded Linux and the Yocto Project.
- Experience with Xilinx SoCs or other microcontroller-based systems.
- Proficiency with bootloaders, kernel development, and system bring-up.
- Familiarity with CI/CD tools and practices in embedded environments.
- Ability to manage multiple priorities and work independently in a fast-paced environment.