Embedded Linux Software Team Lead
Firestorm · San Diego, CA · 4 days ago
On-siteInformation Technology$140k–$180k/yrFull-time
About the role
Firestorm is seeking an Embedded Linux Software Team Lead to join our team. You’ll report to the Flight Systems Software Lead, and work closely with the autonomy, avionics, and applications software teams to build robust, secure applications that power real defense missions. You will also interface with mechanical and electrical engineering teams in the product design phase to ensure software compatibility.
Responsibilities
- Team management, facilitating standup meetings, scrummaster, task prioritization and scheduling
- Architecture and design review
- Work across engineering disciplines to ensure software compatibility and capability with product design and requirements
- Design and implement Linux core daemons in modern C++
- Define clean, versioned REST APIs (SemVer, deprecation strategy) and deliver software application packages, installers, and artifacts across Linux, Windows, and Android (e.g., deb/AppImage, MSI/MSIX, AAR/APK add-ons)
- Own the developer experience: samples, quickstarts, idiomatic wrappers, error models, logging/telemetry hooks, and clear documentation that make integration fast and intuitive
- Engineer for real-time and mission-critical use: deterministic behavior, back-pressure, zero-copy paths, bounded latencies, and graceful degradation on CPU/GPU-constrained hardware
- Harden security by default: memory-safe patterns, least-privilege design, secure transport (OpenSSL/libsodium), key/material handling, and supply-chain integrity for third-party deps
- Build reliability into CI/CD: cross-platform builds (CMake, Conan/vcpkg), automated unit/integration tests (Catch2/GoogleTest, pytest, JUnit, NUnit), fuzzing, sanitizers, codegen validation
- Collaborate across teams and with partners to gather requirements, refine APIs, and support field integrations; contribute to platform-wide architecture and roadmap discussions
- Contribute to operability: diagnostics, tracing, metrics, compatibility matrices, and upgrade playbooks for customers in the field
Requirements
- U.S. Citizenship and the ability to obtain and maintain a U.S. Government security clearance
- Bachelor’s in Computer Science, Computer Engineering, or related field
- 5+ years of experience in embedded systems and Linux development in modern C/C++
- 2+ years of experience leading a team with people management
- Proven experience creating and maintaining Linux daemons with systemd integration
- Strong integration background with real-time or mission-critical systems (5+ years) including async/event-driven networking (TCP/UDP, REST, WebSockets, DDS/gRPC/ZeroMQ)
- Familiarity with industry/defense protocols and standards (e.g., RAS-A, MAVLink, STANAG 4586, OMS/UCI, Link 16) and data serialization (Protobuf/FlatBuffers)
- Expertise in secure coding and dependency hygiene (OpenSSL, libsodium, memory safety, fuzzing, sanitizers)
- Cross-platform build and packaging: CMake, Conan/vcpkg; Linux (deb/rpm/AppImage, systemd), Windows (MSVC/MinGW, windeploy/MSI/MSIX), Android (Gradle/JNI/APK signing)
- Excellent problem-solving and communication skills; comfortable driving features end-to-end (requirements → design → implementation → testing → release)
Qualifications
- Experience troubleshooting hardware bringup and the use of oscilloscopes, logic analyzers, etc.
- Experience with the Linux kernel and drivers, building, and deployment thereof
- Experience with ROS 2 (rclcpp/DDS), gRPC, ZeroMQ, and protocol gateways/bridges
- Knowledge of telemetry pipelines and observability for SDKs (structured logs, metrics, distributed tracing)
- Experience in embedded/Linux environments (Yocto/Buildroot, cross-compilation, OTA updates) and constrained targets
- Performance tuning and profiling across languages (perf, VTune, Valgrind, sanitizers) and build/toolchain optimization
- Experience developing to MIL-STD/DO-178C or similar safety/security standards
- Track record of mentoring peers, conducting code reviews, and enforcing modern C++/API best practices