Tomasz Maczukin's avatar image

Who am I?

IT Specialist, systems administrator, software architect and developer.

My experience in IT — continuously since 2002, professionally since 2009. It contains both software development in many languages and GNU/Linux administration.

Since 2013 I am expanding my expertise in the field of software quality, development automation and object-oriented software design. I am constantly transferring this knowledge to others. I have also experience on designing and implementing software development environments and procedures. I have a lot of experience on designing systems that work on a large scale.

Currently, I spend a lot of time on issues generally referred to as Cloud Computing and DevOps.

Privately — hiking, sailing and sport shooting. I'm an amateur competitor and licensed polish sport shooting referee. In a free time I also like to grab my photo camera and make some art with it. Since 2024 I'm a licensed Ham Radio operator, using the SP4TM callsign.

Knowledge and experience

Programming languages

Go
very good
Ruby
very good
PHP
good
python
little
JavaScript
medium
Java
medium
C/C++
little

Databases

PostgreSQL
medium
MySQL
medium
MongoDB
little

Webmastering

HTML
very good
CSS
medium
WebSockets
little

DevOps part 1

Docker
good
Traefik
good
Nginx
good
Kubernetes
medium
KVM/LibVirt
medium

DevOps part 2

Chef
good
Terraform
little
Packer
little
Ansible
little

CI/CD Tools

GitLab
very good
GitLab-CI
very good

Cloud Providers

Google Compute Engine
good
DigitalOcean
good
Amazon Web Services
medium

Spoken languages

Polish (native)
very good
English
good

Other

Amateur photography
very good
Coaching
good
Sport Shooting
good
Sailing
little
Ham Radio
little

Experience timeline

Senior Backend Engineer since 04/2020 GitLab Inc. contractor

Main responsibilities:

  • design and maintenance of Hosted Runners for GitLab.com platform
  • maintenance of GitLab Runner and related projects

Talk at "15 Sesja Linuksowa" 04/2018

Performing a talk Designing a CI/CD solution that processes a milion jobs each day at 15 Sesja Linuksowa — one of the Linux users conferences in Poland.

CI Reliability Expert since 05/2017 GitLab Inc. contractor

Main responsibilities:

  • development of CI part of GitLab CE/EE projects and GitLab Runner project
  • development of monitoring and alerting for CI infrastructure at GitLab.com
  • maintenance of CI related infrastructure at GitLab.com

Coach at Rails Girls Tricity 03/2016

As an Rails Girls coach I was introducing three person team of girls into the world of programming and Ruby on Rails.

More informations about Rails Girls project you can find at http://railsgirls.com/.

Backend Engineer since 12/2015 to 04/2020 GitLab Inc. contractor

Main responsibilities:

  • software development — issues and features handling
  • maintenance of GitLab Runner project
  • on-call hero - handling GitLab.com outages and client's problems on scheduled duties (until 08/2016)

System Administrator, Software Developer 11/2014 - 12/2015 Sprint S.A., Olsztyn

Main responsibilities:

  • management of servers and systems
  • design and implementation of software development infrastructure
  • devops — design and implementation of tools and configurations
  • identification and implementation of new technologies
  • implementation of CI/CD patterns (static code analysis, TDD, BDD, deployment)
  • working with maps and GIS data

PRINCE2® Foundation Certificate 11/2013

November 6, 2013 I passed the exam and received certification at Foundation level of Prince2® project management methodology.

PHP Developer, Team Leader 03/2013 - 10/2014 Dituel Sp. z o.o., Olsztyn/Warsaw

Main responsibilities:

  • design and development on porting to PHP a CMS software of the company (Java-based originally)
  • design and development of the software created for clients of the company
  • management of work of software development team
  • network and servers management in the company's office in Olsztyn

PHP Developer 11/2010 - 03/2013 Redefine Sp. z o.o, Olsztyn/Warsaw

Main responsibilities:

  • development of websites of the company
  • design and development of CMS software of the company

Completion of training for coaches in NGOs 11/2007 ZHP, Olsztyn

In October, 2007 I completed training for coaches in NGOs. The training was realised by ZHP — the largest and the oldest polish scouts organisation.

The training gave me a basic coaching knowledge and experience and prepared me to realise trainings at county level. From 2007 till now I have conducted many of training sessions and I  was involved in planning and organisation process of several large courses.

Freelancer since 2004 self-employment since 12/2015

Freelance in software development and software design. Voluntary work related to the programming and management of IT infrastructure. Image management and PR. OpenSource software development (own and contributed to).

Since December 2015 I'm officially and formally, according to polish law, an owner of my own company: Tomasz Maczukin - IT Specialist.

Business related projects

Hosted Runners for GitLab.com 05/2016 - now

Since May 2016 I'm one of the designers, creators and maintainers of the Hosted Runners for GitLab.com platform. I helped evolve this platform from its baby years when only few public jobs were executed to its current state, where we execute more than 1 M CI/CD jobs every single day on the Hosted Runners only.

Issues I was involved with:

  • operating of highly concurrent CI/CD compute service on a scale — executing more than 1 M tasks every day
  • designing and implementing infrastructure, networking and GitLab Runner configuration
  • designing and providing monitoring capabilities for the Hosted Runners platform

Maintainer of GitLab Runner 03/2016 - now

Since March 2016 I'm one of the maintainers of the GitLab Runner project, a tool that's one of the foundations of GitLab CI/CD.

Issues I was involved with:

  • maintaining code quality and project structure
  • designing and implementing features
  • designing and maintaining GitLab Runner ecosystem
  • managing monthly releases of GitLab Runner versions

Refactorization of one of company's main products 04/2015 - 12/2015

From April to December 2015 I was part of the development team involved in the process of refactorization and re-implementation of one of the most important business products of my employer.

Issues I was involved with:

  • concepts and decisions in architectural scope
  • devops — runtime, deployment and development tools
  • design and implementation of tests (static, unit and functional)

CI/CD software development environment (rev. 2) 03/2015 - 12/2015

Containing:

  • GitLab — as remote code repository and Code Review mechanism
  • GitLab-CI — as Continuous Integration server
  • git-flow — as workflow for Git repositories
  • tests automation — static code analysis, unit testing, functional testing
  • Docker — software containerisation

Moving to a new employer and new team, I've extended my knowledge and experience in the area of software engineering quality and CI/CD, which ended with redesigning the software quality platform stack. I've implemented it in the new form for my new team as well.
Environment was implemented with the employer. Particular configuration elements are unavailable due to provisions of the contract.

Environment for developers team to ensuring software quality (rev. 1) 06/2013 - 06/2014

Containing:

  • GitLab — as remote code repository and Code Review mechanism
  • JenkinsCI — as Continuous Integration server
  • git-flow — as workflow for Git repositories
  • implementation of PSR standards
  • tests automation — static code analysis and basics of PHPUnit
  • Capistrano — as deployment mechanism (implementation of 'Continuous Deployment' pattern)

Making my first steps in the world of Clean Code, software engineering metrics and CI/CD automation, I've designed and implemented a platform for my team to manage our software, its quality and executing regular tasks.
Environment was implemented with the employer. Particular configuration elements are unavailable due to provisions of the contract.

TwojaPogoda.pl 09/2011 - 04/2012

The biggest Polish website about weather and with weather forecasts. I was involved in the entire process of designing and creating a new version of website in 2012. Redesign did end with huge improvement of the website performance (load time of main page reduced from 30 seconds to under 1 second) and limiting the amount of consumed resources at the same time (backend servers saturation reduced from 95% to about 5% and finally the fleet scaled down by 60%).

Non-business related open source projects

IPv6 ULA Generator

Binary for generating IPv6 ULA (Unique Local Address), compatible with RFC 4193.

GitLab integration command for Git push

A binary that introduces the git gitlab-push command, which provides integration with GitLab through push options. Focusing mostly in covering some common configuration that's added when creating merge requests from the freshly pushed branches.

GoFront

Small web frontend used to redirect Go packages from own domain to a source control hosting provider like GitLab.

Go Version lib

A small library for handling version information tracking in software written in Go.

Mageutils

A collection of utilities for working with magefiles.

WhatevaERR

Because software development doesn't need to be always so serious!

More of my open source contributions and projects are available on my accounts at GitLab and GitHub

Contact me

Contact methods

You cant contact me via e-mail or one of my social networks accounts:

e-mail:
X:
GitLab:
tmaczukin
GitHub:
tmaczukin

GPG/PGP

You can also use PGP/GPG encryption if you like. Also, when receiving an e-mail message from me or when checking my git commits, you can expect that they will be signed with my GPG key. I'm signing all my e-mails since 2012, and since February 2016 I'm signing all my git commits and git annotated tags (excluding those created on my behalf by GitLab, GitHub and similar software).

My GPG key can be downloaded from keyservers or directly from here:

ID:
0xE1626E3E26C0C9B5
Fingerprint:
5C62 DF63 396C D290 5201  BBEB E162 6E3E 26C0 C9B5
URL:
https://maczukin.pl/tomasz-maczukin.asc