VMS Software Engineer
Archer · San Jose, CA · 1 wk ago
Engineering$143k–$221k/yrFull-time
Role Overview
We are seeking a resourceful hands-on Embedded Software Engineer to build high-reliability real-time systems. You will operate at the intersection of hardware and software, writing Modern C++ for Linux targets while leveraging Python for test automation.
Key Responsibilities
- Embedded Development: Write efficient, robust C++ for Embedded Linux platforms. You know when to follow the rules and when to think laterally to squeeze out performance.
- Agile Execution: Work within an agile sprint-driven framework to iterate quickly with short planning and development cycles.
- Hardware Interface: Write drivers and manage communications over common interlinks (Examples: CAN, Ethernet, TCP/IP, UART). You aren't afraid to reverse-engineer a protocol or write a custom driver if the standard one fails.
- Deep-Dive Debugging: Get your hands dirty with hardware integration and bring-up. You will troubleshoot signal integrity and protocol weirdness using oscilloscopes, logic analyzers, or network sniffers.
- Resilient Design: Design software with a safety-first mindset. You anticipate edge cases and write defensive code that ensures deterministic behavior, even when assumptions are violated or the hardware does something unexpected.
Qualifications
- Experience: 2–5 years of embedded software engineering
- Core Languages: Strong proficiency in modern C++ (11/14/17/20) for production code. Fluency in Python and Bash for data manipulation, testing, and prototyping.
- Mindset: You are comfortable working with ambiguity. You don’t need a manual for everything; you can figure out how things work (or why they don't) and devise creative workarounds to keep the project moving.
- OS: Solid understanding of Embedded Linux (kernel/user-space interactions) and how to manipulate it via the shell.
- Real-Time: Experience with real-time constraints and resource-constrained hardware.
- Build Systems: Familiarity with Yocto, GTest, CMake, ansible is a plus.