Freelance CI/CD and developer experience engineer
I spent a stretch on a bank's Developer Experience team, which is a good way to learn that most pipeline problems are really organisational problems wearing a YAML costume.
Scope
What I take on
Pipeline design and repair
Azure DevOps, GitHub Actions and Jenkins. Builds that are fast enough that people stop working around them, and releases that are dull enough to do on a Friday.
Release and change automation
Automated releases with change tickets generated as a side effect, so change management stops being a manual tax on every deploy.
Dependency and compliance toil
RenovateBot for dependency updates and OpsLevel for service ownership and compliance reporting — the work that otherwise turns into a nagging Slack channel.
Self-hosted runners
When hosted CI gets expensive or too restrictive, moving to self-hosted runners under configuration management, with the cost and control that brings back.
Method
How it runs
-
01
Measure the thing people complain about
Usually the complaint is "CI is slow", and usually the real cost is somewhere nobody has timed. Find it before rewriting anything.
-
02
Automate the boring gate, not the judgement
Scanning, dependency bumps, ticket creation and compliance evidence should be automatic. Whether to ship on a given day should stay a human decision.
-
03
Reduce the number of things to remember
The measure of developer experience is how much a developer has to hold in their head to release safely. Lower is better, and it is a real deliverable.
Evidence
Where this has been done before
- Knab — Developer Experience Automated compliance reporting and dependency updates with OpsLevel and RenovateBot, cutting technical debt and the cognitive load carried by product teams.
- Knab — pipelines Owned and optimised the Azure DevOps pipeline estate, and designed an automated release mechanism with auto-generated change tickets for a regulated environment.
- 3D Hubs Moved CI/CD off a hosted service onto self-hosted Jenkins managed by Puppet, lowering build costs, and wrote a custom GitHub Action bot in TypeScript that automated the deployment workflow end to end.
Fit
Probably worth a conversation if
- Releases are a ceremony, and everyone dreads them.
- Your build times have quietly doubled and nobody owns the pipeline.
- Dependency updates and compliance evidence are done by hand, or not at all.
- You want a platform or DevEx function set up without hiring a whole team for it.
Contact
Tell me what is actually broken
The contact details live on the front page. If I am not the right person for this, I will say so.