Ferenc Erki

independent open source consultant

RexOps family

I am contributing to the RexOps family of projects since 2013. As lead maintainer of Rex, the friendly automation framework, I am providing a wide range of related services, including consultation, training, and development.

Modern Perl

While I find the history and ecosystem of Perl fascinating, I consider myself fortunate enough to gain all my experience already in the modern Perl era.

Whether you are planning to kick off a new project, or tackling challenges of legacy code bases, I'd be happy to lend a hand around development, quality assurance, and test automation.

DevOps

IT infrastructure in general

Designing, building, and maintaining IT infrastructure have been among my responsibilities throughout my entire career. I have helped my teams to deliver solutions up to the scale of few hundred managed endpoints in both bare metal and cloud environments. These projects often enabled cost optimization, or opened new revenue streams.

I am passionate about lightweight, simple solutions (KISS), and love to optimize for high performance. 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.

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

I can help teams to introduce testing suites or to optimize existing ones at various levels (unit, integration, and acceptance tests) and approaches (TDD, BDD).

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

Executing the test suite on each proposed change automatically in a separate environment helps reducing integration efforts and increases 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.

I can help setting such systems up and running on-premise or as a hosted solution, or even optimize existing ones.

Engineering management

In my team work settings I strive for being both effective and efficient. I often found that having just enough formalization of processes lead to great results while keeping the overhead low.

I worked on both forming new teams from scratch and reorganizing previous structures, getting inspired by various agile practices and methodologies (Scrum, Kanban), and assessment frameworks (Operations Report Card).

I can help engineering teams to gain insights into the current status quo, and prepare a roadmap on the path to continuous improvement.

Open source

I am using open source solutions both for my personal and professional computing needs since 2005. I am also regularly contributing to various projects via code, documentation, package maintenance, translation, and management. I am most active in the Rex, Perl, and Gentoo communities. I am also founder and organizer of Open Source Contributors' Session meetups to enable other to participate as well.

I can help you navigate the open source landscape by building communities and developer relations, prepare projects to be open sourced, and understanding licensing implications.

Inner source

Inner source is about adopting open source best practices within an organization without having to publicly disclose any intellectual property. That enables teams to enjoy the benefits without major risks.

I can help your teams to get started with open source practices and principles such as open collaboration, open communication, and quality assurance.