Berlin

November 4 & 5, 2024

New York

September 4 & 5, 2024

Finding the right engineering role for you

Choosing between the individual contributor and management tracks
November 22, 2021

You have 1 article left to read this month before you need to register a free LeadDev.com account.

It can be difficult to choose between the individual contributor and management tracks, and often we don’t understand the day-to-day realities of different job titles.

I’m going to share my experiences of moving from the IC to the management track, outlining the differences between my various roles, and sharing a few words of advice for figuring out what position is right for you.

Just eat

I started my career in software development back in 2010 and have worked most of my professional life as a software engineer. When I joined SkipTheDishes (part of Just Eat Takeaway.com) in July 2018 as a Senior Java Developer, things started to change; I enjoyed the challenges of working in a hybrid team to integrate technologies used in different divisions of the company and I had to interact with a variety of stakeholders in all areas of the business which gave me the opportunity to widen my skill set.

After a year, I had a chance to move to a technology manager position, where I started down the management path – or as we at SkipTheDishes call it, the people leadership path. This was a big professional change after working for almost ten years as an individual contributor. I later moved to a senior technology manager position where I dove even deeper into people leadership. Here’s what I learned along the way about finding a role that’s right for you.

Moving from the IC to management track

When I moved to a technology manager position, I had to make sure I really wanted to change my career path. What motivated me at the time was that this particular position would still have a big part as an individual contributor; I would be still coding (though less than before), still do code reviews, and could be heavily involved in technical discussions with developers and principal engineers. However, I would also be working on the management side, changing focus to the team and working on their professional career plans, creating and sharing opportunities for folks to work at higher levels and continuously grow in their careers.

The management path presented me with a lot of new challenges. I had to adapt fast, be creative, and interact even more with stakeholders from all departments. I soon realized why they called it the People Leadership path, because your focus really shifts to people and how you can help them be successful.

After a year as a technology manager, I found I was spending my time more on people management and planning tech projects than in coding itself, focusing more on growing our developers to be the experts with their technical skills. Here, seeing the results of continuous improvement and growth was awesome.

Then a new opportunity arrived and I became a senior technology manager, which was yet another big change in my professional life, as this took me far away from coding and I was interacting with even more stakeholders and working on more high-level plans. I had to rely even further on our teams and their specialism areas.

The biggest change when I became a manager was that I needed to serve my staff. In many ways, it is your role to help them in their careers and you become beholden to the team. While there are some aspects of being more in control and setting direction, people management is less about telling people what to do and more about helping them to get to the right decisions and developing their capabilities to do so. And I enjoy it because, even though it takes some time, you feel good when people are happy achieving their goals and you see the great impact on company goals as well.

Should I go back to the IC path?

As of now, I’ve been working in the manager path for over two years. I really enjoy working with people, trying to be a facilitator, and creating opportunities for everyone to grow. I like to be involved in the high-level planning for our projects and teams and to create opportunities for people to succeed.

But I definitely miss coding and development itself. I do put in the time to stay up to date studying new technologies and I still like to go deep on some of our technical initiatives to learn from our amazing teams. I try to share knowledge from my previous experiences and I even do code reviews from time to time, but I’m definitely not as savvy as I was before and the main reason is that it is really not the expectation on the management side.

I have some good friends and colleagues in a similar position and they are considering going back to be developers or even principal engineers. For them, that’s awesome and it really makes sense as they prefer to focus on the technical side and are not interested in the people management aspect.

However, I usually expect principal engineers to be very knowledgeable in a specific area and to be a leader as well, to be someone that will inspire and work together with developers to create principles and best practices for us to keep a continuous improvement mindset. This is the part where individual contribution and people leadership start to converge, so I think anyone who is considering a principal engineer role in the future would benefit from getting experience in people leadership first.

Finding the right role for you

As a senior developer, you may get to a point in your career where you will be asked ‘What do you want to do next?’. And that is the hardest question, maybe because you don’t know, or you may really love what you are doing and don’t see a reason to change. That’s okay!

Firstly, a senior developer is one of the most important roles in most tech companies. You will most likely be expected to be an expert in certain technologies and have the opportunity to mentor and lead other developers whilst leading new initiatives and projects. From my perspective, the senior developer role can definitely be a long-term one, and in most companies, you’ll be able to grow inside that role as well.

But, if after some time you do want to try a new challenge or change your focus, you may start thinking about a principal engineer or a technology manager role. Both are very different from a senior developer as you will most likely get out of your comfort zone and will need to learn new skills. Soft skills really help in any position, but for these roles that involve you talking to more stakeholders, these soft skills will really help you.

Even though most companies have their principal engineers on the IC path and technology managers on the manager path, both are essentially leadership positions, and sometimes the transition may happen very naturally. Most senior developers are already leaders in their role, and with this move it will just change your focus.

As a principal engineer, you will focus on getting involved more heavily in company challenges related to more technical aspects. As a technology manager, you will focus more on getting involved in your team’s challenges and things like their career and progression, for example. In the end, as developers, principal engineers, and technology managers, we are all leaders, but in different ways and disciplines. You need to evaluate what really motivates you and what you are passionate about to decide how you want to grow in your career.

Conclusion

Everyone is unique and has their own personal and professional goals. My main advice is to evaluate what you love to do and what motivates you and invest your time and energy in that area. And remember, many roles incorporate both technical and people leadership aspects. Rather than getting caught up with definitions of IC vs manager, focus on finding – and carving out – a role that works for you.

Just eat