๐ฌย Unblocked โ Get the right answer, now
Developers know how to write code. Most often, what is slowing them down is having to search for the context to know what code to write.
Thatโs because codebases are a compilation of thousands of past decisions and discussions that live across multiple tools, like GitHub, Slack, Jira, Confluence, and more.
For this reason, I am happy this week to promote Unblocked, which surfaces hidden knowledge and gives engineering teams the answers they need to get their jobs done โ without having to wait on or interrupt their teammates.
You can try Unblocked for free at the link below.
Back to this weekโs ideas! ๐
1) ๐ The W Framework
There are many company-wide systems that are challenging to put in place โ think OKRs, engineering principles, or career frameworks โ because they need to strike the right balance between being participated by the team (bottom-up) and following the vision of the leadership (top-down).
Both are needed:
โฌ๏ธ Top-down directionย โ delivers consistency and fast decision-making.
โฌ๏ธ Bottom-up contributionย โ makes things grounded with your teamโs reality, creates consensus, and leads to better decisions in the end.
To achieve this, I am a fan of theย W Frameworkย for this, by Lenny Rachitsky and Nels Gilbreth.
It is made up of four steps:
๐ฏ Context โ leadership shares a high-level strategy with Teams
๐บ๏ธ Plans โ teams respond with proposed plans
๐ Integration โ leadership integrates into a single plan, and shares with Teams
๐ค Buy-in โ teams make final tweaks, confirm buy-in, and get rolling
This is a generic strategy that you can apply to pretty much anything that requires wide participation.
What does it look like in practice? Here is an example that I adapted to create and rollout a career framework:
Contextย โ leadership provides high level direction: fundamental levels and tracks based on current team composition and future strategy.
Plansย โ teams (e.g. your senior leaders) come back with the qualities and responsibilities they would like to see for the various levels.
Integrationย โ leadership challenges, integrates these elements and shares back with teams.
Buy-inย โ Final tweaks, Q&A + people get assigned to the levels.
If you are interested in career frameworks, I wrote more about developing them in this past piece ๐
2) โ๏ธ Startups vs big tech
Last month I talked with Rachel Potvin on the podcast. Rachel is SVP of Engineering at Sanity, which is a high-growth startup, and a former executive at Github and Google.
So, at some point, we naturally discussed similarities and differences between the two environments. Rachel pointed out two big things: strategy and agility.
Strategy ๐ฎ
Rachel says how small teams have the advantage of being more focused and aligned on the mission, while big tech companies can become distracted and less focused as they grow.
One of the core advantages of startups is that leaders can fit in their heads the entirety of strategy, product, and everything that is going on. So they can really implement coherent, top-down plans, while still allowing for creativity from their teams about achieving goals.
E.g. at Google Cloud, Rachel worked with a large team of over 20,000 people, which made it impossible for any single person to know everything.
Agility โก
The scale of big tech also makes processes rigid and slow, while smaller companies are able to work flexibly and make changes quickly.
Rachel makes the example of when, at Sanity, they were building a new high-frequency caching layer which needed to support billions of requests per day. They figured out that, for the end user experience, they also needed a subscription API through which apps and websites could subscribe to the content, to go along with that.
The official event where they would announce the new caching was coming in a week, and they still were able to hack the subscription API in a few days and give a demo of it at the event. Such a speed wouldnโt have been possible at Github or Google.
You can find the full interview here ๐
3) ๐ผย Agencies and context
Working with an agency you trust can be a smart way to bring in full-stack product + engineering expertise for projects you donโt have either 1) the bandwidth, or 2) the skills for.
Still, not all projects are suitable for this kind of collaboration.
I have worked with agencies for 10+ years, and my main advice is to choose projects that are low-context.
Things are infinitely easier when your partner doesnโt need to know everything about your business & technology to get started.
So, speaking of context, there are many types:
โ๏ธย Product context โ how much business / domain knowledge is required to build the product? How much learning is required to do a good job?
๐๏ธย Design context โ do you have a design language / system to build on, or you need to create one for this project?
๐จย Tech context โ does the project plug into existing tech? Does your partner need to find their way into your code?
and more!
Even if some kind of context is inevitable, reflect on how much onboarding the agency will need with respect to the expected size of the work.
If the project is too ingrained in your workflows and has too many dependencies, working with a partner might not work out as you like.
A couple of years ago I interviewed two friends of mine who run successful agencies and delivered hundreds of projects,ย and wrote a full piece about this topic ๐
And thatโs it for today! If you are finding this newsletter valuable, consider doing any of these:
1) ๐ Subscribe to the paid versionย โ if you arenโt already, consider becoming a paid subscriber. 1500+ engineers and managers have joined already! Learn more about theย benefits of the paid plan here.
2)ย ๐ปย Read with your friendsย โ Refactoring lives thanks to word of mouth. Share the article with your with someone who would like it, and get a free membership through the new referral program.
I wish you aย great week! โ๏ธ
Luca





