Inside Stack Overflow; New CTO's Guide; Headcount Buy-in; Legacy Upgrade with GenAI
Issue #31 Bytes
🌱 Dive into Learning-Rich Sundays with groCTO ⤵️
🎙️Leading Tech Teams at Stack Overflow | Ben Matthews, Senior Director of Engineering
Tune into #Ep56 of the groCTO Originals Podcast, where Ben Matthews, Senior Director of Engineering at Stack Overflow discusses strategies for building collaborative, cross-functional teams, how Stack Overflow is embracing the AI revolution, best practices for onboarding and mentoring junior developers, and more. Here is a sneak peek from the episode.
How do you lead your teams to success? Share your thoughts in the comments! 💬
Article of the Week ⭐
“Newly hired as CTO, you inherit a revenue-generating system that's gasping for air. 3,000 daily active users are pushing the infrastructure to its — or the team's — limits. What's your next move?”
The New CTO's Survival Guide: Rescuing a System at its Breaking Point
Itzy Sabo brings us a strategic breakdown of three different cases on how a CTO could operate in a new org that struggles with scaling issues getting new features out the door.
Sander Hoogendoorn, another prominent consultant CTO from Europe calls this situation “Technical Death”.
Door Number 1: The Rewrite
This is the nuclear option. Double-down on being stuck and essentially take R&D offline to rebuild the entire system in stealth mode. This is a common approach with first-time CTOs of younger startups.
Itzy warns that during the “all in rewrite” the business is essentially frozen, creating a lot of pressure and stress to get it right before the money runs out. It’s certainly not a calm or safe option, though the risk analysis may be naïvely benign from the engineering department’s perspective.
Plus, what guarantees will you bring to the C-suite that the new system doesn’t have the same issues as the one being replaced?
Door Number 2: Buy Time and aim for quick wins
A more reasonable approach is an outside-in plan to deal with symptoms first and move in to root causes over time. Examples of quick wins:
Optimise databases and caches
Introduce CDN layers and network filters to network risk
Optimise the cloud stack configuration (notably routing and access)
Increase resources on hot nodes
Force-Fail stuck nodes sooner to stay ahead of any congestions
This approach allows for actionable and measurable progress while you build more influence and awareness of the situation. Itzy highlights that this is also a great time to upskill the team in much-needed areas, e.g. testing, delivery producedures, etc.
Door Number 3: Gradual Modernization
The Strangler Fig continues to be a great risk management pattern. Best paired in cycles with the wins from the above chapter, gradual modernization is a predictable approach to isolated key parts of the system so they can be modernised or replaced individually.
Looks great on paper, but requires significant planning to handle the mental load required to get the tangles right and keep a clean state without dragging too much of the yarn along.
Other highlights 👇
Legacy Modernization meets GenAI
Alongside the release of the latest Thoughtworks Technology Radar, the Legacy Modernization meets GenAI compendium has been receiving generous updates in the last few weeks.
The three authors Alessio F., Tom C., and Shodhan S. describe the evolution of their internal code modernisation LLM tool they call CodeConcise. Here are the challenges they were facing and how they solved them with their tools.
Determine the overall capabilities of a legacy system
Modernisation efforts across projects are similar in structure, but differ in the details
Plenty of noise and “small wins” obscure the overall complexity and risk of large systems
“How can we gather knowledge about it without having a human expert available to guide us?”
“How can we minimize risks from modernization by improving and adding automated tests as a safety net?”
“Can we extract from the codebase the domains, subdomains, and capabilities?”
One of the first things we do when beginning a modernization journey is catalog existing technology, processes, and the people who support them.
[…]
GenAI changes this picture a lot. One of the most powerful capabilities that GenAI brings is the ability to summarize large volumes of text and other media.
Their solution involved treating their codebases in multiple layers: the text of the source code itself, the mapped meanings and clusters that could be inferred from its structure and human-facing documentation, e.g. developer notes, plans, production logs or user feedback.
This allowed the ThoughtWorks teams to focus on refactor & replace and human reviews of practical opportunities.
How to get more headcount.
Will Larson from Irrational Exuberance shares his experience in getting executive buy-in for increasing headcount on his teams.
He exposes the politics and layer mismatch that go into budgeting discussions at this level and shares his 4-step hierarchy on how to solve such disagreements:
Do we agree on the problem?
Do we agree on the solution?
What evidence do we have the team is doing well today?
Align on details. Check priorities, desirables, create a roadmap. If the outcome is too far in the future, now—but only now, having agreed on the above 3—is the time to bring up the conversation about headcount.
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 -
, Alessio F., Tom C., and Shodhan S. (Thoughtworks), Will LarsonSponsors - 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.