Skip to main content

Hire me as a consultant

·721 words·4 mins·
Table of Contents

What I bring to the table
#

Two decades of building web software, most of it the part nobody sees: the services, the APIs and the pipelines everything else leans on. I have spent that time in greenfield projects and in codebases old enough to vote, which means I usually arrive with an opinion about what is going to hurt a year from now.

Architect
#

You want to create a new software product and need someone to design and build it for you? I can help you decide on an architecture that fits your needs and help you get started. In practice that is mostly about drawing boundaries that survive a growing team: keeping your domain logic independent of the database and the framework, splitting out a service where it earns its keep, and leaving one process where it does not. I would rather talk you out of a distributed system than sell you one.

Backend and APIs
#

Most of what I build lives behind the front end: backend services, message-driven workers, and the APIs that connect them. I like to design an API specification first, so the contract is written, linted and argued about before there is code to be attached to, and so clients and SDKs can be generated from it instead of hand-maintained in five languages. Authentication comes with the territory — token flows, single sign-on, and the migration off whatever you are on now without an afternoon of downtime.

Development
#

You have a legacy application that needs to be maintained. Continuing developing a legacy application can be tricky: the tests are thin, the people who wrote it have moved on, and every change risks something nobody remembers agreeing to. I can help with continuing development and modernizing while maintaining it — putting tests around the current behaviour first, so that from then on you can tell a refactor apart from a regression, and replacing the worst of it a piece at a time while the thing stays in production.

Code quality
#

Working software is the easy half; software your team can still change in three years is the point. I work test-driven and outside-in, against real databases and brokers in containers rather than mocks that cheerfully agree with whatever the code already does. Static analysis, mutation testing and automated refactoring run in the pipeline, so quality is a gate that trips before review instead of an argument during it.

Training
#

Your developers are valuable and the development industry moves really fast. You can hire me to train your developers in using modern programming practices like OOP, applying SOLID practices and building maintainable applications. I would rather do that on your codebase than on a toy example — pairing, reviewing and building a real feature alongside the team, because that is what makes any of it stick once I have gone.

Deployment
#

Do you have an application that is hard to deploy? I can help improving your deployment strategy by automating the deployment itself and even automate testing if the deployment is successful. That means containers and infrastructure described in code, a pipeline that builds, tests and ships the same way every time, and dependency updates that show up as small reviewable changes with the tests already run — instead of the annual upgrade nobody wants to own.


My Skill Set
#

If your project uses something not listed below, I can pick up new libraries & frameworks fairly quickly. Don't hesitate to contact me if you want to find out more.