Lead Embedded Linux Engineer - Falls Church, United States - Bernard Nickels & Associates

    Default job background
    Description

    As a Lead Embedded Linux Engineer, you will own the design and development of a custom Linux distribution built with Yocto. You will work with a number of internal stakeholders to: derive requirements, plan and execute the development of the distribution, test the distribution on prototypes in a lab environment, deploy over-the-air updates, and eventually grow a team dedicated to this work.

    Core Responsibilities:

    • Leading the development of client's custom Linux distribution
    • Creating Board Support Packages for existing and new hardware
    • Creating and maintaining layers and recipes
    • Supporting multiple CPU architectures (ARM, x86, etc.)
    • Porting the distribution to new platforms
    • Creating tooling to support satellite and telecommunications software engineers
    • Designing and implementing mechanisms to support OTA updates on production satellites
    • Be the Linux expert (kernel, CPU-architecture, general device-drivers, etc.) on the engineering team
    • Working in a small, agile team to manage the software development lifecycle (requirements definition, design, implementation, test, and verification)

    Required Qualifications:

    • A Bachelor's degree (or higher) in Software, Electrical, Aerospace, or in a related engineering field
    • 7+ years of experience building and shipping embedded Linux distributions
    • Expert knowledge of C/C++, Git, and Yocto/OpenEmbedded
    • Expert knowledge of embedded Linux configuration, development, board support packages, bootloaders, kernel, and drivers
    • Experience with root cause analysis, and advanced troubleshooting at the kernel-level
    • Experience working with common protocols such as RS-232, SPI, I2C, and CAN
    • Experience with hardware-in-the-loop integration and testing
    • Demonstrated experience with all phases of the software development life cycle
    • Great communication skills and experience working with cross-disciplinary teams

    Ways to stand out:

    • Experience with PREEMPT_RT
    • Experience developing and testing software for SmallSats / CubeSats
    • Experience using CI/CD to produce release artifacts
    • Experience with Docker
    • Experience creating container images from Yocto artifacts