James Waples

Experienced Rust developer

Edinburgh, Scotland

Hi, I'm James, a Rust, electronics and CNC enthusiast. My work revolves around the wonderful Rust programming language, gladly using it both professionally, personally and in open source to write high quality code for embedded Linux, microcontrollers and realtime systems. I've been programming for about 20 years since I was 10, beginning with 8 bit assembler, Visual Basic and C. I started my professional career at 18 with a PHP web development role and moved towards the JavaScript/Typescript ecosystem before moving into writing Rust fulltime.

I'm motivated by engaging software problems, challenging optimisations, interesting performance debugging and making a polished product for people to use. I strongly believe we work best in a team, each of us adding to something greater than the sum of parts.

I also have a good interest in electronics. It was a quick discovery after computers and has become a long running hobby, most recently developing a Rust EtherCAT controller for microcontrollers.

Melding electronics and programming lead me to discover the expensive yet fascinating world of DIY CNC machines, myself having built at least 5 of improving capabilities (and heft) over time, with a parallel dream of building motion control software one day. Stepping into the garage to work on/with the machine with one's hands is a great escape from the keyboard.

Top skills


Used every day, strong knowledge

  • Rust
  • Github (reviews, PRs, etc)
  • Linux (SSH, CLI, systemd, etc)
  • Docker


Used often, good knowledge

  • CircleCI
  • PostgreSQL
  • Rust no_std development
  • EtherCAT
  • KiCAD PCB design


Used a little, light knowledge

  • CAN networking
  • Battery management
  • Bitbake
  • Kubernetes


Used a while ago but could be picked up again quickly

  • AWS (ECS, RDS, EC2)
  • Google Cloud Platform
  • Typescript
  • SASS
  • Node.js

Open source projects

Work history