Oct 2023 - present — Programmer at social discussion technology startup — Haskell
Mar 2023 - Oct 2023 — Break
Feb 2022 - Mar 2023 — CTO at NineByte — Haskell, AWS
NineByte deals in digital education resources. Its specialties are: turning publishers’ textbooks into online courses, hosting said online courses, and hosting learning management systems (LMSs) for course delivery. I was responsible for setting a new technological direction, aiming to move the company from a B2B/consulting model to a software-as-a-service product. I created some foundational Haskell tooling for generating courses that can be imported into LMSs and for LMS interoperability with external appplications. I also set an example for day-to-day software development and operations: we moved from CodeCommit to GitLab, and started tracking work with issues and collaborating with merge requests.
Jul 2020 - Feb 2022 — Software Engineer at PaidRight — Haskell, Elm, Nix, Google Cloud
PaidRight calculates payroll compliance for Australian companies. I joined the team while it was incubating in CSIRO’s Data61, and they rehired me after then spun out in 2020. While I was there the payroll models were written in a custom programming language and run via a web app. I contributed to the language runtime, the web-based structural code editor, and general web services. I also set up and was responsible for the CI system (Nix / NixOS + Buildkite).
Feb 2020 - Jun 2020 — Bachelor of Computer Science (Programming Languages) student at University of Queensland — incomplete
I completed one semester of part time study while working at CSIRO in order to make some progress toward getting a degree. I may have kept going, but then COVID happened. I switched to the newly-introduced Bachelor of Computer Science and transferred most of my BEng credits. Unfortunately I didn’t learn very much; I completed some mandatory subjects that I was already an expert in because the university wouldn’t give me credit. This included Theory of Computing (COMP2048), for which I gave a guest lecture the year prior (and because of COVID they didn’t record new material, so I was actually assigned my own lecture to study!).
Jun 2017 - Jun 2020 — Functional Programming Engineer at CSIRO’s Data61 — Haskell
Data61 is a division of CSIRO. For 3 years I was a part of the Queensland Functional Programming Lap (QFPL), formed with the intention of improving functional programming adoption inside Data61 and in Australia at large. I wrote Haskell libraries (personally significant: hpython, hedgehog-fn), helped run in-person introductory functional programming courses, spoke at YOW! Lambda Jam 2018, and gave a guest lecture at the University of Queensland for the subject Theory of Computing (COMP2048).
Jun 2016 - Feb 2017 — Software Developer at iRecruit Australia — Python
iRecruit was a startup working on a job matching platform. This was first programming job, and I worked part time while attending university. I worked on web services using Django.
Feb 2014 - Jun 2017 — Bachelor of Engineering (Software Engineering) student at University of Queensland — incomplete
After graduating high school I completed 2.5 years of a 4 year engineering degree. The most significant things I did during this time were: meeting a bunch of smart people who also loved programming, learning Haskell, and skipping classes to work on my first serious compiler.
I stopped going to university when I started working full-time at CSIRO’s Data61.