In my previous post, I shared thoughts on building patience. A discussion followed on RC chat which highlighted two aspects of patience.
The first relates to ‘patience to deal with finicky technical things’. I feel I’ve gotten better at this over time. In earlier days I would Stack Overflow just enough to get past the problem I was facing. More recently I try to be more deliberate on spending more time to read documentation, and where necessary, the source code. Ben Kuhn says this best in his post.
The second, which is what I had in mind, relates to ‘patience in dealing with other people and organizational issues’. I used to (and in weaker moments still do) focus on getting OKR’s done fast and aim to be the ‘10x engineer’ on the team. Now I try to be more deliberate about longer-term issues surrounding the work. How does the work relate to my team’s goals? Stakeholder teams goals? The org's goals? What does the company product roadmap look like and how does the work fit in in the bigger picture? A few months back I wrote a design doc that other engineers executed on, which I hope is first of many.
Another way to think about the latter form is, if you’re hired to build out a team to achieve company objectives, how would you go about doing it? This requires a mental shift from thinking what you would do in a quarter, to how to prioritize and execute and hire over multiple years. This framing also helps you empathize with the challenges your manager is facing.