Ferenc Erki

independent IT advisor

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

IT infrastructure and platform solutions

Designing, building, and maintaining IT infrastructure and platforms have been among my responsibilities throughout my entire career. These projects often enabled cost optimization, or even opened new revenue streams.

I am passionate about lightweight, simple solutions (KISS), and love to optimize for high performance. I have helped my teams to scale solutions up to a few hundred managed endpoints in both bare metal and cloud environments, handling 350k+ events per second with low latency, 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 monitoring, metric collection, and log analytics.

Among others, I worked with private and public cloud 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

Introducing or improving version control strategy is often a straightforward way to improve development processes. Git enjoys quite widespread adoption nowadays, but merely using it does not automatically mean everything else around it is also getting better.

I can set up version control systems based on Git, train colleagues about effective and efficient usage patterns, and design a development 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 increased maintainability and fewer bugs.

I can help teams to get started with testing suites or to optimize existing ones at various levels (unit, integration, and acceptance tests) with different approaches (TDD, 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 deployment itself may be done directly at the end of the pipeline, leading to rapid iteration cycles.

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 believe there’s a 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 optimizing existing ones.

Open source

Open source is widely recognized for delivering high quality outcomes, while enabling collaboration between volunteers, or even competitors.

Inner source enables adopting open source-like 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 am most active in the Rex, Perl, and Gentoo communities, while also contributing to various 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 to be open sourced, understanding license implications, and getting started with applying best practices to your organization.