Ferenc Erki

independent IT advisor

I provide services around IT infrastructure and platform solutions, and software delivery (including version control systems, test automation, and CI/CD), as well as open source topics.

I currently offer 50% discount for any work results my customers choose to publish under free, libre, or open source terms.

IT infrastructure and platform solutions

I designed, built, and maintained reliable infrastructure and platform solutions throughout my entire career. These projects often enabled cost optimization, or opened new revenue streams.

I passionately apply the KISS design principle to deliver lightweight, performant setups. I’ve scaled solutions up to a few hundred managed endpoints, handling 350k+ events per second, and making sense of data on the petabyte scale.

I can set up or optimize infrastructure as code (IaC), automate processes, introduce test-driven infrastructure operations, and enable insights into the systems through modern observability practices, beyond monitoring, metric collection, and log analytics.

Among others, I worked extensively with bare metal environments, with private and public cloud clusters based on OpenStack, hyper-converged infrastructure with Proxmox, as well as popular Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) ecosystems such as AWS and Heroku.

Software delivery

Version control systems

Most teams often find introducing or improving version control strategy a straightforward way to improve development processes. Git enjoys a widespread adoption nowadays, though merely using it does not automatically improve everything else around it.

I can set up version control systems based on Git, train colleagues about effective and efficient usage patterns, and guide adopting a workflow fitting the team and environment.

Test automation

Identifying problems at earlier stages (“shifting left”) can greatly reduce the cost and time to fix them. Automating the verification steps can further improve the speed and consistency of the results.

In my experience, getting started with static code analyzers, such as linters and formatters, may already lead to fewer bugs and increased productivity.

I can help teams to get started with testing suites or to optimize existing ones with different scopes, like unit, integration, and acceptance tests, as well as approaches, like Test-driven development (TDD) and Behavior-driven development (BDD).

Continuous integration, delivery, and deployment (CI/CD)

Executing the test suite on each proposed change automatically in a separate environment helps reducing integration efforts and increasing confidence. Delivering a new version of the software to a repository after each successful change allows greater flexibility for deployment decisions. Ultimately, the pipeline may directly take care of deployment too, leading to rapid iterations.

I gained my first CI/CD experiences with Jenkins, and since then I worked with Travis CI, GitLab CI, GitHub Actions, and even with custom solutions based on Laminar CI, or Git hooks.

As both contributor to and signatory of Minimum Viable CD, I advocate establishing core set of practices required to start gaining the expected benefits while avoiding common pitfalls and mistakes.

I can help establishing CI/CD processes and systems both on-premises and as hosted solutions, and also optimizing existing ones.

Open source

Open source gets widely recognized for delivering high quality outcomes, while enabling collaboration between volunteers – and even competitors.

Inner source enables adopting open source culture and principles within organizations through open collaboration, open communication, and quality assurance.

I rely on open source solutions both for my personal and professional computing needs since 2005. I participate most actively in the Rex, Perl, and Gentoo communities, while also contributing to different projects via code, documentation, package maintenance, translation, and management. I founded and organized Open Source Contributors' Session meetups to enable others to participate as well.

I can help you navigate the open source landscape by preparing projects for publishing, and guiding adoption of best practices at your organization.