Status updates
Senior engineering series: 5
The Senior Engineer Series is a multipart blog post describing the best practices and lessons I employ as an experienced software engineer.
A status update is a summary of the current state of a project. Transparency is the armor of the competent and status updates increase visibility into your work as senior engineer, which buys you time and autonomy.
Let's examine the ramifications of either failing to produce status updates or producing poor quality status updates. When you do not share out a status update, your teammates and manager will not have a clear understanding of your work. They will likely underestimate the value you are adding to the project and company. Their underestimation will make them uneasy, or worse, concerned.
Their concern will lead to slack messages like, "Hey, when do you think X
is going to be ready?" Likely your teammates have more tact than that, but the subtext will be the same. They have no idea where you are at so they will ask.
Nothing disrupts a senior engineer's focus like a ping from a manager asking for a time estimate. You do not want to respond to these messages by saying, "I'd be further along if you would stop asking for updates." But honestly, you've already lost if it's gotten to this point.
When you produce a high-quality (more on that in a second) status update, you decrease your team and manager's level of concern. If you do it really well, you might even alleviate their unease altogether.
A low quality status update is only a small improvement over no status update. A status update takes time and if yours does not have the intended impact then you've wasted time. Low quality status updates go into too much detail that makes it difficult for the audience to understand the big picture. You may think excessive detail builds credibility, but the opposite might be the case.
At a meta level, the best status updates begin with a promise - I will provide a status update at time and date Y
. At that time I will have had sufficient uninterrupted work to make progress on project X
including the time needed to write up a status update. Keeping your promise is key. Failure to do so without notice will make your team very concerned.
As in the case of public notes, effective status updates are both written and public within your company. At a high level the goal is to communicate progress, risks, and the steps you are taking to mitigate those risks. They should also state the time and date of the next update.
Just like a news article, the most important information should be summarized at the top so someone with only a cursory interest in the project can understand at a high level what to expect. Imagine your boss's boss, a non engineer, or a non teammate reading this section. It is helpful to use normed language like "On track", "At risk", or "Off track". Providing an emoji 🟢, 🌕, 🔴 makes it even easier for a reader to get the point.
Write one sentence summarizing the current state. Your target audience here are the casual observers who have almost no in-memory context for your project beyond "that thing that that team is working on." What is useful for them will also be useful for your more interested and knowledgable readers. High-interest readers will use this top level summary to frame the remaining parts of the status report. Remember, only a small number of your readers will read the majority of the writing in your status updates. Write your top line summary with care.
I like to dive into a bullet list of progress since the last status update. This may be point in time statistics from dashboards, links to pull requests, and other artifacts that capture project progress. Everything should have a url. If you are working on the project with other teammates, highlight their contributions.
You'll want to describe the risks facing your project. If everything is going well, what would it take for things to go wrong? If you've encountered challenges, enumerate them.
You have a bit of future casting to do. If your project status is not green, describe the path you are taking to get it to green. If your project status is green, what steps are you taking to mitigate the risks you just described in order to keep the project on track? The more accurately you predict the future, the better. People will notice big gaps between what you forecast and what you deliver. But, they will also notice and appreciate consistent accuracy in that regard.
End the update with a time and date by which your readers can expect the next status update.
Project Senior Engineer Series
Status Update 2024-09-06
Project status: 🟢 On Track
The Senior engineer series is going on haiatus.
Wins
We've published 5 posts as part of the Senior Engineer Series
- Transparency is the armor of the competent
- Stack rank
- Investigation
- Take public notes
- Status updates
Since starting the Senior Engineer Series, membership to verynormal.info has grown by over 60%.
Risks
We do not have a plan for future topics that will sustain a weekly release cadence indefinitely. We may lose readership over the decision to pause.
Risk mitigation
We are seeking feedback on which posts landed for you(and which did not). Reach out to share questions and ideas for future posts.
We are speaking on the topics covered by the Senior Engineer Series at Boulder Ruby next week.
You can expect at least a Bakery post by the end of the month. We'll see where the spirit takes me.
Member discussion