Hire me

Hi 👋, it’s a pleasure to meet you! My name is Igor. I am from Poland 🇵🇱 and live in Gdańsk, a beautiful city situated next to the Baltic Sea. I am a software engineer professionally. At the same time, I do various other things.

>I and my dog during water training.

I and my dog during water training

After working hours I am writing ✍️ about different aspects of software engineering on my blog. I am also a co-founder, together with my wife and friend, of Product Vision, the biggest Polish blog about product management. To help people understand the basics of the IT world I created Basics of IT e-mail course 👩‍🏫.

I decided to create Hire me page to make:

  • finding the right job process easier for me,
  • finding the right candidate easier for you.

What is it all about?

I have been working at AirHelp for the last six and a half year mostly. I had started as a junior engineer and was awarded to a regular and senior position overtime. In the meantime, I realized that I want to expand my career as a technical expert 🤓. I am less interested in the management path.

After so many years, even though I have learned a lot, I would like to try something new.

What I am good at?

Ruby is my primary programming language. I have explored Ruby on Rails framework quite deeply. I am not limited to it though. I wrote scripts and simple apps in plain Ruby 💪. I am aware that there are other tools like Hanami, Sinatra or dry-rb. I enjoy:

  • Working on product features collaborating with product people. I must understand business reasoning behind a feature though. I am not a code monkey 🐒. I prefer making valuable things.
  • Solving technical challenges like paying technical debt, automating things or replacing synchronous communication by asynchronous one.
  • Removing dead code.
  • Improving performance by finding bottlenecks. Instrumentation is important.
  • Promoting good practices like Architecture Decision Records and automated PR checks.
  • Doing valuable code reviews and paying attention to pull request description and commit messages at the same time.
  • Upgrading Rails version without outages.
  • Keeping dependencies up-to-date.
  • Conducting internal security audits. I have found quite serious security holes in Ruby on Rails applications.
  • Being a mentor or a buddy for less-experienced developers. I have guided a few apprentices and junior developers.
  • Conducting technical interviews without asking about non-practical algorithms on a whiteboard.

I know something about JavaScript, I was actively involved in developing and testing SPA written in EmberJS 🐹 framework.

I know TeamCity. I created (e.g. for deploying SPA applications) and reviewed various automation templates and builds created in Kotlin. I would really like to see full adoption of continuous delivery with testing on production and canary releases.

I am quite fluent with Amazon Web Services. I have been acting as a DevOps (supported by much more experienced people) for one team. Thanks to that, I became more familiar with:

  • Terraform
    • I created a module for creating Redis instances on AWS ElasticCache.
    • I applied various changes to different environments (AWS, GitHub).
  • Bash scripting
  • Cloudflare
  • Consul
  • Chef
  • Packer
  • ELK (Elasticsearch, Logstash, Kibana)
  • Grafana
  • Sensu + Uchiwa
  • statsd
  • nginx
  • Docker
    • I created and reviewed multiple images following the best practices.
    • Created multi-stage builds to reduce size of images and avoid leaking sensitive data.
  • AWS ecosystem:
    • I upgraded a Postgres database instance from 9.5 version to 11.6 using Terraform.
    • I migrated Redis instance from version 2.X to 4.X.
    • I understand the role of load balancers, the importance of caching mechanisms on different levels.
    • I scaled EC2 instances up and down.
    • I created all the parts (e.g. EC2, RDS, security groups, permissions)  required to deploy a new application with Terraform help.
  • Golang
  • I contributed to microservices written in Go and took care of using the latest language version within Docker containers.
  • Kubernetes pods
  • Google Cloud Platform
  • Chaos engineering
  • Graceful degradation

I enjoy writing about different aspects of software engineering. My blog posts about Ruby were mentioned in Ruby Weekly newsletter several times. I enjoy reading interesting books and articles.

What I do not like?

  • Stupid excuses. Even though there are cases when something needs to be delivered to the end-user as soon a possible, very often quality is sacrificed without any valid reason (e.g. I will refactor this line in the future forgetting about The Boy Scout Rule).
  • Toxic developers and environments.
  • Arguing about programming languages just to argue. They are tools with their own pros and cons.
  • Setting Objective Key Results (OKRs) just to have them. I enjoy transparency and ability to validate progress.
  • Meetings without purpose. Meetings without an agenda. Overcrowded meetings. I prefer asynchronous communication.
  • Interfering work-life balance. It Doesn’t Have to Be Crazy at Work.

What I would like to improve?

  1. Sofware engineering knowledge. That is a task for whole life, though 🙂
  2. Golang knowledge. I have started learning the most important aspects again several times so far, but a real project is always the best motivation to learn and practice. Ideally with support from someone more experienced.
  3. DevOps knowledge. For the last months, I could spend some percentage of my work time on operational tasks supporting a development team. I dirted my hands with different kind of tasks. That allowed me to widen my knowledge about delivering software. I enjoy it.
  4. Knowledge sharing & public speaking 📣. In 2019 I finally braved to present a presentation in English about a topic related to software engineering in front of other engineers. Even though it was stressful for me, I consider knowledge sharing as an important aspect of being a professionalist.
I during my presentation about Architecture Decision Records

I during my presentation about Architecture Decision Records

Those are things that I feel are important to me today. At the same time, I am open-minded and eager to learn anything that can help develop myself further.

Frequently asked questions

Can you work onsite?

I live in Poland, so I prefer remote collaboration. At the same time, I can travel abroad and visit the team on a regular basic. There is a well-communicated airport ✈️ in Gdańsk.

Do you write in Ruby only?

No, it’s my primary language, but I am open to learning new languages. I know something about JavaScript, Golang, Python and Bash as well.

Are you a software or a operations engineer (DevOps)?

I enjoy both aspects of system development life cycle. I am less experienced with the latter though (eager to learn it more).

Do you have CV?

I have an obsolete one. I encourage you to visit my LinkedIn profile if this page is not enough. If you really need one, please let me know.

Could you write a cover letter?

I could, but decided to create this page instead.