Summary
You’ll be working on devices that are genuinely unique — and on the critical path to delivering HeyCharge’s platform and technology at scale. Our embedded surface spans bootloader and secure boot, BLE session authentication, Zigbee mesh for inter-charger coordination, OCPP translation, store-and-forward cloud sync, and the OTA pipeline that updates all of it. One of our boards literally has an EFR32MG26, an EFR32FG23, and an ESP32 on the same PCB — three radios, three flash budgets, three sets of constraints to reconcile. The firmware is the product when the cellular signal dies in a concrete underground garage.
This role exists because embedded work is currently bottlenecked, and the platform’s roadmap is constrained by that. Your specific scope — which subsystems you own end-to-end vs. contribute to — will be calibrated to your background and where the team most needs leverage. The common factor: you’ll be shipping firmware that runs on hardware where there’s no internet rescue, no “patch it tomorrow,” and no second chance to get OTA right.
About HeyCharge
HeyCharge makes EV charging work in places it was never supposed to — underground garages, multi-tenant buildings, and any other concrete-and-rebar environment where cellular signal goes to die. Our offline-first SecureCharge platform uses Bluetooth for local session authentication and Zigbee mesh for inter-charger load management and cloud sync. No internet required at the charger; no compromise on reliability or billing accuracy.
We’re Munich-headquartered with team members across Germany, Ukraine, and the US, selling into property managers, utilities, and OEMs across Europe, the US, and Latin America. Our partners include Vonovia (Europe’s largest residential landlord), Easee and Emobi. We’re backed by Y Combinator and EU innovation funding, with a culture that’s Google-rooted on engineering, AI-first and automation-first on operations, and allergic to bureaucracy that doesn’t earn its keep.
Responsibilities
The embedded surface below is what our charger firmware covers in total. Your specific scope will be calibrated to your strengths and the team’s needs — you might own one of these end-to-end, or contribute across several.
- Firmware features: design, implement, and ship firmware across our charger product line — Silicon Labs EFR32MG26 and EFR32FG23 plus ESP32-family — in C++.
- Wireless stacks: build and harden the BLE session-authentication flow and the Zigbee mesh that coordinates load management across chargers in a building. Thread is a relevant direction.
- OCPP translation: the OCPP layer that bridges our offline-first protocol to the standards external CPMSs and OEMs expect.
- OTA pipeline: design and operate the OTA update flow — signed, resumable, robust to partial connectivity. The chargers our firmware runs on are physically hard to reach; failed updates are not an option.
- Security: cryptography that backs SecureCharge — session tokens, signed messages, secure boot, key provisioning at the factory.
- Hardware bring-up: partner with our hardware team on new board revisions — board bring-up, peripheral drivers, power budget reconciliation, debugging electrical-meets-software issues at the bench.
Qualifications
Required:
- 3+ years shipping embedded firmware on resource-constrained devices in production.
- Strong C++ in an embedded context — comfortable with memory-constrained design, RTOS scheduling, and the trade-offs between heap, stack, and statically-allocated state.
- Experience with at least one wireless stack (BLE, Zigbee, Thread, or similar) — and the willingness to learn the others.
- Comfort with the full firmware lifecycle: bring-up, debugging on the bench with a logic analyzer/JTAG, OTA, post-deploy diagnostics.
Strong plus:
- Silicon Labs EFR32 family experience — particularly the Silabs Bluetooth and Zigbee stacks.
- ESP32 / ESP-IDF experience.
- OTA design and implementation, especially with partial-connectivity constraints.
- Applied cryptography in an embedded context — secure boot, key provisioning, signed updates.
- OCPP (any version) implementation or integration experience.
Nice-to-have:
- Thread / Matter exposure.
- Embedded Linux for the gateway side of mixed-architecture deployments.
- Rust — we’re not Rust-first today, but we’re open to it where it earns its keep.
English fluency required; German is not.
Personal Characteristics
- Builder mindset — you create order, structure, and systems that make life easier; you reach for the oscilloscope before the Jira ticket.
- Ownership mentality — you take responsibility for the firmware you ship all the way through to deployed reality, including the parts that aren’t fun to debug.
- Automation-first — you instinctively look for ways to remove repetitive work, whether it’s flashing chips on a bring-up bench or running a regression suite against real hardware.
- Adaptable — you’re comfortable in a high-growth, ever-changing environment where the right answer this quarter might not be the right answer next quarter.
Closing
If you want to build the systems that make EV charging work everywhere — even underground, even offline, even on a board with three radios fighting for power budget — we’d love to hear from you. The firmware is the product where we operate, and we’re hiring the person who’ll own it.
Ready to apply?
Send your CV and a few sentences about why this role excites you to [email protected].
Apply now