BS/MS/PhD in Electrical Engineering, Computer Engineering, or a related field.
3+ years of embedded systems or firmware development experience (C/C++, Rust, or similar).
Deep understanding of microcontrollers, SoCs, or FPGA-based systems.
Experience with low-level drivers, board bring-up, and hardware debugging (JTAG, logic analyzers, oscilloscopes).
Familiarity with EDA workflows, semiconductor validation, or hardware modeling is a strong plus.
Knowledge of Python for test scripting or data collection.
Bonus: exposure to machine learning, agent building, hardware acceleration.
Responsibilities
Develop and maintain low-level firmware for prototype boards, FPGA systems, and silicon evaluation platforms.
Build firmware interfaces and APIs for data collection, test automation, and system telemetry.
Collaborate with ML engineers to define firmware hooks that enable real-time model feedback and performance tuning.
Work with hardware and software teams to validate new architectures and debug complex cross-domain issues.
Contribute to scalable frameworks for automated testing, regression, and hardware-in-the-loop workflows.
Implement best practices in firmware architecture, CI/CD for embedded systems, and version control of hardware artifacts.
Benefits
Unlimited PTO for relaxation without hesitation.
Comprehensive health coverage, including medical, dental, and vision insurance for employees and their dependents.
Free meals and snacks provided daily in the office.
Investment in professional growth with opportunities for skill development.
Visa sponsorship available for global talent.
Full Job Description
About this Role In this role, you'll design and implement firmware that bridges AI-driven hardware with physical devices. You'll work across bring-up, control, and diagnostics - enabling adaptive, self-optimizing behavior in real-time systems. Collaborate with electrical, systems, and verification engineers to develop embedded software that powers learning machines.
You might thrive if you have 5+ years of experience in
C/C++, RTOS, or bare-metal firmware development
Board bring-up, bootloaders, and driver development
Debug tools such as JTAG, logic analyzers, and oscilloscopes
Control systems, sensor interfaces, or embedded ML