Once upon a time, I had lunch with a very, very smart person. My director at the time kindly asked her to bear with me and my questions for a couple of hours, and she graciously agreed in spite of being an extremely busy person.
That was one of the most growth intense meals I ever had. I took home a few life changing lessons from that event. Here’s one I keep getting back to.
You can always summarize a job role into two bullet points. That’s it. There will be more nuance and complexity, but when uncertainty strikes, you can always refer back to those two points.
Here are some examples:
- Software Engineer:
- Deliver value to customers
- Don’t let the system degrade operationally
- Program Manager:
- Make sure nobody is ever surprised
- Have the whole technical picture together
- Engineering Manager:
- Deliver value to customers through the team’s work
- Take care of your team and each person in it
Note that the points are ordered by importance. If you have to make a choice between the two, typically the first point carries more weight.
For example, value delivery generally wins over operational stability, in most software engineering scenarios, at least temporarily: it’s usually ok to deliver a valuable feature and work out operational support as a fast follow up (with some common sense boundaries, of course).
Similarly, sometimes a manager will need to ask people to stay late so that the team can meet some critical deadline or solve an urgent issue, even though that’s temporarily less caring to the people in the team. The manager should then absolutely make that balance right again short after the team achievement.
What’s your job? And what are the two points that describe it?