24 Aug
|
Aston Dynamics
|
Clayton
24 Aug
Aston Dynamics
Clayton
About the role
This role owns the Rust codebase that devices communicate through. Brake controllers, a handheld dial, and new products in development all communicate with each other and with a mobile app over a protocol library built and maintained in-house. The firmware is Rust on ESP32-C6; the same library compiles into the phone app through FFI. You would be taking over a mature codebase from a remote engineer who has been its primary author, with a handover period and their support while you come up to speed. Some products are shipping, some are close, and a lot of what remains is integration - making the pieces we have built actually work together, on real hardware, every time.
Key responsibilities
- Own the in-house Rust protocol library: the schema DSL and macros that generate typed BLE APIs from a single device definition, the embedded and desktop/mobile backends behind them, and its releases to the private registry.
- Own the device firmware: brake controller and dial run Rust on ESP32-C6 under ESP-IDF, covering BLE services, over-the-air update, on-device logging and persistent configuration.
- Own the Rust-to-mobile boundary - the FFI layer that puts the same library inside the React Native app - along with the desktop and diagnostic tooling the team uses daily.
- Version the protocol so that it stays compatible. Firmware in the field and an app already installed have to keep working when the schema moves.
- Take new products from definition to shipping, and finish the ones already in progress. Most of the remaining work across the range is integration.
- Set the engineering standard: architecture decisions, code review, test coverage, and the build and release tooling everyone else depends on.
- Debug against physical hardware, including hardware-in-the-loop testing and BLE behaviour across iOS and Android.
About you
- Experience with qualified software development, at a level where you have owned a substantial codebase and been accountable for its direction.
- A systems programming background - C, C++, Zig or similar - with a real understanding of memory, concurrency and the cost of an abstraction.
- Embedded experience: firmware on a microcontroller, debugged against physical hardware.
- Rust is what the codebase is written in. Prior Rust experience is a significant advantage, but genuine interest in working in it daily is what is required.
- The judgement to work on a codebase you did not write: reading before rewriting, and knowing which of the two a given problem calls for.
- Willingness to review and mentor. You would be the most senior software engineer in the room.
- Nice to have: Rust in production, particularly async, trait design, and procedural macros.
- Nice to have: BLE at protocol level: GATT, pairing and bonding, MTU negotiation, connection intervals.
- Nice to have: ESP-IDF, or another embedded RTOS.
- Nice to have: Cross-language bindings or FFI work, particularly into mobile.
About us
Aston Dynamics builds brake-by-wire systems for trailers and autonomous vehicles. The electric-over-hydraulic (EoH) platform replaces conventional pneumatic and mechanical trailer braking with electronically controlled hydraulic actuation, giving faster, more precise, independently controllable braking. The team is small and growing with R&D; focus. The firmware, electronics and mechanical engineers who build the hardware sit in the same office, and control systems work is owned in-house.
📌 Software Engineer (Clayton)
🏢 Aston Dynamics
📍 Clayton