Über diese Embedded Software Engineer Stelle bei Make Rain
Make it rain. Make Snow. Make Earth Habitable.
Rainmaker builds and deploys audacious technologies that work with nature to create an abundant, habitable planet. We are modernizing proven cloud-seeding science with weather-resistant UAS, radar and satellite observations, numerical weather prediction, novel sensing and validation systems, and sustainable seeding technologies. We are building an integrated system to make more freshwater available to farms, ecosystems, and communities.
Our ambition is bold, but we pursue it with humility. We take on difficult problems in the real world with technical rigor, grit, integrity, and an openness to learning and course-correcting. We are hiring individuals with evidence of exceptional ability. If you want to build systems that endure, restore, and deliver the future we were promised, we want to hear from you.
The vehicle software team builds the software that operates Rainmaker’s cloud-seeding vehicles, connecting flight control, onboard computing, sensors, payloads, and ground operations. We work closely with electrical, mechanical, manufacturing, and flight operations teams to turn new hardware into reliable systems that can be built, deployed, and operated at scale. Our goal is to make every vehicle a dependable tool for delivering more freshwater where it is needed.About the Role
What You'll Do
Own the architecture, implementation, and maintenance of all embedded firmware across the vehicle, including flight-controller firmware, power distribution, sensors, and seeding payloads.
Set firmware priorities, identify reliability risks and technical gaps, and drive projects from an ambiguous problem to a validated release.
Bring up new boards with electrical engineers: read schematics, validate interfaces, write drivers, and debug failures at the boundary between hardware and software.
Develop dependable device communication and command handling over CAN, UART, SPI, and I2C, with clear contracts for telemetry, timing, and fault behavior.
Integrate firmware with our vehicle software so commands, device state, and telemetry behave consistently from the microcontroller to the operator.
Design and validate safe startup states, watchdogs, interlocks, and recovery behavior for resets, communication loss, sensor faults, and interrupted updates.
Own firmware builds, versioning, flashing, over-the-air updates, and recovery workflows so deployed vehicles run known, traceable software.
Build automated tests, simulation, and hardware-in-the-loop coverage that catch regressions and exercise failure modes before releases reach the fleet.
Partner with manufacturing and flight operations to make provisioning, calibration, diagnostics, and servicing repeatable and practical.
Investigate bench and field failures using logs, telemetry, and lab instruments; resolve root causes and turn what you learn into better software and tests.
What We're Looking For
3+ years of hands-on experience developing embedded software or firmware for microcontroller-based systems, including board bring-up, hardware integration, and deployment into production or field use.
Demonstrated ownership of an embedded subsystem from design through release and ongoing support, including making technical decisions independently, validating behavior on hardware, and resolving failures in real operating conditions.
Strong systems programming skills in Rust and/or C/C++, with the ability and willingness to work across both Rust and C/C++ codebases.
Practical experience with peripheral drivers and communication buses such as CAN, UART, SPI, and I2C.
Comfort reading schematics and using oscilloscopes, logic analyzers, and hardware debuggers to isolate problems across electrical and software boundaries.
The ability to reason about system failures and implement robust state machines, fault detection, safe outputs, and recovery paths.
Experience building maintainable firmware with version control, reproducible builds, automated testing, and disciplined release practices.
Evidence of high agency: you surface problems without waiting to be assigned, make sound decisions with incomplete information, ask for help when it matters, and close the loop on results.
Clear communication and the ability to work closely with hardware engineers and operators, explain tradeoffs, and document decisions so others can build and service what you ship.
What Will Set You Apart
Experience with drones, robotics, aerospace, or other systems where software controls physical equipment in demanding conditions.
Familiarity with PX4, MAVLink, flight-controller development, or flight-critical software.