Luke Jones - Software Engineer

Personal statement

I am a highly focused software engineer with a broad range of skills. I am very passionate about open source software, Linux, and low-level programming in Rust or C/C++. My career aspirations are to specialise in systems and hardware programming.

I am in my final year of study for a Bsc in Software Engineering and will be finishing study part time while working full time.

My ideal job would encourage me to learn new technologies and experiment with them while also focusing on low-level programming. The workplace would have a strong community, and value diversity. It will allow me to work remotely.

Core skills

  • Flexible and versatile.
  • Strong problem solving and research ability.
  • Experienced in Rust, Python, Javascript, and Haskell, a bit less experienced in C, C++, and Assembly.
    • I can learn most languages to a proficient enough level for use in a few days.
    • I typically will seek out language idioms, best practices and standards (de-facto or official) and follow them.
  • Rust skills of note are:
    • Concurrency and multithreaded apps.
    • FFI in Rust, external (across FFI) API design, Wasm.
    • Deep understanding of hardware and performance - in programming genreally, but especially in Rust.
  • University level experience in: software architecture and design, logic and CPU design.
  • Broad knowledge (varying degrees) of: Linux, version control, profiling, debugging, build tools and environment, and distro packaging.
  • I work well remotely and am very self-motivated.
  • I have worked in remote teams, central teams, and in various OSS projects.
  • I contribute to open source projects in many forms such as bug reports, code and patch submissions, triaging, and packaging.
  • I maintain the core Rust packaging for openSUSE.

Work History

Sphere Identity

(November 2017 +)

Distributed applications development, cryptography and protocol development using the Rust language.

I developed the encryption and data sharing protocol the identity platform is based on, which is used in AWS Lambdas, Wasm for client-side browser use, Android, and iOS. It is written in Rust. I made heavy use of FFI, unit and CI testing, and documentation abilities of Rust.

I have used this work opportunity to further my understanding of encryption, protocol design, security and safety.

Other tasks included:

  • Reseach, and validation of technologies.
  • Unit testing and improving existing code.
  • Writing many useful and important internal articles.
    • code style, optimization, git, FFI & wasm guides.
  • Writing scripts for automation of tasks.
  • Write AWS Lambdas in JS and custom runtimes including Rust, setup their environments, and deploy.

Google Summer of Code 2017 (participant)

(May-August 2017)

I researched and began implementing the infrastructure to use Rust language in GJS (Gnome JavaScript) with the aim of reduction of memory leaks and other issues associated with C and C++. When it was seen that this wasn’t a suitable approach, the knowledge gained from the application of Rust was then applied to the C++ codebase to improve memory safety and apply ownership models. A summary is available at this link.

Unrelated Work Experience

(2000 - 2014)

Mechanic, welder/fitter/turner, sales, computer repair.

Education

Massey University

(2014-Current)

BSc in Software Engineering

Apprenticeship in Heavy Fabrication (AMTEC Engineering)

(2006–2009)

Apprenticeship focused on fitting/welding heavy fabrication

References

Philip Chimento

Katherine Noall