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.
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 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:
- I created a module for creating Redis instances on AWS ElasticCache.
- I applied various changes to different environments (AWS, GitHub).
- Bash scripting
- ELK (Elasticsearch, Logstash, Kibana)
- Sensu + Uchiwa
- 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.
- 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?
- Sofware engineering knowledge. That is a task for whole life, though 🙂
- 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.
- 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.
- 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.
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?
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?
Could you write a cover letter?
I could, but decided to create this page instead.