Embedded / Firmware Engineer
- Company
- Archetype
- Location
- San Francisco, CA · New York, NY +1 more
Embedded Software Engineer — General Talent Network
Role Overview
We are looking for strong embedded and low-level software engineers who can build reliable software at the boundary between hardware and software. This is a general opportunity used to identify engineers for roles across robotics, autonomous systems, aerospace, defense technology, industrial systems, connected devices, and other hardware-focused companies.
Relevant candidates may specialize in microcontroller firmware, embedded Linux, device drivers, operating systems, real-time systems, controls, communications, or platform software. Candidates are not expected to have experience across every area listed below.
What You May Work On
- Develop embedded software and firmware in C, C++, Rust, or another systems programming language.
- Build software for microcontrollers, processors, SoCs, or embedded Linux platforms.
- Perform board bring-up and integrate new processors, sensors, actuators, radios, and peripherals.
- Develop and debug device drivers, hardware abstraction layers, bootloaders, BSPs, kernel modules, or system services.
- Design real-time, concurrent, event-driven, or state-machine-based systems.
- Work with communication interfaces and protocols such as SPI, I²C, UART, CAN, USB, Ethernet, TCP/IP, MAVLink, or similar technologies.
- Diagnose problems spanning software, firmware, electronics, networking, timing, and physical hardware.
- Build testing infrastructure, including unit, integration, simulation, hardware-in-the-loop, and automated hardware testing.
- Improve system reliability, performance, security, observability, power consumption, and resource utilization.
- Support firmware deployment, factory programming, OTA updates, rollback, secure boot, or device provisioning.
- Collaborate closely with electrical, mechanical, robotics, systems, manufacturing, and test engineers.
- Take systems from prototype and initial bring-up through deployment, production, or field operation.
Core Qualifications
- Professional or substantial project experience developing embedded, firmware, or low-level systems software.
- Strong programming ability in C, C++, Rust, or a comparable systems language.
- Understanding of how software interacts with processors, memory, peripherals, operating systems, and physical hardware.
- Experience debugging problems on real hardware using tools such as GDB, JTAG, oscilloscopes, logic analyzers, protocol analyzers, or equivalent tools.
- Working knowledge of embedded constraints such as timing, concurrency, memory, compute, power, thermal limits, reliability, and fault handling.
- Ability to read technical documentation, datasheets, schematics, register maps, or hardware specifications.
- Evidence of meaningful technical ownership, such as shipping a product, deploying a system, completing a major subsystem, or carrying hardware through bring-up and testing.
- Ability to work effectively across software and hardware disciplines.
Relevant Areas of Experience
Strong candidates will typically demonstrate depth in one or more of the following areas:
- Bare-metal microcontroller development.
- ARM Cortex-M or comparable MCU platforms.
- RTOS environments such as FreeRTOS, Zephyr, VxWorks, QNX, RTIC, or Embassy.
- Embedded Linux, Android/AOSP, Yocto, Buildroot, BSPs, kernel development, or system services.
- Device drivers, HALs, bootloaders, boot chains, firmware packaging, or board support.
- Interrupts, DMA, timers, clocks, memory maps, linker scripts, and low-power modes.
- Sensors, motor controls, actuators, robotics, autonomy, or electromechanical systems.
- Networking, IPC/RPC, distributed embedded systems, or low-latency communications.
- Real-time, safety-critical, fault-tolerant, or high-reliability systems.
- Secure boot, device identity, encryption, signing, provisioning, or system hardening.
- Host-based testing, simulation, CI/CD, hardware-in-the-loop testing, or production test infrastructure.
- Aerospace, defense, robotics, autonomous vehicles, automotive, medical devices, industrial systems, energy, or consumer hardware.
Indicators of a Strong Candidate
The strongest candidates generally demonstrate:
- Deep understanding of low-level systems rather than only application-layer development.
- Hands-on experience debugging real hardware and hardware/software interactions.
- Ownership of meaningful systems from design or bring-up through deployment.
- The ability to explain technical tradeoffs involving performance, timing, memory, reliability, safety, and maintainability.
- A track record of solving ambiguous, multidisciplinary engineering problems.
- Strong fundamentals that transfer across processors, languages, operating systems, and product domains.
- Experience shipping systems that operate reliably outside a development environment.
- Prior experience at a defense prime, aerospace or robotics company, or hardware-focused startup—including companies such as Anduril or Palantir—can be a positive contextual signal. However, company pedigree should be weighted lightly and never substituted for evaluating the candidate’s actual technical depth, hands-on ownership, and impact.
Important Evaluation Guidance
Candidates should be evaluated on the depth, complexity, ownership, and real-world impact of their work—not simply on keyword overlap with this description.
A candidate can score highly through deep microcontroller firmware experience, embedded Linux and OS expertise, robotics or controls software, low-level platform development, or another comparable embedded specialization. Do not penalize candidates merely for lacking a particular language, RTOS, processor family, industry background, degree, clearance, or protocol unless it is required by a specific client role.
Pure application, cloud, web, data, or general backend experience should not receive a high embedded score unless the candidate also demonstrates meaningful low-level, hardware-facing, or resource-constrained systems experience.