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.
Education
Leeds University
- Master of Science, Embedded systems engineering
- Batchelor of Science, 1st, Music and Electronic Engineering
Edinburgh University
- Certificate of undergraduate education, Physics
Employment
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:
- Medical devices
- Consumer devices
- Enterprise devices
- Car infotainment systems
- Linux device drivers/hardware support
- Board/platform bring-up (mainly for ARM)
- Linux userspace development and build systems
Languages
Rust, C, Python, Ruby, Nim, Nix, Scheme, C++