VMS Software Engineer

ArcherSan Jose, CA
21h

About The Position

Archer is an aerospace company based in San Jose, California building an all-electric vertical takeoff and landing aircraft with a mission to advance the benefits of sustainable air mobility. We are designing, manufacturing, and operating an all-electric aircraft that can carry four passengers while producing minimal noise. Our sights are set high and our problems are hard, and we believe that diversity in the workplace is what makes us smarter, drives better insights, and will ultimately lift us all to success. We are dedicated to cultivating an equitable and inclusive environment that embraces our differences, and supports and celebrates all of our team members. 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. This is a hardware heavy role; you should be comfortable bringing up boards, debugging signals with an oscilloscope, and writing defensive code that ensures safety and performance.

Requirements

  • 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.

Nice To Haves

  • Build Systems: Familiarity with Yocto, GTest, CMake, ansible is a plus.

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.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service