Mailbag: Resources for Engineering Directors. @ Irrational Exuberance
Hi folks,
This is the weekly digest for my blog, Irrational Exuberance. Reach out with thoughts on Twitter at @lethain, or reply to this email.
Posts from this week:
-
Mailbag: Resources for Engineering Directors.
-
Generating a daily snapshot of Twitter Search results.
Mailbag: Resources for Engineering Directors.
Recently I got an interesting question from someone looking for resources for Engineering Directors, as distinct from general engineering management:
I was wondering if you’ve written any posts geared towards engineering directors or have any recs for posts others have written I’m mainly looking for advice on how to manage projects from two layers away. How do I give managers creative freedom to manage however they like while also stressing the importance of deadlines?
A few books that initially came to mind on the more general topic of “stuff written for Directors rathern than line managers” were Team Topologies, the later sections of The Manager’s Path, and my own An Elegant Puzzle.
However, none of those book are particularly focused on the second, more specific part of the question: how do you foster execution on teams you indirectly manage?
There are three interesting pieces to think about here:
- Understand what’s happening on indirectly managed teams
- Adding things necessary for execution
- Remove things getting in the way of execution
What’s actually happening?
Tools I’ve found useful here:
- Business Review Template – these templates are great, and force folks to really analyze what’s happening on their team. They setup you, as a Director, to actually diagnose what’s happening on a team. They also give you a great chance to realign a team that’s going a bit sideways in their execution or interpretation of what really matters
- Monthly or quarterly roadmap review – what’s actually happening y’all, and what are the delivery dates? (This is tricky, easy to end up in The Build Trap.)
- Skip-levels – this matters even more as your organization grows beyond managing one layer of managers, but even with just one layer you’ll often find that individual contributors and managers have a very different perspective on things
Adding missing pieces
Necessary pieces that are often missing:
- Strategy can be unclear, unstated, or unknown. If folks don’t know why a project matters and how it connects to other projects, it’s hard to move it forward. Some resources on strategy: Writing engienering strategy from Staff Engineer, links in Engineering Strategy section of StaffEng’s reading materials, Richard Rumelt’s Good Strategy/Bad Strategy
- Urgency to complete the project. The one sentence version of driving urgency is: folks work urgently in areas that leadership says are important, connect to the strategy, and pay active attention to. This goes wrong a lot, though, whether it’s micromanagement or the forever unpopular, “do it because the CEO said so.” Probably worth a dedicated article of its own
- Cross-functional priority to complete the project. Particularly, the cross-functional priority to bypass permission gates, e.g. someone on Legal team to navigate contract language on a new feature.
- Capacity to sustain execution over the course of many projects, specifically adding headcount budget or equivalently reducing expectations work volume. Importantly, this is looking at getting the team to a steady state of staffing for its ongoing workload, not trying to change staffing strategy for a single, specific project. Teams are more durable than projects, inverting the two leaves you, and your team, with a mess
Remove things getting in the way
Things that sometimes need to get removed:
- Excessive visibility / misaligned priorities – sometimes there are simply too many leaders providing direction to a team, e.g. three of four lightly misaligned executives driving a focal project, and you can help clean that up by being a trusted intermediate
- Thrashing priorities – if a team is shifting back and forth on focus or approach, figure out what’s causing that thrash and work to remove it. This is more often than not too many, somewhat misaligned, strategies, rather than the total absense of any strategy
- Fixation on resources – sometimes a team has convinced itself that it will be given permission to blamelessly fail as long as they say that they want more headcount staffing. This is a judgment call for you to make, but personally I’ve seen a good number of teams spend more time convincing themselves they need headcount without spending time trying to find a faster, shorter path to solve the problem with the team they have. Even if you’re evaluating increasing headcount, get the team out of the perspective of “waiting for staffing”
- Weak or negative cross-team or cross-functional relationships – sometimes a team isn’t working well with necessary partner teams for a given project, and you can debug and start the proces of cleaning that up
Anyway, lots more to think about here, but these are the first key points from my perspective!
Generating a daily snapshot of Twitter Search results.
Over the past few years I’ve gotten into the unhelpful habit of checking Twitter search to see if folks have mentioned my writing. I don’t actually do anything with that though, beyond perhaps leaving a “like”. I enjoy using Twitter, but this part of how I use Twitter is just an unhelpful habit to waste time, so I wanted to try automating it away.
I got started by creating a new Twitter Developer account, and then wrote up a simple script, github repository, and github action in lethain/social-context.
You can see the key pieces at:
- retrieve.py: script that calls Twitter API, parses it, and write each results to a text file
- .github/workflows/scrape.yml: configuration for Github action to run this script once each day
- If you go to “Settings”, “Secrets” and then “Actions”, you would see that I’ve added a repository secret
named
BEARER_TOKEN
that is my Twitter API Bearer Token issued by Twitter
The search queries are driven by L9-L13 in retrieve.py:
WEBSITES = (
('lethain.txt', 'lethain.com -from:lethain_bot -RT'),
('staffeng.txt', 'staffeng.com -RT'),
('infraeng.txt', 'infraeng.dev -RT'),
)
If you wanted to run this for your own search queries, you’d just replace the tuples with the file to write into and the Twitter search query you want to run.
If you open up one of those files like lethain.txt, you’ll see entries like:
author: thebaffledengg
Staff engineer reflects on overwork and expecting better from peers https://t.co/FiebOfkf2k
url: https://lethain.com/hard-to-work-with/
https://twitter.com/thebaffledengg/status/1512083389062418432
Altogether, this works well! A new commit lands if there are new tweets, and otherwise nothing happens. I have it set to run every day because I’m trying to check less, but you could certainly run it more frequently.
The only annoying bit is figuring out how to send a useful notification. Right now I’m getting email notifications when new commits occur (e.g. only when there are new search results), but the emails don’t include the actual changed files, so I’ll have to keep iterating on this a bit.
That's all for now! Hope to hear your thoughts on Twitter at @lethain!
|
Older messages
Stripe's model of product-led, developer-centric growth. @ Irrational Exuberance
Tuesday, May 3, 2022
Hi folks, This is the weekly digest for my blog, Irrational Exuberance. Reach out with thoughts on Twitter at @lethain, or reply to this email. Posts from this week: - Stripe's model of product-led
Platforms change but cool URIs don't. @ Irrational Exuberance
Tuesday, May 3, 2022
Hi folks, This is the weekly digest for my blog, Irrational Exuberance. Reach out with thoughts on Twitter at @lethain, or reply to this email. Posts from this week: - Platforms change but cool URIs
You Might Also Like
Convert more leads with your emails.
Wednesday, January 15, 2025
Expert insights on building lead nurture flows. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Uber's service migration strategy circa 2014. @ Irrational Exuberance
Wednesday, January 15, 2025
Hi folks, This is the weekly digest for my blog, Irrational Exuberance. Reach out with thoughts on Twitter at @lethain, or reply to this email. Posts from this week: - Uber's service migration
The Polar Bear Prison
Wednesday, January 15, 2025
Maybe it's more of a re-educational camp?
• Book Series Promos for Authors • All in one order • Social Media • Blogs
Wednesday, January 15, 2025
~ Book Series Ads for Authors ~ All in One Order! SEE WHAT AUTHORS ARE SAYING ABOUT CONTENTMO ! BOOK SERIES PROMOTIONS by ContentMo We want to help you get your book series out on front of readers. Our
🤝 2 Truths Every Biz Buyer Should Know
Tuesday, January 14, 2025
Plus 1 Game-Changing Idea for SMB Acquisition Biz Buyers, Welcome to Main Street Minute — where we share some of the best ideas from inside our acquisitions community. Whether you're curious or
Artistic activism, the genetics of personality & archeological strategies
Tuesday, January 14, 2025
Your new Strategy Toolkit newsletter (January 14, 2024) ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Reminder: B2B Demand Generation in 2025
Tuesday, January 14, 2025
Webinar With Stefan and Tycho ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Why Some Types of Art Speak to You More Than Others
Tuesday, January 14, 2025
Your weekly 5-minute read with timeless ideas on art and creativity intersecting with business and life͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
How Chewbacca Roared a Woman into New Teeth
Tuesday, January 14, 2025
It started as a prank. A funny, and mostly harmless one -- annoying, sure, but most pranks are.
🧙♂️ [SNEAK PEEK] Stop giving brands what they ask for…
Tuesday, January 14, 2025
Why saying “no” could actually be your smartest move ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏