About

I'm a front-end leaning full-stack developer with more than 10 years of professional web development experience. I enjoy coding as a day job and as a hobby (check out my open-source projects).

When not coding I enjoy being outdoors and love hiking and trail running. I grew up in South Africa before moving to London, then Barcelona. I recently moved back to the UK and am currently residing in beautiful rural North Yorkshire.

Technical Skillset

I love working with JavaScript & TypeScript and work with these technologies daily. On the front-end I'm an experienced React developer who is able to architect large scale React applications. While I choose to specialise in React I have a great deal of professional experience with many JavaScript libraries & platforms.

On the back-end I love working with Node.js, C#/.NET (5+), Java & Python. I've only recently picked up C#/.NET development again due to the multi-platform support that comes with .NET 5. While I generally love the tools that Microsoft provide I still prefer MacOS or Linux as a development platform. I've been working with GNU/Linux for quite a few years now and doing remote work on Linux server over SSH is second nature. VIM is my text editor of choice on the command line and VS Code on the desktop. I'm comfortable working with both NoSQL & Relational Databases like MySQL/MariaDB, SQL Server, MongoDB etc.

For network communication I'm proficient with standards and technologies like REST, GraphQL, gRPC, OpenAPI, JSON, Protobuf etc. I've got quite a bit of experience of working with gRPC & OpenAPI code generation tools and like to work with well defined schemas and strictly typed data & network layers.

I'm familiar with popular cloud computing platforms like AWS & Azure, as well as application lifecycle & project management tools like Azure DevOps, JIRA, Confluence, GitHub etc. I enjoy setting up build pipelines and love writing shell scripts and automating things. I'm comfortable working with Docker, Vagrant, Virtual Machines, LXD etc.

I like to write tests, not too many, and just the right type of tests. I generally prefer integration or E2E tests over many unit tests but I'm familiar with the tradeoffs & benefits of both approaches.

I mostly stick to web development but I'm interested in doing more native mobile app development. I'm currently specialising in React Native but also have a bit of experience with Objective C and Java app development, but would like to up-skill more in this department.

Achievements

The proudest achievement in my Open Source career is getting one of my open source projects adopted by Microsoft. Gradle Tasks, a popular VS Code extension for Gradle I wrote, is now owned by Microsoft. Have a gander at the LICENCE. See Microsoft Adopted One of My Open Source Projects.

In my professional career I was most proud to be promoted to a Senior Software Engineer at Skyscanner. I was with Skyscanner for 4 years and gained a lot of great experience working there. The company is a big software house filled with around 1000 engineers and the technical bar was set pretty high.