Hey 👋 this is Luca! Welcome to a 🔒 weekly edition 🔒 of Refactoring.
Every week I write advice on how to become a better engineering leader, backed by my own experience, research and case studies.
You can learn more about Refactoring here.
To receive all the full articles and support Refactoring, consider subscribing 👇
A few months ago I wrote an article about the different role of tech leads and engineering managers. After that, several people wrote me to tell their experience, and asked for advice about their responsibilities and career path.
I find it very hard to give good advice about leadership roles in tech. The same role can be very different in different companies — and also in different teams within the same company.
In software, I feel we are still figuring out what the various skills and responsibilities really are, and we keep adjusting roles and tracks accordingly.
For instance, there is now a healthy conversation about separating management from individual contribution career paths. However, even within the IC track, you eventually grow into technical leadership roles, which mostly require a different set of skills.
So much that Pat Kua argues that the dual model for engineering careers should actually be a trident model, where you have three routes:
🔨 Individual Contributor — 80% time focused on execution.
💼 Management — 80% time focused on managing people and processes.
👑 Technical Leadership — 80% time focused on leading people on technical topics.
As all careers start with pure IC, you can either transition into an Engineering Manager, or a Tech Lead (or Lead Developer, Principal Engineer, etc.).
While the move to management is now relatively well-documented, what is it that really separates pure ICs from Technical Leaders? 👇