A highly competent and flexible software engineer offering over 12 years of professional experience with a particular focus on rust and embedded systems programming. I have extensive background in both the automotive and telecommunications industries, with a proven track-record of thriving in fast-paced startups. I possess exceptional communication skills, and one of my strongest skills is being a fast learner who can easily get up to speed in unfamiliar domains and technologies.
Part of a large team responsible for designing and building two cloud-based systems used by the onboard vehicle journey planning systems. One to take into account projected charge and incorporating charging stations in a planned route. The other an orchestration system to use the vehicle battery to augment the electrical grid. This team presents unique challenges as it has recently been expanded threefold and I am the most senior and experienced developer.
Part of a small team responsible for designing and building a custom embedded operating system for a satellite broadband terminal based on yocto and using a rust-written userspace running on a cortex a53/m7.
Part of the Remote Operate team, which was responsible for Einride’s mission-critical teleoperations functionality. This rust- and go-based system streams ultra low latency video and control signals between a remote vehicle and a control station using webRTC and gRPC. On the vehicles I maintained the service that interacted with the C-based VCU, again using protobuf heavily and requiring a strong knowledge of embedded C.
Part of the core “Switch” team, responsible for two of Minna’s key products: the user-facing Switch product and the customer-facing Supplier Portal which suppliers use to manage their products and orders. In addition, we have been working on extraacting this to an independent application, which has been the largest single project I have worked on, and it has offered some unique challenges.
Part of a team in the ADAS safety software division. My role was primarily to overssee and architect the redesign and reimplementation from scratch of a large data ingestion pipeline. The eventual goal was to be able to practically analyse all 12 petabytes of test data gathered by the autonomous cars.
Part of a small team responsible for developing and maintaining a suite of mission-critical central communication nodes; a global fleet of thousands of wifi routers is centrally managed and the huge amounts of data they produce is received and analysed via these systems and their extended infrastructure. The routers and our central systems communicate using a combination of low level protocols and high throughput APIs where efficiency and performance are critical.
Garmin watches and other fitness devices produce a heavily compressed binary-encoded file called .FIT
, with all data recorded in a continuous stream. This crate
A handwritten retro game engine designed with 90s style Lucasarts point-and-click games in mind