Hey, Luca here! Welcome to the Monday 3-2-1 ✨
Every Monday I will send you an email like this with 3 short ideas about engineering management, technical strategy, and good hiring.
You will also receive the regular long-form one on Thursday, like the last one:
To receive all the full articles and support Refactoring, consider subscribing if you haven’t already!
p.s. you can learn more about the benefits of the paid plan here.
🤖 Sourcegraph Cody
Before we dive into this week’s ideas, I am happy to spend a few words to promote Sourcegraph Cody!
Cody is an AI code assistant that can find, explain, and write context-aware code. It uses your codebase’s code graph plus LLMs to eliminate toil and keep human devs in flow.
You can think of Cody as your coding assistant who has read through all the code in open source, all the questions on StackOverflow, and your own entire codebase, and is always there to answer questions you might have or suggest ways of doing something based on prior knowledge.
Cody is available for personal use on Sourcegraph.com and with the VS Code extension. Try Cody for free 👇
1) 🔀 Hybrid Managers / Tech Leads
It is common in many teams to have senior devs taking on both tech leadership and some managerial duties.
This may happen because 1) your headcount is small, and/or 2) you have people who can pull this off — yes, they do exist.
However, the more you grow, the harder it gets to avoid separating such roles. For two main reasons:
🌱 Growth requires work — growth brings extra burden on managers when it comes to hiring, onboarding, performance reviews, promotions, etc. You get to a point where having dedicated managers just makes more sense.
🪴 Need for career paths — the larger your team grows, the more you will need a structured career path that separates managerial and IC roles. This is important both for people’s expectations about their own growth, and to align your company to the broader tech market when it comes to hiring.
In general, the relationship between TLs and EMs is complicated. I wrote more about it here 👇
2) 🗺️ What is a Technical Program Manager?
A typical Product team may consist of a Product Manager, Engineering Lead, Design Lead, and some engineers.
Often times that is enough, but for extremely complex programs where you have multiple teams working together, a Technical Program Manager steps in to orchestrate the collaboration across all these domains.
To put it in another way:
Product Managers focus on the what and why.
TPMs help Engineering Leads with the how and when.
A TPM is the nervous system ensuring product and engineering continues to stay aligned on the what, why, how and when.
At large companies, where it becomes necessary for Product Managers to focus on the strategic aspect of their role, a TPM is brought in like a tactician to help execute on the grand strategy. So, the TPM enters the stage to develop an end-to-end execution plan on how to ship a solution to a technical problem.
Such problems are of varying complexity, usually ambiguous in definition, and need to be delivered in collaboration with engineering, product, design, and marketing within a certain time & budget.
You can find more insights about the TPM’s job in this recent Refactoring article 👇
3) 🎒 The Three Onboarding Activities
A useful framework to reflect on how to spend your time as a new hire is to organize activities into three broad categories:
📚 Learning — absorbing anything about the business, product, process, etc.
⚡ Performing — executing things that have a positive impact.
🏃♂️ Personal — creating relationships, building trust, and getting yourself comfortable with the culture.
Other frameworks just draw the learning vs performing comparison. I consider personal as a third category on its own because I believe you need to be intentional about it — especially in remote environments.
How you spend your time between the three categories also varies with time.
If at the beginning you usually enjoy a honeymoon phase where you are given more freedom to learn, this balance rapidly shifts in favor of execution by the third month or so.
Expectations rapidly shift from learning to performing over the first 90 days
You can find more ideas about how to spend your first 90 days in this Refactoring article 👇
🎓 Plato Academy
Plato Academy is the mentorship platform for engineering leaders. Overcome your biggest challenges by leveraging cohort-based learning, 1-1 mentorship, and community Q&As.
As a Refactoring subscriber, you can get an exclusive $100 Plato Academy gift card by filling out this form!
And that’s it for today! If you are finding this newsletter valuable, consider doing any of these:
1) ✉️ Subscribe to the newsletter — if you aren’t already, consider becoming a paid subscriber. You can learn more about the benefits of the paid plan here.
2) ❤️ Share it — Refactoring lives thanks to word of mouth. Share the article with your team or with someone to whom it might be useful!
I wish you a great week! ☀️
Luca