Senior Embedded Software Engineer (Embedded Linux)
Location: Long Beach, California (On-site)
Employment type: Full time
Compensation: $155,000-$221,000, plus equity and benefits
Position overview
Our client is an engineering-led technology company developing advanced embedded systems for demanding, high-reliability environments.
They are seeking an experienced embedded Linux engineer to own the platform software for a new custom-compute subsystem. The role covers platform architecture, board-support packages, Linux build and distribution systems, bootloaders, kernel configuration, device drivers, platform security, hardware integration, networking and real-time performance.
This is a hands-on individual-contributor position with end-to-end technical ownership, from early requirements and architecture through hardware bring-up, verification, field support and continued improvement. You will work closely with embedded, electrical, power-electronics and test engineers throughout development and integration.
Responsibilities
- Own the embedded Linux subsystem from initial requirements and architecture through production-ready implementation and ongoing support.
- Define platform architecture and develop board-support packages for custom embedded compute hardware.
- Develop and maintain embedded Linux build, configuration and distribution systems.
- Configure bootloaders, complete system bring-up and implement low-level platform configuration.
- Configure the Linux kernel and develop device drivers for custom hardware, peripherals and I/O.
- Implement secure-boot and platform-security mechanisms appropriate to a high-reliability embedded product.
- Integrate storage, high-speed interfaces and other hardware peripherals with the wider software platform.
- Develop embedded networking and time-synchronisation functionality.
- Apply real-time Linux techniques including scheduler configuration, CPU isolation, latency analysis and performance tuning.
- Diagnose complex problems involving concurrency, timing, memory, I/O, networking and hardware/software interaction.
- Read schematics and component documentation, review hardware interfaces and support new-board bring-up.
- Use oscilloscopes, logic analysers, in-circuit debuggers and related laboratory tools to identify root causes.
- Develop unit, integration, software-in-the-loop and hardware-in-the-loop tests in collaboration with test engineering.
- Improve build automation, continuous integration, static analysis, profiling and automated testing.
- Support field testing, production testing, failure investigation and corrective improvements throughout the product lifecycle.
- Produce concise engineering documentation, contribute to technical reviews and mentor other engineers while remaining hands-on.
Required qualifications
- Approximately five or more years of relevant embedded-software experience is preferred; demonstrated technical depth and delivery experience are more important than a specific tenure.
- Deep practical expertise in embedded Linux development for real hardware systems.
- Strong proficiency in at least one low-level systems-programming language, such as C or C++.
- Experience with embedded Linux platform architecture, board-support packages, build systems and system bring-up.
- Practical kernel-configuration and Linux device-driver development experience.
- Experience designing deterministic or real-time software under latency, jitter, memory and performance constraints.
- Experience bringing up new boards, reading schematics and debugging integrated hardware/software systems.
- Strong understanding of concurrency, synchronisation, scheduling, interrupts, DMA, memory allocation and low-level peripheral control.
- Experience with common embedded communication protocols, networking and hardware-bus architectures.
- Strong laboratory-debugging skills using oscilloscopes, logic analysers, in-circuit debuggers and related equipment.
- Experience writing maintainable production code, conducting code reviews, developing automated tests, using static analysis and profiling performance.
- Ability to work independently with incomplete information while collaborating closely across engineering disciplines.
- Willingness to support field testing when required.
- US. citizenship and eligibility to obtain and maintain a U.S. security clearance.
Desirable experience
- Safety-critical, mission-critical or other high-reliability embedded products
- Taking a greenfield embedded platform through design, bring-up, verification and operational deployment
- Embedded Linux build and distribution systems
- Secure boot and embedded platform-security mechanisms
- Real-time Linux, scheduler tuning, CPU isolation and latency analysis
- High-speed storage, wired or wireless interface integration
- Experience across multiple embedded-compute platforms
- HOOTL, SIL, HIL or HITL test environments
- Robotics, aerospace, automotive, industrial-control, medical, energy or similarly integrated electromechanical systems
Keywords: Senior Embedded Software Engineer, Embedded Linux, C, C++, Board Support Package, BSP, Bootloader, Linux Kernel, Device Drivers, Secure Boot, Real-Time Linux, Networking, Time Synchronisation, Hardware Bring-Up, CI/CD and High-Reliability Systems