Engineering Productivity; Staff vs EM; Seamless Code Changes; Mease Tech Lead Performance
Issue #32 Bytes
🌱 Dive into Learning-Rich Sundays with groCTO ⤵️
📺 Unlocking Engineering Productivity | Live Webinar ft. Paulo Andre, CTO @Resquared & Denis Cahuk, Tech Coach
Typo AI is back with an all-new webinar series 'Unlocking Engineering Productivity'. The first session of the series welcomes two passionate engineering leaders Paulo André, CTO of Resquared, and Denis Čahuk, Tech Leadership Coach where you will find them sharing practical tips on measuring & improving dev productivity.
Let’s hear them!
How do you improve your dev team’s productivity? -Let us know!
Article of the Week ⭐
“Having Staff Engineer at the team level is an overkill. […] The real value of the Staff Engineer comes from operating across teams.”
Staff Engineer vs Engineering Manager
Alex E. wrote an essay exploring the conundrum for scaling the impact of a technology expert across multiple teams and squads. Staff engineers are one of the most sought-after roles and seem to be one of the solutions to the “title inflation” of senior-and-equivalent titles in our industry.
But what responsibilities does the role carry?
When do you need a Staff Engineer?
Alex describes the best scenario for bringing in a staff engineer is when your teams start exhibiting behaviors of having 2 leaders: the engineering manager and the tech lead (or equivalent).
Normally, such endeavours utilise architects or the CTO in enterprises and startups, but with enough scale in a growing company this problem area is a constantly moving target.
Thus, introducing a Staff Engineers captures the moving target. Think of your engineering teams and supporting roles as cells, and staff engineers as the T-cells inside the plasma. They hover between teams, linking different specialists across the horizontals between peers of managers, product personnel and engineering specialists, without impeding the authority of the EM.
However, you may not need staff engineers when your org only has 1 large team, or the managers are technical enough.
The Different Types of Staff Engineer
A staff engineer combines
Soft Skills
Technical Knowledge
Product Architecture
Different types of Staff Engineers emerge depending on which side of this triangle they lean more heavily towards. They may be a Right hand to someone in Product helping them with engineering details, a Solver to bring specialised knowledge from one team to another, or an Architect overseeing collaboration and support between multiple engineering teams sharing a goal.
Staff Engineers should have clear accountability over a system. That means they expose 3 elements of ownership:
Knowledge: They know the tech stack, the product problem and can speak fluently about it as well as code when needed
Mandate: They have a say in how the tech evolves and is maintained.
Responsibility: They are held accountable for the health of the tech (e.g. incidents, tech debt, documentation, tech defragmentation, etc.)
Other highlights 👇
Seamless Code Changes with Parallel Change
Oliver Z. is a modern software craftsman focused on bringing tangible improvements to how your team can build and ship code. In his Parallel Change piece he discussing a strategy that is reminiscent of meta-refactoring: combining trunk-based development practices with evolutionary design to create backward compatible workflows.
The steps are simple
Introduce a new seam/interface to replace the old one (with tests!).
Place it next to the old one
Duplicate the writes between old-and-new, ensuring idempotency or safety on both
Switch all reads from the old version to the new one
Gradually remove writes to the old system
Remove the old version
Why bother?
Refactoring a function is simple, but with microservices and modular monoliths dominated tech architecture in this decade, most changes quickly scope out to system design level. This requires a more architectural approach to changes that may require deployment-tactics and even involving the end-user to gradually sunset old changes.
Thank you Oliver for this brilliant piece
Read more about Parallel Change below.
Looking for a no-BS Engineering leadership community?
Here is what you need- Join Sergio Visinoni’s community, exclusively crafted for passionate engineering leaders like you to get peer support, expert guidance, and insightful resources to tackle your toughest challenges & level up as CTO.
Make it to the early members list to enjoy a 30% discount and a free 1-1 mentoring session.
Measuring your performance as Tech Lead
People tell you you're doing good; Do you?
Marcos breaks down the four main pillars for a high performing tech lead:
Manage Tech Debt
Ensure Code Quality
Optimise Delivery
Mentoring
Sounds simple? Hold on!
It’s easy to fill your schedule with activities. But how do you know your outputs achieve the right outcomes? Let’s take a deeper look.
👩🏻💻 Manage the Tech Debt
Architecture is a moving target. Have a strategy in place on frequency of improvements. A successful company may not require new features over a long time horizon, but your packages still need to be updated to stay secure and deployable.
☢️ Ensure Code Quality
Code Quality is different from Architecture Quality. Architecture keeps the lights on and keeps the code moving forward. Code quality keeps the team moving forward. The outcomes with Code Quality is the overall familiarity with the system and how quickly your engineers come up to speed; onboarding included. Pair programming along with tactical design decisions that the team can agree on are a great opportunity for this, e.g. clean architecture.
♻️ Optimise Software Delivery
Rolling out new updates needs to be smooth. Over time your ability to deploy new changes encounters friction and complications, which need to be maintained and smoothed out with careful planning.
Have initiatives in place that allow and incentivise the team to edge towards continuous delivery practices and keep guard rails in check that may block progress.
👩🏻💻🧑🏽💻 Mentoring
Ultimately, software is a human process. The communication structure and style between your peers and reports have a far bigger impact on your performance as a leader than technical ability. As Tech Lead you may be the most experienced and influential person on meetings. Make sure not to hog all the work, as this robs your peers of learning and growth opportunities.
Find what inspires them and help them create scope and lean into new opportunities.
Find Yourself 🌻
That’s it for Today!
Whether you’re innovating on new projects, staying ahead of tech trends, or taking a strategic pause to recharge, may your day be as impactful and inspiring as your leadership.
See you next week(end), Ciao 👋
Credits 🙏
Curators - Diligently curated by our community members Denis & Kovid
Featured Authors -
, ,Sponsors - This newsletter is sponsored by Typo AI - Ship reliable software faster.
1) Subscribe — If you aren’t already, consider becoming a groCTO subscriber.
2) Share — Spread the word amongst fellow Engineering Leaders and CTOs! Your referral empowers & builds our groCTO community.
Thanks for the shout-out!