Ed Cragg

I'm an embedded software engineer, with experience ranging from hardware design, to Linux kernel OS development, to high level software architecture design. I am interested in activites ranging from collecting data to analyse and diagnose a mysterious problem - twiddling bits in registers to bring up a piece of hardware, to designing and integrating large pieces of high level software, and how they interact. I have a passion for Rust and am looking to increase my professional exprerience in the language. I have long-term professional experience in Python, C, and tend to collect experience in a number of others. I have done a fair amount of work with embedded software, from Arduino to the Linux kernel on ARM.


Leeds University

Edinburgh University


Freelance mentor (Jan 2019 - present)

I have been mentoring people online in a variety of topics, including Python, C, Arduino and Rust development, which has been an endlessly surprising and fullfilling experience.

Music Group (Jan 2018 - Dec 2018)

Embedded software and DSP, Linux kernel device support, writing drivers and debugging hardware support issues, including virtual memory issues, Linux kernel support for a large product team.

Codethink Ltd. (Jan 2014 - Dec 2017)

Embedded software and Linux kernel engineer, working on:


Rust, C, Python, Ruby, Nim, Nix, Scheme, C++