Software Engineer Hi there! I'm a software engineer in London, currently working remotely, with a growing passion for pure functional programming in the likes of Haskell and PureScript.
Quality is pride of workmanship.— W. Edwards Deming
December 2018 - Present
At Adaptavist I've spent considerable time refactoring the untyped codebase to strict TypeScript, improving quality, safety, and maintainability along the way. I'm a strong voice for best practices within my team, and am a positive proponent of functional programming to the wider department. I've also begun leading the way on testing, introducing property-based testing to our unit tests and integration testing to our React components.
February 2017 - December 2018
At Oddschecker I pioneered a greenfield B2B project utilising React and D3 on the frontend and Node on the backend, and it's here that I was introduced to static typing and TypeScript, something I now can't see myself ever leaving behind. I was, as ever, perennially focused on code quality and long-term maintainability, and I matured significantly as a developer as it pertains to balancing overt business interests against tech debt. I also began to mentor more junior members of the team.
December 2015 - February 2017
March 2014 - December 2015
After a highly successful apprenticeship I swiftly took over the reigns designing and developing the frontend of the websites at Perspective Publishing. After creating preliminary designs I would code them in their entirety myself, always with an eye to code reuse and modularity. I also began to take on a larger role with regards to the backend whilst rewriting the internal company CMS from scratch; converging a few dozen separate but identical CMS' into one unified, more modern experience. In addition I also spearheaded the change from archaic FTP uploads to a version control system.
February 2017 - Present
Bukubrow is a WebExtension for Buku, a command-line bookmark manager. It includes a native binary written in Rust that interfaces with the Buku database. The frontend is currently being rewritten in PureScript. As of time of writing, analytics from Firefox and Chrome suggest that this WebExtension is being actively used by several hundred people.
February 2019 - Present
This is the portfolio you're viewing right now! I've strived to make it maintainable above all else; it produces static files with Gatsby and can be easily deployed to countless service providers without any hassle.
Functional programming has reintroduced me to mathematics, the subject I always felt an affinity for. I'm working my way through Khan Academy at the moment.
Computers, Linux, & PC Gaming
I've been tinkering with Linux for what feels like forever and have settled on Arch as my distro of choice, Sway as my tiling window manager, and (n)vim as my preferred modal editor. Naturally, this means I like to do most things on the command-line. I do dip out of there from time to time to play some games, be that Black Mesa or Beat Saber. I hit Grand Champion in Rocket League a while back and decided that was the right time to take it out of my regular rotation, but feel free to hit me up for a game.
Running & Self-Improvement
I've found that working remotely enables me to run more frequently. I'm still not very fast over long distances, but I'm getting there. Running in tandem with fasting has enabled me to lose nearly 20kg since late 2018. Self-improvement in all aspects of life is very important to me.