Hi, I'm a Software Developer based in South West England. I love programming, and love it most when it's done to make an impact.
My professional experience includes building monoliths and microservices, utilising a variety of database technologies, and creating modern web-based frontends. I like simple systems that can be iterated upon easily and remain maintainable in the long run.
A team needs great software development processes alongside great programming. I have worked in an agile environment, and have held the role of scrum master. My experience has led me to value a process that minimises the time from having an idea to delivering an impact.
I hold a bachelor's degree in computer science from the University of Cambridge. My degree gave me a broad-range of knowledge across the whole of computing, and I completed a dissertation in the area of machine learning with natural language.
In my spare time I have made small contributions to open source projects including VSCode Go, SQL Boiler and Material UI.
Designing Data-Intensive Applications - Martin Kleppmann - A comprehensive guide to building modern data systems. Kleppman explains the perils of scaling a system past a single node and provides lots of guidance on how to overcome them. He questions the need for distributed transactions in these systems. The book describes a dataflow architecture, where services communicate over a stream processor rather than RPCs to maximise fault-tolerance and minimise coupling.
Implementing Lean Software Development - Mary and Tom Poppendieck - This book contains a great number of practical tips for software development teams. My notes on the book can be found on GitHub.
The Learn Startup - Eric Reis - Reis describes how anyone creating products or services under uncertainty can be classed as an entrepreneur, and hence can apply his techniques for building a successful startup. He suggests iterating on ideas quickly with robust measurement and metrics to quickly gain knowledge of the space the product is in. I particularly liked the section on picking the correct metrics that reflect how the product grows, such as churn rate for a product aiming to be sticky, rather than vanity metrics such as absolute numbers of visitors.