croak.pl logo

croak.pl

Available for select projects & contracts

Hi, I'm Victor Petrenko. A Senior Perl Developer & DevOps Engineer.

With over twenty years of software engineering and systems administration experience, including five years in engineering leadership roles. I specialize in scaling heavy applications, managing cloud architectures, and breathing new life into legacy codebase.

Victor Petrenko CV

Select presentation format:

VictorPetrenkoCV.pm
package VictorPetrenkoCV;
# Objective: Tech Lead, Perl Developer, Ruby Developer, DevOps Engineer
use 5.038;
use warnings;
use constant CONTACT_INFORMATION => {
    note => 'Use the contact form on croak.pl'
};
use constant EXPERIENCE_SUMMARY => q{
    Have over twenty years of software development / systems administration experience which
    includes about five years being on lead positions. Comfortable with most popular development
    methodologies and practices like Agile/Scrum, Kanban, Test Driven Development.
};
use constant PROGRAMMING_LANGUAGES_AND_RDBMS => {
    Perl => {
        server_interfaces => [ 'PSGI', 'FastCGI', 'mod_perl' ],
        frameworks        => [ 'Dancer', 'Mojo', 'CGI::Application' ],
        templateing       => [ 'Template', 'HTML::Template', 'Mojo::Template' ],
        db_interfaces     => [ 'DBI', 'DBIx::Class', 'Mojo::mysql', 'Mojo::Pg' ],
        useful_libs       => [ 'Moose', 'IO::Socket', 'Parallel::Prefork' ],
        app_servers       => [ 'starman', 'gazelle', 'hytnotoad' ],
        test_suites       => [ map { 'Test::' . $_ } ('Class', 'Class::Moose', 'Most') ],
        versions          => [ map { !( $_ % 2 ) ? '5.' . $_ : () } (6 .. 38) ]
    },
    MySQL => {
        engines  => [ 'MyISAM', 'InnoDB/XtraDB', 'TokuDB' ],
        forks    => [ 'MySQL', 'Percona Server', 'MariaDB' ],
        versions => [ 'up to 8.0' ]
    },
    Shell => {
        variants => [ 'bash', 'ksh', 'zsh', 'tcsh' ]
    },
    PostgreSQL => {
        versions => [ 9 .. 16 ]
    },
    JavaScript => {
        frameworks => [ 'React/Redux', 'Knockout', 'jQuery', 'Prototype' ]
    },
    Ruby => {
        versions   => [ '1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4' ],
        frameworks => [ 'Rails', 'Sinatra' ],
        orms       => [ 'ActiveRecord', 'DataMapper' ]
    },
    Go => 1,
    C  => 1,
    Java_n_Android_SDK => 1
};

use constant OPERATING_SYSTEMS => {
    linux => [ 'RHEL/Rocky', 'Debian', 'Archlinux', 'Slackware' ]
};

use constant CLOUD_PROVIDERS => {
    AWS          => [ 'EKS', 'EC2', 'S3', 'RDS', 'Aurora', 'VPC', 'ELB', 'SQS' ],
    Google_Cloud => [ 'GKE', 'Cloud Functions', 'Cloud SQL', 'Storage' ]
};

use constant OTHER_SOFTWARE_AND_TOOLS => {
    web_servers          => [ 'apache', 'nginx', 'lighttpd' ],
    bandwidth_management => [ 'iptables', 'tc (+HTB)' ],
    nosql_dbs            => [ 'redis', 'memcached', 'berkleydb' ],
    queues               => [ 'rabbitmq', 'beanstalk', 'SQS' ],
    configuration_mgmt   => [ 'ansible', 'chef', 'puppet' ],
    mail_servers         => [ 'postfix' ],
    version_control      => [ 'git', 'svn' ],
    virtualization       => [ 'docker/docker-compose', 'virtualbox/vagrant', 'openvz' ],
    orchestration        => [ 'kubernetes' ]
};

use DDP;
sub new {
    my $self = bless {};
    no strict 'refs';
    map { $self->{$_} = $self->$_ }
    grep { (uc($_) eq $_) && defined &{$_} }
    keys %{__PACKAGE__ . '::'};
    p $self;
    say 'Run [ perldoc VictorPetrenkoCV ] for more information.';
    return $self;
}
__PACKAGE__->new();
1;
__END__

=head1 Experience (Full-time projects)

=head2 Senior DevOps Engineer @ OMFS Ltd
Was building infrastructure for a CRM SAS platform using modern DevOps stack as well as
providing security and architecture consultations. I’ve led and coordinated with Ops
and Devs implementation of the geo partitioned architecture to meet growing market
needs.
Tools and Technologies: AWS (VPC, EKS, Karpenter, S3, RDS, SQS, AmazonMQ, ElasticCache,
Transit Gateway, Route53), K3S, Terraform, HashiCorp Vault, Traefik, Grafana
Observability Stack (Alloy, Loki, Mimir), External Secrets Operator, Reflector,
Reloader, Trust Manager, GitHub CI, ArgoCD, etc.
May 2025 – Now

=head2 Cloud Migration Engineer @ Coremont LLC
Coremont is a FinTech company that previously was a risk department of Brevan Howard
hedge fund, which was spun off into a separate company to provide similar services to
other clients. As a part of separation process company had to move its infrastructure
from BH facilities somewhere. They decided that they need to move 20 years old
codebase into cloud (AWS). Whole reporting and and reports’ delivery is in Perl. They
needed someone who knows Perl on a level that allows to rebuild Perl itself and to
rebuild and patch libraries they use. At the same time they needed someone who knows
databases well enough to rewrite reporting SQLs from Sybase/MSSQL to PostgreSQL which
is now preferred database for Murex. That’s where we had a match.
Tools and Technologies: Perl, PostgreSQL, Sybase, MSSQL, Autosys, GitlabCI, ArgoCD, AWS
(EKS, EC2, S3, RDS, Cloud Formation, Service Catalog).
Apr 2024 – May 2025 (yearly contract job)

=head2 Senior Perl Developer @ Glopal
My job here was mostly finding bottlenecks in existing applications as well as
extending application ecosystem (writing deployments, replacing outdated tools and
technologies, even improving delivery address translations for the part of the project
that’s responsible for localization, I just do whatever is fun and what others are
afraid to touch).
Tools and Technologies: Perl, DBIx::Class, Mojolicious, MySQL, PostgreSQL, Memcached,
GitlabCI, Kubernetes (GKE, k3s), Docker Compose.
Oct 2021 – Apr 2024

=head2 Lead Developer @ UK2 Group / Senior Perl Developer
Developed backend API for UK2's hosting control panel. Mainly I was responsible for
cPanel and Sectigo integrations along with bugfixing and adding features to everything
else (DNS, Registrars, Dedicated Server API, Basekit integrations, etc.). During the
second period of work I was mostly fixing critical issues (with an exception of
implementing changes to cPanel licensing, and adding another payment gateway) as well
as acting as a development manager: interviewing/onboarding new people, prioritizing
tickets and writing precise specifications and documentation for newcomers.
Tools and Technologies: Perl, Moose, DBIx::Class, Dancer, Test::Class::Moose, MySQL,
RabbitMQ, cPanel, OTRS, Enom, Tucows, ComodoSSL/Sectigo
Feb 2015 - Dec 2017, Dec 2020 - Aug 2021

=head2 Senior Perl Developer @ CloudBeds
Part of MyAllocator core team. MyAllocator is an OTA (Online Traveling Agency) unified
API for property management systems which allows selling hotel rooms via various OTA
platforms (100+ in total) in parallel minimizing overbookings. My responsibility was
eliminating core system bottlenecks and scaling the system. You can think of this as a
mixture of development and devops where you rewrite every bit that prevents scaling,
sometimes totally with changing scheduling/priority models.
Tools and Technologies: Perl, Moo, DBIx::Class, Parallel::Prefork, Node.js
Dec 2017 - June 2018, Dec 2018 - Dec 2020

=head2 Senior Perl/Ruby Developer/DevOps Engineer @ 17hats
Doing both backend and a bit of frontend for 17hats.com as well as participating in
their devops team dedicating about 10% of my time to deployment improvements, server
monitoring, development environment updates. It was half a year contract, where I had
a chance to code in ruby to bring my ruby skills up to date, so guys from CloudBeds
just let me go for that period.
Tools and Technologies: Perl, Ruby + Rails 5, JavaScript, Docker, Docker Compose
June 2018 - Dec 2018

=head2 Chief Technical Officer @ SMS-Agregator
System Architect (Feb 2014 - July 2014) / Senior Perl Developer (May 2013 - Feb 2014)
Started as a developer of a m-commerce/SMS payment gateway. System itself is a high-
load (literary highload with hundreads of transactions per second) product which
processed about half of Ukrainian SMS payments (in 2013-2014) with a back-end written
in Perl (payment API) and front-end in PHP (partner accounts, configuration
interface). Was responsible for development of new specification, zero downtime
refactoring, migration plan and coordination of team members during the redesign
process which led to my promotion and replacement of current CTO after it was
complete.
Tools and Technologies: Perl, PSGI/Plack, MySQL, PostgreSQL, Nginx, Postfix, Kannel,
Test::Class, Test::Most, Test::MockObject
May 2013 - Dec 2016

=head2 Senior Perl Developer @ Provectus IT (TicketMaster's outsourced project)
Member of offshore ticketmaster.com / livenation.com team. Worked on ticketmaster's
website checkout process.
Tools and Technologies: Apache(mod_perl + mod_rewrite), Perl, MySQL, Oracle 10g,
JavaScript
Sep 2012 - May 2013

=head2 Senior Perl Developer @ BuzzFeed
Developed new features for buzzfeed.com
Tools and Technologies: Perl, JavaScript, Bash, BuzzFeed self grown MVC, Mojolicious,
MySQL, Memcached, Test::Class, Test::Most, Test::MockObject, Test::MockModule
Dec 2011 - Sep 2012

=head2 Perl Developer @ Alterpoint
Was developing and improving adapters for Network Authority backup system. Also I did
professional services work for platinum customers like writing custom scripts, help
with linux servers that run the product etc.
Tools and Technologies: Perl, ZipTie Framework, NetworkAuthority, MySQL, MS SQL, Oracle
Jun 2010 - Dec 2011

=head2 Perl Developer / Linux Systems Administrator @ PrivatBank
Developer of drysms.com project, developer of the PrivatBank feedback system based on
their sms receiving and sending API.
Tools and Technologies: Perl (CGI::Application + TT was used as framework), MySQL,
Bash, Sendmail
Aug 2009 - Mar 2010

=head2 Linux Systems Administrator @ Dnipro Railway Parts
Managed IT infrastructure of small manufacturing/trading company and did modifications
to their website. I used perl to parse urls from vendor websites and to download those
during night time.
Tools and Technologies: Slackware Linux, Samba, Sendmail, 1C 7, Perl + LWP, HTML::Tree, Bash.
Aug 2005 - Mar 2009

=head1 Part-time projects

=head2 Senior Perl Developer @ SoftServe
Developed new features for cisco integration testing framework to support new devices
(ESA/IRONPORT).
Nov 2013 - Feb 2014

=head2 JavaScript Developer @ Versata
Was extending Versata's ZenDesk based support website, developing custom widgets,
integrating it with GoodData, SalesForce.
Tools and Technologies: Zendesk API, JavaScript, Perl, MySQL, node.js
Dec 2011 - Jan 2013

=head2 On Demand Linux Systems Administrator @ Shidud Ltd
Administrating servers that run real time currency trading application based on
currenex.com platform.
Tools and Technologies: Ubuntu Server, stunnel, OpenVPN, Racoon, Perl
Sep 2011 - Dec 2011

=head2 Perl Developer @ HealthStatus
Improved reporting engine of their main product, designed to calculate employee health risks.
Tools and Technologies: Perl, MySQL, PostgreSQL
Oct 2010 - Nov 2010

=head1 Education
B. Sc. in Physics @ Dnipropetrovsk National University, Physics Faculty, Experimental
Physics department

=head1 Languages
English           - Advanced
Russian, Ukrainian - Native
Polish            - Advanced
German            - Beginner. Know grammar and several hundreds of words
=cut

Victor Petrenko

Senior Perl Developer & DevOps Engineer

Objective: Tech Lead, Perl Developer, Ruby Developer, DevOps Engineer

Experience Summary

Have over twenty years of software development / systems administration experience which includes about five years being on lead positions. Comfortable with most popular development methodologies and practices like Agile/Scrum, Kanban, Test Driven Development.

Technical Skills Inventory

Perl (20+ Years): Dancer, Mojolicious, CGI::Application, Template Toolkit, DBIx::Class, Moose, Parallel::Prefork, starman, gazelle, Test::Class

Databases (20+ Years): MySQL, MariaDB, Percona Server, TokuDB, PostgreSQL (9..16), Sybase, MSSQL

Operating Systems: Linux (RHEL/Rocky, Debian, Archlinux, Slackware)

Cloud Infrastructure: AWS (EKS, EC2, S3, RDS, Aurora, VPC, ELB, SQS), GCP (GKE, Cloud Functions, Cloud SQL)

DevOps & Tooling: Kubernetes (K8s/K3s), Docker/Docker-Compose, Ansible, Terraform, Puppet, Chef, Nginx, Apache, Postfix, Git

Other Languages: Shell Scripting, JavaScript (React, Redux, jQuery), Ruby (Rails, Sinatra, ActiveRecord), Go, C, Java

Professional Experience (Full-Time)

Senior DevOps Engineer @ OMFS Ltd
May 2025 – Present

Was building infrastructure for a CRM SAS platform using modern DevOps stack as well as providing security and architecture consultations. I've led and coordinated with Ops and Devs implementation of the geo partitioned architecture to meet growing market needs.

Tools and Technologies: AWS (VPC, EKS, Karpenter, S3, RDS, SQS, AmazonMQ, ElasticCache, Transit Gateway, Route53), K3S, Terraform, HashiCorp Vault, Traefik, Grafana Observability Stack (Alloy, Loki, Mimir), External Secrets Operator, Reflector, Reloader, Trust Manager, GitHub CI, ArgoCD, etc.

Cloud Migration Engineer @ Coremont LLC
Apr 2024 – May 2025

Coremont is a FinTech company that previously was a risk department of Brevan Howard hedge fund, which was spun off into a separate company to provide similar services to other clients. As a part of separation process company had to move its infrastructure from BH facilities somewhere. They decided that they need to move 20 years old codebase into cloud (AWS). Whole reporting and and reports' delivery is in Perl. They needed someone who knows Perl on a level that allows to rebuild Perl itself and to rebuild and patch libraries they use. At the same time they needed someone who knows databases well enough to rewrite reporting SQLs from Sybase/MSSQL to PostgreSQL which is now preferred database for Murex. That's where we had a match.

Tools and Technologies: Perl, PostgreSQL, Sybase, MSSQL, Autosys, GitlabCI, ArgoCD, AWS (EKS, EC2, S3, RDS, Cloud Formation, Service Catalog).

Senior Perl Developer @ Glopal
Oct 2021 – Apr 2024

My job here was mostly finding bottlenecks in existing applications as well as extending application ecosystem (writing deployments, replacing outdated tools and technologies, even improving delivery address translations for the part of the project that's responsible for localization, I just do whatever is fun and what others are afraid to touch).

Tools and Technologies: Perl, DBIx::Class, Mojolicious, MySQL, PostgreSQL, Memcached, GitlabCI, Kubernetes (GKE, k3s), Docker Compose.

Lead Developer / Senior Perl Developer @ UK2 Group
Feb 2015 – Dec 2017, Dec 2020 – Aug 2021

Developed backend API for UK2's hosting control panel. Mainly I was responsible for cPanel and Sectigo integrations along with bugfixing and adding features to everything else (DNS, Registrars, Dedicated Server API, Basekit integrations, etc.). During the second period of work I was mostly fixing critical issues (with an exception of implementing changes to cPanel licensing, and adding another payment gateway) as well as acting as a development manager: interviewing/onboarding new people, prioritizing tickets and writing precise specifications and documentation for newcomers.

Tools and Technologies: Perl, Moose, DBIx::Class, Dancer, Test::Class::Moose, MySQL, RabbitMQ, cPanel, OTRS, Enom, Tucows, ComodoSSL/Sectigo

Senior Perl Developer @ CloudBeds
Dec 2017 – Jun 2018, Dec 2018 – Dec 2020

Part of MyAllocator core team. MyAllocator is an OTA (Online Traveling Agency) unified API for property management systems which allows selling hotel rooms via various OTA platforms (100+ in total) in parallel minimizing overbookings. My responsibility was eliminating core system bottlenecks and scaling the system. You can think of this as a mixture of development and devops where you rewrite every bit that prevents scaling, sometimes totally with changing scheduling/priority models.

Tools and Technologies: Perl, Moo, DBIx::Class, Parallel::Prefork, Node.js

Senior Perl & Ruby Developer / DevOps @ 17hats
Jun 2018 – Dec 2018

Doing both backend and a bit of frontend for 17hats.com as well as participating in their devops team dedicating about 10% of my time to deployment improvements, server monitoring, development environment updates. It was half a year contract, where I had a chance to code in ruby to bring my ruby skills up to date, so guys from CloudBeds just let me go for that period.

Tools and Technologies: Perl, Ruby + Rails 5, JavaScript, Docker, Docker Compose

Chief Technical Officer @ SMS-Agregator
May 2013 – Dec 2016

Started as a developer of a m-commerce/SMS payment gateway. System itself is a high-load (literary highload with hundreads of transactions per second) product which processed about half of Ukrainian SMS payments (in 2013-2014) with a back-end written in Perl (payment API) and front-end in PHP (partner accounts, configuration interface). Was responsible for development of new specification, zero downtime refactoring, migration plan and coordination of team members during the redesign process which led to my promotion and replacement of current CTO after it was complete.

Tools and Technologies: Perl, PSGI/Plack, MySQL, PostgreSQL, Nginx, Postfix, Kannel, Test::Class, Test::Most, Test::MockObject

Senior Perl Developer @ Provectus IT (TicketMaster)
Sep 2012 – May 2013

Member of offshore ticketmaster.com / livenation.com team. Worked on ticketmaster's website checkout process.

Senior Perl Developer @ BuzzFeed
Dec 2011 – Sep 2012

Developed new features for buzzfeed.com

Education

B. Sc. in Physics
Dnipropetrovsk National University
Physics Faculty, Experimental Physics department

Languages

English: Advanced
Polish: Advanced
Ukrainian: Native
Russian: Native
German: Beginner (Grammar, basic vocabulary)

Let's build something together

You can also reach out via LinkedIn.