Welcome

I’m a senior software dev, DevOps engineer/SRE and I don’t fear databases, which probably makes me a platform engineer. Job titles are funny, even more so when you’re so used to constrained resources, you don’t ask who should do the job but what job needs to be done.

I value self-motivation, strong critical thinking and analytical skills. I aim to prevent inefficiencies like duplicate efforts, vague requirements, overengineering, scope creep, and other.

Contact

In order to contact me, email me at contact@<domain name from the address bar>. Alternatively, run base64 -d <<<"Y29udGFjdEBrYXJvbGluZXBhdWxzLmNvbQo=" in the terminal (or decode using DuckDuckGo).

Example projects

Open source

logstruct, a library bringing structured logging to the Python standard library, with a fraction of the complexity of structlog. The project comes with complete documentation, covering all features.

pytest-kafka project, averaging >200 downloads a day.

I help maintain the dramatiq project, though most recently I’ve been fixing Postgres problems in dramatiq-pg.

Check out my GitLab profile or articles on this website for more.

Proprietary

Greenfield project development e.g.:

  • RTB systems - ad targeting algorithms, including geotargeting and bloom filter indexing, AWS infrastructure design.

  • More recently, created a blog content generation system using:

    • a self-configuring CMS integration with automated website logo and colour scheme recognition informing article banner and image generation

    • an OpenAI pipeline with Pydantic structured outputs, featuring web search, result scraping and LLM fact extraction, source quality grading, article outline generation, article section generation, banner generation, and image generation, followed by final article assembly

    • management and reporting APIs, user-friendly diagnostics of CMS errors

Modernisation and sanitisation of a number of backend systems:

  • Migrated from an unreliable transaction management pattern to SQLAlchemy sessions by developing custom intermediate layers enabling switching between old and new transaction behaviours based on configuration. This allowed safe step-by-step service migration with full backward compatibility, easy reversal of changes, and minimal impediment of ongoing development.

  • Performed a number of project-wide high impact database and dataflow migrations with no downtime and backward compatibility at every step.

  • Improved developer experience by speeding up test database setup with the use of template databases, ensuring external resource cleanup (Redis, Motoserver), and removing prod dependencies from testing.

  • Performance profiling, PostgreSQL query optimisation including thoughtful denormalisation and advanced indexing patterns. Promoted the use of bulk upserts in data ingestion, which improved performance and helped simplify the architecture.

  • Lead DevOps IaC efforts. Provided a CI/CD pipeline allowing teams to quickly deploy feature branches onto a Kubernetes cluster (EKS) in order to speed up and parallelise ongoing product integrations.


If you are interested in working with me, see the Contact section.

Attribution-NonCommercial-ShareAlike 4.0 International

All content of this website is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International licence.