Back to Resources library
Blog

Career Paths: From QA Intern to Lead Software Developer

Celtra Last updated: March 21, 2024
8 min read

Table of Contents

Ever wondered how one chooses a career in software development? Or how the role of a QA intern can progress over the course of almost a decade? Take a glimpse into the daily challenges tackled by the highly skilled Iztok Oder, a Lead Software Developer at Celtra, and read the insightful conversation in which he shares his initial career-shaping motivations and the most important skills that keep pushing him forward.

When did you decide to pursue a career in the field of software development, and what steps have led you here?

I suppose it all started in primary school. I’ve always enjoyed solving logic puzzles and math in general and when I was in the fifth or sixth grade, my family finally got our first computer. I was immediately hooked! Of course, at that time, it was mostly about playing games. I had no idea there was anything more to computers. Eventually, I started playing around and always felt like a hacker when I successfully managed to run a program through the terminal. Just like in the movies! 😂

Even though I wasn’t sure what programming was, I was intrigued by the technology and the endless possibilities that it offered. Unlike my high school classmates, I was soon certain that I wanted to pursue a career in the field of computer science. Still, it wasn’t until university that I started seriously learning about computer science, and it turned out there’s way more to it than just programming. Starting from scratch was hard, but my problem-solving skills, patience, and stubbornness pushed me to learn enough to really start enjoying the field.

It was fairly simple from there. I was involved in a couple of projects at the university and some of them connected me with the industry, but those were mostly AI-related. They were super fun, but I did not see myself doing it in the long run. It involved a huge amount of research with very little impact on customers. I decided I wanted a break from that and went on exchange to Utrecht University. The whole experience was life-changing, and it led me to apply for a job at Celtra.

What, in your opinion, are 2-3 character traits that are crucial to software developers?

Problem-solving skills are definitely at the top of the list. We face complex challenges daily. Being able to spot problems, come up with smart fixes, and put them into action smoothly is super important.

These skills go hand in hand with continuous learning. Software development is dynamic and constantly evolving. Developers should stay on top of the latest best practices, industry trends, and new technologies.

Another important trait is the ability to communicate well. It is impossible to do everything by yourself in this fast-paced world – teamwork is key. Speaking up makes it possible to share ideas, get the results needed, and exchange helpful feedback.

What does a normal day look like as a Lead Software Developer at Celtra?

My main job and priority is to push projects forward by unblocking everyone involved. This includes but isn’t limited to our team’s projects, as cross-team communication and collaboration are a big part of my role. 

On a typical day, I start by going over the team’s running projects to check if any immediate roadblocks need my attention. Usually, this means working through a nice chunk of code reviews and holding meetings or quick chats to discuss any missing product decisions or potential code and software architecture solutions. One of these meetings is our daily standup, where we coordinate everyone’s efforts and align on the next steps.

Once everything is sorted, my focus turns to upcoming projects. This entails working with the product manager and designer to sort out any unknowns and writing technical specifications. In some cases, this extends beyond the needs of a single project into proposing new technologies, tackling technical debt, writing guidelines, etc.

What are the toughest challenges you face daily, and how do you overcome them?

I am constantly juggling multiple responsibilities, including coding, code reviews, meetings, mentoring, managing projects, etc. One of the toughest challenges is effectively managing my time. What has worked for me somewhat successfully is having a solid plan for each day. I try to split the day into several chunks, each dedicated to a specific task. A consistent routine simplifies everything because you know exactly what’s coming next. Naturally, this isn’t possible every single day, but I try to be consistent.

The second challenge I would point out is balancing short-term feature project deadlines with long-term code quality. There is always pressure to deliver features, which can lead to accumulating technical debt. Managing technical debt effectively to maintain code quality, scalability, and developer velocity while still delivering the features is a constant challenge.

You’ve been at Celtra for over 8 years. How did your role change from when you started until the present day?

It’s hard to believe that eight years have passed. Time flies soooo fast. A lot has changed since my first day. I started as a part-time QA intern working on end-to-end tests for our ads running on different devices. It was an interesting job, but eventually, I wanted new, more complex challenges.

My wish was to work on the product itself, and fortunately, I was given the opportunity and a mentor. Obviously, without any real development experience, I started at the bottom as a developer intern. I worked on a lot of different projects, picking up knowledge about the industry, the product, processes, and the web development itself.

With time, I began to work on more complex projects and managed to grow my knowledge to the point where I became a valuable contributor. There were a lot of opportunities to learn and extend my responsibilities, and I proactively grabbed as many as I could. This didn’t go unnoticed, and I was eventually promoted to senior developer. At this point, I was still mostly just an individual contributor with limited reach. I was mentoring people, prioritizing and estimating tasks, writing technical specifications, and mostly coding.

As I enjoy hard challenges, the next step was a no-brainer. The opportunity to help with the development of a new product from scratch presented itself, and I jumped on it. It was a huge undertaking, and it required a whole new set of skills outside of coding. There was the aspect of defining the new architecture, writing specifications, and coding, but what was completely new was leading a few of the projects from start to finish with a team of developers. I needed to oversee them, assign tasks, and ensure effective collaboration.

Now, as a lead developer, I do all of the above and more. On the one hand, I try to have a positive impact on all developers who work on the codebase by mentoring them, providing feedback, and ensuring best practices and good software architecture. I keep an eye on team members and ensure they get more complex tasks when they are ready to take on more responsibility. On the other hand, achieving company business objectives and aligning the technical solutions with them is my new number one priority. 

What is your favorite aspect of your job, and what makes working at Celtra special?

Without a doubt, it’s the people. I work with many extremely talented, creative, resourceful, and driven engineers, designers, managers, technical writers, and so on, each bringing something special to the mix. We’re all a huge team that solves problems together, shares ideas, and supports each other. In the end, it’s not just about the cool code we write; it’s about the friendships, facing challenges together, and celebrating wins.

Liked this article? Read the previous Career Paths Q&A on how to become a Product Designer, or check out our content hub for more culture and industry-related blogs.

Interested in a software engineering career? Check available positions at Job Careers at Celtra and apply today!