Salary
💰 $120,000 - $180,000 per year
Tech Stack
LinuxPythonRust
About the role
- Develop, optimize, and maintain real-time embedded software for custom Linux-based hardware platforms
- Design and implement low-level hardware interface layers: memory-mapped register access, DMA transfer, and efficient hardware/software communication protocols
- Write and maintain Linux kernel drivers and userspace APIs for custom hardware, ensuring robust integration and performance
- Profile, analyze, and tune embedded software for low-latency, high-throughput, high-reliability data acquisition and processing
- Investigate hardware, firmware, and software issues and understand the interactions between each layer
- Write comprehensive unit, functional, and integration tests
- Document designs, data flows, hardware and software interfaces
- Lead and participate in rigorous code review and hardware/software interface specification processes
- Support bring-up and troubleshooting of new hardware platforms, including board-level debugging with oscilloscopes and logic analyzers
- Collaborate closely with hardware, FPGA, and data analytics teams to define requirements and deliver end-to-end solutions
Requirements
- BS or MS in Computer Science, Computer Engineering, Electrical Engineering, or related field
- 3+ years of experience in embedded systems / low-level software development
- Experience with systems programming languages: C, C++, or Rust (preferred)
- Experience with scripting languages: Python, Bash, etc.
- Experience with tooling to build custom embedded Linux distributions: Yocto, Buildroot
- Experience with Git or similar version control, and CI/CD automation
- Experience with low-level software and firmware debugging tools: GDB, JTAG
- Experience with Linux kernel driver development is a plus
- Experience with RTL design and simulation (preferably VHDL) is a plus
- Experience with FPGA IDEs (Libero, Vivado, Quartus, or similar) and TCL is a plus
- Familiarity with oscilloscopes and FPGA internal logic analyzers is a plus
- Familiarity with CAN, MIL-STD-1553, ARINC-429, and other serial protocols is a plus
- Familiarity with DSP techniques and real-time implementation is a plus
- Bonus program and equity in a fast-growing startup
- Competitive medical, dental, and vision coverage for employees and their families
- Health Savings Account with annual employer contributions
- Employer-paid Life and Disability Insurance
- Uncapped paid time off policy
- Flexible work & remote work policy
- Tax-deferred public transit benefits with Metro SmartBenefits (DC/MD/VA)
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
embedded software developmentLinux kernel driversCC++RustPythonBashYoctoBuildrootGDB
Soft skills
collaborationcode reviewdocumentationtroubleshootingproblem-solvingcommunicationleadershipanalytical skillsattention to detailteamwork