• 9 years professional software development experience.
  • Rust language expert.
  • Proficient in C, Golang, Python.
  • 250 mainline Linux kernel patches.
  • Undergraduate and postgraduate degrees in computer science.
  • 20+ years experience using Linux.
  • Founder of Central Coast Linux Users Group.

Open Source Experience

Currently working full time as a maintainer of rust-bitcoin under an Open Source grant.

Open source contributions made to the following projects, among others:

Author of a libp2p transport for routing libp2p traffic over Tor.

Linux kernel contributor from May 2016 to June 2019. Author of intree kernel Perl script scripts/leaking_addresses.pl. Involved in kernel hardening, documentation, and memory management. 250+ patches merged into the mainline.

Work Experience

January 2023 - Present: Open source maintainer rust-bitcoin

Continue work as rust-bitcoin maintainer, funded by Riot Platforms.

January 2022 - December 2022: Open source maintainer rust-bitcoin

Open source grant to work as a maintainer of the https://github.com/rust-bitcoin projects.

November 2020 - January 2022: Senior Blockchain Security Engineer Crypto.com

Rust developer, working on wallet software that runs in the cloud targeting institutional customers. Uses a multi-party signature scheme.

June 2019 – October 2020: Software Engineer - Blockchain CoBlox

Rust developer, worked on reference implementation of the COMIT protocol. The COMIT protocol is aiming to solve trustless exchange of assets across blockchains i.e., multi-ledger atomic swap. Role involved protocol design, documentation, development, testing. Codebase in Rust with end to end tests in Typescript. Solution uses peer to peer networking via libp2p.

April 2017 – May 2019: Software Developer Crowd Coded Pty Ltd

Contract software developer. Role involved:

  • Development and maintenance of userspace applications in Golang, Bash, and Python.
  • Container networking (Golang).
  • Linux kernel development. Memory management, device drivers, security (kernel hardening).

January 2018 - October 2018: Software Developer AppOrbit Incorporated

Contract software developer. Develop software in the field of container networking. Role involved debugging and developing new features. Code base predominantly Golang but also included userspace C code and an out of tree kernel module. Testing done in Python, Bash, C, and Golang. Responsible for writing and maintaining end to end tests (written in Python and shell).

April 2015 – March 2017: Software Development Apprenticeship

Two year self directed and self funded software development apprenticeship. See below for details.

January 2013 – March 2015: Sales Manager Black Swan Trading Company Pty Ltd

Sales and logistics. Managed a staff of 5.

January 2007 – December 2012: Support Technician Sydney City Networks

Mac OSX support technician. Residential and small office network design, installation, and support.

Education

Online courses (Coursera.org)

Graduate Diploma in Computer Science [Pass with High Distinction]

University of New England, Australia (completed 2014).

  • Parallel and Distributed Computing.
  • Computer Architecture and Assembler.
  • C++ Programming.
  • Programming Languages for Artificial Intelligence.
  • Web and Internet Programming.
  • Information Technology Project (dentist patient management application in Objective C).
  • Graduate Diploma in Computer Science Project (UNIX shell written in C).

Bachelor of Science

University of Sydney, Australia (completed 2008).

  • Awarded Bachelor of Science majoring in computer science.
  • Completed double major, software development and computer networking.

Apprenticeship

24 month software development apprenticeship. Worked assiduously on becoming a competent, professional programmer. Maintained a minimum 40 hour working week (typically 50+). Logged hours and topics worked. Topics include; computer architecture, programming languages and theory, operating systems, data structures and algorithms, professional software development methodology and practices. See below ‘code written in last 12 months’ and ~/books. Text highlights include;

  • The Art of Computer Programming (volumes 1 and 2) Donald E. Knuth
  • Advanced Programming in the UNIX Environment W. Richard Stevens, Stephen A. Rag
  • Structure and Interpretation of Computer Programs Harold Abelson, Gerald Jay Sussman with Julie Sussman
  • Applied Cryptography Bruce Schneier
  • Clean Code, A Handbook of Agile Software Craftsmanship Robert C. Martin

See Github repository for code written during apprenticeship. All code worked on is open source unless explicitly requested otherwise (i.e Project Euler, Eudyptula Challenge).

Outside Experience

Founded the Central Coast Linux Users Group of New South Wales in February 2014. Announced the intent prior, at Linux open source conference, Linux.conf.au. Lead role in organizing and administering the group. Set up a unincorporated association for governance. Acquired sponsorship of venue to hold monthly meetings. Financially supported the group for the first three years.

Given presentations on software related topics at the Open Source Summit North America 2017, Central Coast Linux Users Group (multiple) and the Australian Computer Society (2015).

Motivation for Writing Code

  • Collaborating with others to produce the best possible codebase/project.
  • Continually learning and refining skills and technique (the craft).
  • How good ‘clean code’ looks on the screen.
  • The feeling when an insurmountable problem dissolves.
  • Constantly refining.