Independent
Learning Go by writing a Bluesky client. Also built an agent harness with a custom MCP server.
Professional years only, added up across roles.
Neither of my last two teams had more than one dedicated DevOps engineer, so CI/CD was shared work rather than someone else's. Go isn't professional experience, but it isn't new either: I touched it for the first time writing Jenkins backup tooling in it at HP in 2019, then picked it up again this year.
Learning Go by writing a Bluesky client. Also built an agent harness with a custom MCP server.
Worked on a generator that turned saved drag-and-drop project files into standalone Python apps, using cookiecutter templating. The generated apps could be distributed as software or hosted internally, and built their UI on an internal Dash wrapper library I also worked on. The proof of concept drew enough client interest that the team took over the JS editor feeding it as well.
For my last few months there I was the sole owner of a separate internal Dash Mantine wrapper library that had gone unmaintained: bringing it up to company standards, writing the missing tests and CI, deciding which parts were still worth keeping, and refactoring what stayed.
Wrote and maintained the Rust gRPC gateway in front of a speech recognition service, starting on day one with no prior Rust. Unary API routing requests to the processing servers, with message passing built on tokio channels.
Later added dynamic server provisioning driven by monitored CPU load, Terraform for the AWS infrastructure, Python tooling for the S3 storage of processed data as Parquet, and the REST API and database behind an internal metrics dashboard. Also maintained the C++ handling real-time call audio.
The SaaS version of the product was the desktop client running headless on a server, with a web UI querying that instance for its data. I fixed bugs in the C++ and adapted its classes so C# could be grafted on top, which was awkward work: the codebase was twenty years old, and most of the people who wrote it had left, so context came from reading it rather than asking. I also wrote some of the C# encoding the data moving to and from the frontend.
Fixed performance problems and bugs in existing C++ codebases, redesigned some of their internal data structures, and wrote a Python tool that generated the PDF analysis reports that had been written by hand until then.
Wrote C++ unit and integration tests for printer and scanner firmware with GoogleTest for the first 14 months, then moved to DevOps: maintaining several Jenkins instances, setting up Docker workers, and writing Go tooling to back up and restore Jenkins configuration so instances could be rebuilt or migrated quickly.
Thesis on a genetic algorithm. Also where I first wrote Python, met Haskell, and built an Android app at a hackathon: a word generator for constructed languages, from the era before Kotlin.