Clurgo logo
  • Clurgo
  • Blog
  • From Junior to Senior: Curiosity Leads to Expertise. An Interview with Roman Koval

From Junior to Senior: Curiosity Leads to Expertise. An Interview with Roman Koval

8/21/2024 Karolina Szafrańska

Share

Few journeys are as fascinating as those marked by rapid progress and a commitment to learning. From his early days with computers to leading major projects for top enterprises in the market, Roman Koval‘s journey has been both inspiring and instructive. Discover how passion for technology and continuous learning helped him grow from a junior developer to a key player in complex software development projects.

From Junior to Senior is an outgoing series supervised and supported by Katarzyna Wilczek, where we talk with Senior Developers who started their career as a Junior Developers at Clurgo and grew with us to become A-class software engineers.

What are you working on currently? What projects are you involved in?

Roman: Currently, I’m working for a major client in the telecommunications industry. In the main project, they handle the sale of all services—both in-store and through telemarketing. So, essentially, I work with the system for telemarketing and in-store sales. It’s quite interesting because I can see the impact of my work when I enter a store and see what I’ve contributed to. I enjoy seeing the results of my own efforts. That’s the main project. However, my team and I also handle a smaller part of the mechanism. I am responsible for two microservices which sometimes involve developing these investments.

What I really appreciate is spending a lot of time on optimization and upgrading to the latest technologies available in the market. We are up to date with the latest library versions, and everything is covered by tests. This project provides opportunities to spend more time getting things right. There are deadlines, but there’s no unnecessary pressure. The most important thing is that the work is done well and covered by tests. Previously, there was a lot of technical debt, and the client wanted to catch up.

Sounds like a dream project! You get to work with the latest technologies and there’s a strong emphasis on quality.

Exactly. They have an attitude that it’s most important to do things well, even if it takes more time, because they’ve learned the hard way what happens if you don’t.

Can you share a bit about why you became interested in programming? Was it something from childhood or a choice during your studies?

It has been a part of my life forever, but I wasn’t actively engaged with programming until going to the University. I just liked to configure computers to play games better, or upgrade them. That was the extent of my involvement—like installing Windows, for instance. But programming started when I had to choose a major for my studies. There were other fields, each with its pros and cons. One family member, a cousin, had started studying Computer Science earlier, and he had a similar story to mine. He lived in Ukraine, in my city, and moved to Warsaw. So, I followed a path that had already been somewhat tested by my family, and I was open to it, but that doesn’t mean I was prepared for programming. I didn’t know what it was about until I started University. So, my actual beginnings were when I arrived in Warsaw for my studies.

And why did you start learning Java?

After watching IT videos during a summer vacation in my hometown in Western Ukraine, I began analyzing the market, expert opinions, trends, salary prospects, and available learning resources. I decided I wanted to be a backend developer in Java. I did an analysis and made a decision. I didn’t want to deal with frontend development, and I didn’t like C#. The choice was simple.

Nice! Tell me more about your first experiences. When you joined Clurgo, you already did commercial projects. Do you remember what your first job was like?

I have very good memories about my first job. The company had a good atmosphere, and they had never hired juniors before—I was their first. They were actually looking for a senior, and they were surprised when I sent my CV. There were four stages of recruitment, but they eventually hired me. The team taught me based on what they were doing, and they were very supportive. After a year, I was no longer just a junior; I was experienced in the scope of the project and job requirements, and I wasn’t afraid to tackle any topics.

And do you remember your first months at Clurgo?

I remember the recruitment process. For a while, I thought it wouldn’t work out because I passed the first stage of the interview while on vacation and was sure that the job would no longer be available when I returned. However, everything I had arranged with HR took place two weeks later, and I went to the office for the interview. I got an offer and I gladly accepted it! It was nice from the start: I liked the office, the location, and I began meeting everyone. The second day of my work for Clurgo was an integration event 🙂 My first project was very interesting—system optimization for a major European insurer. There was a lot of technical debt, a lot of team consultations, and I got to know new technologies.

Do you remember the moment you realized you were a Mid-level developer and not a Junior anymore?

It probably hit me in the middle of the project for this European Insurer. My path to seniority, which I recommend to anyone who asks how to learn something, involved dedicating a lot of my time to learning. For instance, I saw gaps in my knowledge—I didn’t have a comprehensive understanding—so I started creating my own projects where the main goal was to utilize all the technologies I wanted to learn, to create products, and to use these technologies consciously. I immersed myself deeply in these topics, not just reading or taking courses, but using them to their full potential in my projects.

For example, with Spring, in a work environment, there often isn’t time to dive deeply into everything a technology can do—often only a piece is needed. This approach greatly influenced my development, and now I have substantial knowledge about many technologies that I do not use daily. For instance, I learned frontend development by myself, and now it is useful in my current project, the telecommunication company.

Nowadays, I still work on my own projects, but I don’t have as much time as I had during my student days. Back then, I dedicated a lot of time, sometimes sleeping only six hours and studying in every free moment after work. There was no such thing as work-life balance. My motivation now is to learn new things in order not to lose what I already have, to maintain it, and to stay updated.

If you had to start learning programming today, where would you begin?

I would recommend starting from the basics of everything in computer science. That’s what academic studies provide, and for me, it’s a huge advantage—you can learn a general knowledge about every technology, understand what’s happening, what databases are, how business, frontend, and backend operations work. I think it’s beneficial to gain general knowledge and then choose what you like the most. This general knowledge will come in handy sooner or later.

How are you learning now, and what are you learning?

I always keep up with Java and backend topics. Beyond the project, for my personal development, I’m learning about DevOps topics like CI/CD, Kubernetes, etc. I’m eager to understand these deeply and implement my knowledge in practice. Additionally, I’m learning and experimenting with frontend development because I’m curious about how different things work. I’m currently using React, which offers various possibilities, and I’m experimenting a lot with them. In my view, a backend developer should be familiar with DevOps concepts. I’m also exploring various AI topics.

What inspires you in your daily work?

I like openness when there’s a healthy pace, not a mad rush that has nothing to do with success. I appreciate it when there’s openness to new technologies and a willingness to cooperate among all project participants. I really value a good analyst in the project; I don’t like chaos.

Can you name essential soft skills for a programmer? What is the most important in your opinion?

Commitment, good communication—that’s the beginning, and it’s also a must. It’s a problem when someone doesn’t want to admit they made a mistake, or doesn’t want to say anything because they’re afraid their idea is silly. Collaboration is difficult when someone resists change. Sometimes doing things the old way is fine, but not because someone doesn’t want to understand or learn. Openness, team spirit, and easy communication will solve almost any problem.

Last question. Since you started working for Clurgo, how have you changed? Can you think of some not that obvious changes?

A lot has changed! Most of all, I’ve learned a lot. When Piotr offered me a position to lead a complex and important project, I achieved a career goal—to become a technical leader. After that, the challenge was to perform this role well.
Technologically, there’s a big difference between me 5 years ago and now. I like my current project because I’m doing my job and new ideas are coming. I dreamed of a project that would allow me to stop and see where I am and what comes next, so that the project would allow me to evolve and reflect on what direction I want to go and what new goals I want to choose. Right now I am in the search of my new big goal.

Clurgo logo

Subscribe to our newsletter

© 2014 - 2024 All rights reserved.