IC Growth Paths

As a tech leader, you probably have heard a lot about the importance of holding regular 1:1s to hear feedback from your reports and help them grow. However, you may have been burned in the past from this concept of prompting your employees to overthink their personal growth. “They all want to be managers!” I’ve seen one too many executives who realized they’d opened a Pandora’s box.

In my experience, this often means that the organization that your ICs are seeing is one dimensional. Progress or growth mean a single thing—getting a management position. And unless you’re going through a crazy scale-up in a hyper-growth company, there’s no way all of your people can be pushed up the organizational chart.

Some companies try to tackle this by incorporating a career ladder for ICs that clearly states the different stages that your people can climb through. In this article, though, I don’t want to tackle the specific concept of career ladders but talk about the accompanying principle of discussing different growth opportunities for your people that are not just management. You might place these skills on a career ladder, or you might have an approach that’s more ad hoc, which is excellent for smaller/flatter organizations.

The important thing is to realize that it is okay for you and your managers to discuss growth by listing these different skills and opportunities and helping your ICs decide where they should be focusing their efforts. Of course, becoming better at some of these is going to directly affect their ability to take on a management role later on.

Each of these skills is another way for ICs to act as engineering force multipliers. The 10X engineer concept applies in that exceptional engineers can help everyone around them be better, not merely work ten times harder. As Andy Grove’s idea of leverage states, every single person in your organization can have a tremendous impact, and joining all of those force multipliers can result in a force to be reckoned with.

Vertical Tech

In our day and age, too many engineers hold “senior” titles though they might only have a shallow experience working in a particular environment. After all, there’s a definite limit to how many years of experience one might have working in Swift, Vue, Svelte, and so on. When I help teams generate experience faster and boost their “seniorification” process, I always stress the value of going one level deeper.

Those engineers who understand the lower layers are often those who can help debug the nastiest issues or come up with the best approaches. I’ve written about this about a decade ago over on my previous site, and it resonated so much it got more than 100,000 views and hundreds of upvotes on HN and Reddit. I feel like with the years we’ve lost this and routinely see how invaluable those who have this deeper understanding are for their teams.

Horizontal Tech

Another way for growth, especially in our fast-paced world, is to help your engineers become multi-disciplinary. They don’t have to be world-class experts in multiple different areas, that’s going to be hard. I don’t know many people who are both iOS experts and regularly speak about JVM optimizations. But, pushing people out of their comfort zones to be able to understand more of our industry and gain a broader perspective is another way to help them mature and become well rounded.


We’ve all heard that in order to make sure that you understand something, you should try teaching it. Consider with your motivated employees the areas where they can share their knowledge with the team and practice their mentoring skills. Finding out how to introduce concepts, relay them in a comprehensible manner, and getting constant exposure to beginners’ minds is a great learning experience and a win-win where both parties gain and grow.

Client Exposure

When talking about the Product-Tech continuum, I often note that some of the best innovative ideas arise from engineers who are acutely aware of the business, the customers, and their needs. This Product Mastery naturally pushes them more towards the Product end of the continuum and so allows them to introduce novelty that others cannot.

A terrific growth opportunity that takes advantage of the fluid environment of startups and the elasticity of talent is to allow your engineers to get some sort of client exposure. Whatever this means in your company changes and can take many forms. Here are some ideas:

  • Working with customer success: Shadowing customer success/support is a great way to show your engineers the real-world usage of your product. Going over customer interviews and surveys is really beneficial in coming up with simple ways to change your processes or solutions to provide low-hanging value.
  • Sales engineers and solution architects: While not applicable in all companies, these kinds of positions really allow for engineers to step out of their comfort zones and experience service mentality (as well as sometimes providing clear business value, which might otherwise seem distant in some companies).
  • Evangelism and product involvement: There’s a growing number of companies nowadays that develop SDKs and APIs that are consumed by other companies. In those scenarios, your engineers already have an ingrained understanding of the customer’s mindset and so having them involved in some of these activities is natural.

Process Lead

A great way to add value to any team is to help make sure that the processes are routinely retrospected, refreshed, and refitted for the team’s current needs as they change. The most common example of a process lead would be the Scrum Master. Some companies simply have a rotation for the Scrum Master role or assign it to a specific individual. I would suggest putting people in charge of particular parts of your process—even if only for a predefined period of time. Areas, where extra attention is well used, include daily meetings, planning and review meetings, and post-mortems.


Last but not least, I believe that working on one’s communication skills, in general, can propel that individual forward as almost nothing else can. If you think about it, most of the previous areas of growth involve some amount of communication, and that should come as no surprise. Moreover, in this day and age, where a lot of the work has moved to happen remotely, being able to make your case in an email or Slack message articulately can save the entire team days of work time. It is also the difference between behind heard and influential versus being dismissed or misunderstood. Whether it is by talking with people outside of engineering, writing documents, giving internal tech talks, and so on, communication skills can be invaluable for allowing engineers to take on senior roles later on.

I trust that these have supplied you with some ideas and initial thoughts to get the ball rolling. The most important part is not to give up on helping people to develop. You should be prepared for the knee-jerk request to go into management with a solid list of other opportunities and detailing how those can help them achieve the managerial role later on, should they still want it.