About Me
I am a polyglot developer who likes simple solutions to difficult problems, living documentation, just-in-time design and the principles of software craftsmanship.
I believe I owe my success to a habit of ensuring I always have a deep understanding of the technologies I work with.
Before joining the tech industry my background was in music, and I have always felt that software engineering is an art too - fundamentally a creative and collaborative activity.
Experience
DAACI https://daaci.com
Senior Frontend Software Engineer, 2022 - 2024
- TypeScript
- Node.js
- React.js
- Redux
- Sass
- PostgreSQL
Built out prototypes of an AI-assisted browser-based digital audio workstation, using TypeScript, React, Web Audio and Web MIDI, Next.js, Drizzle ORM and PostgreSQL.
Also supported UI design and implementation in VST/AU plugins using C++20 and the JUCE framework.
Triptease https://triptease.com
Software Engineer, 2020 - 2022
- TypeScript
- Node.js
- Terraform
- React.js
- MongoDB
Worked on the Targeted Messages product, including the UI of the messages themselves, a rich content editor with live preview for message creation, content database and CDN, event tracking and analytics platform.
Previously, my team built a feed of hotel prices and scaled it from scratch to serving a million prices a day from over 1,000 hotels. The prices were sourced from user tracking, screen-scraping and algorithmic inference.
Triptease engineers work full-stack, including all development, ops and SRE, in small autonomous squads.
Codurance https://codurance.com
Software Craftsman, 2019
Apprentice, 2018 - 2019
- C++
- Java
- PostgreSQL
Worked in a team of consultants at a fintech, setting up CI pipelines, modernising existing C++ server-side infrastructure, and helping to build new Java microservices to replace PostgreSQL stored procedures.
As Apprentice, completed a three-month paid Academy program learning essential skills in software design, Extreme Programming practices, Clean Code, and Domain-Driven Design.
FilmLight https://filmlight.ltd.uk
Software Developer, 2017 - 2018
Intern, 2016 - 2017
- C
- C++
- *nix
Worked on button-mapping software for hardware interfaces on a film post-processing system. Worked across the full stack from usability testing and UI implementation down to optimising the display drivers. Also wrote an xUnit-style unit test framework for the in-house scripting language to aid in testing my code.
As an intern, built automated testing harnesses, helped maintain the FilmLight intranet, and built developer workstations.
Education
Open University
Mathematics modules, part-time, 2022-present
MST124 Essential Mathematics 1: Distinction (2022)
MST224 Mathematical Methods: Distinction (2024)
University of Oxford
BA Music, 2013 - 2016
First-class honours; academic scholar, 2014-16.
Skills
Languages & Frameworks
JavaScript, TypeScript, Node.js, React, Java, Kotlin, C++, Python, Clojure
Databases
PostgreSQL, MongoDB, Google BigQuery, Elasticsearch
Infrastructure
Amazon Web Services, Google Cloud Platform, Terraform, Airflow
Methodologies
Extreme Programming, Software Craftsmanship, Continuous Discovery
Projects
This website! https://github.com/nawhi/nickwhite.cc
Built with Astro and Tailwind CSS, based on the devfolio template by Ryan Fitzgerald
jq-tutorial https://github.com/nawhi/jq-tutorial
Interactive exercises for learning jq, a command-line JSON processor
WebStorm Golf https://github.com/nawhi/webstorm-golf
A golf-themed way of learning to use the JetBrains WebStorm IDE