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 organisational problems in a YAML costume.
Scope
What I take on
Pipeline design and repair
Azure DevOps, GitHub Actions and Jenkins. Builds fast enough that people stop working around them, and releases dull enough to do on a Friday.
Release and change automation
Automated releases that generate their own change tickets, 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. Left manual, this is the work that turns into a nagging Slack channel.
Self-hosted runners
When hosted CI gets too expensive or too restrictive, I move it to self-hosted runners under configuration management, which gets you the cost and the control 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 checks, keep 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
I measure developer experience by how much a developer has to hold in their head to release safely. Lower is better, and getting it lower is a deliverable in its own right.
Evidence
Where I have done this before
- Knab, Developer Experience Automated compliance reporting and dependency updates with OpsLevel and RenovateBot, which cut technical debt and the cognitive load on 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, which lowered 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 that everyone dreads.
- Your build times have 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.