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

  1. 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.

  2. 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.

  3. 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.