Lead Time Crunch #7
Hi, this newsletter is a weekly challenge for engineers thinking about management.
I’m Péter Szász, writing about my decades of engineering leadership experience on my blog, and training aspiring and first-time Engineering Managers on this path. See more about what I might offer you at leadtime.tech.
In this newsletter, I pose a weekly EM challenge and leave it as a puzzle for you to think about before the next issue, where I share my thoughts on it.
Last Week’s Challenge
We had a hostile email coming in last week, complaining about the most senior developer on our team. Read the details here if you missed it.
Continuing last week’s structure, I’ll approach this situation in three steps:
Goals: what I want to achieve in this situation;
Risks: what I want to avoid and should be mindful of;
5 Questions: how I get the missing information to be able to choose my actions.
Goals
Execution: I want to de-risk delivery. Seems like these engineers are at a communication stall, which has a significant chance of delaying both teams. I need to unblock them.
Personal: I want to support Hailey. I need to discover why she didn’t mention any problems yet, and what’s her assessment of the situation. Finally, I have to understand if she’s capable of resolving the conflict herself or I need to intervene.
Team / organization: I also want to support George. His email sounds desperate and frustrated. While I’m not managing him, I need to ensure we’re collaborating well.
Risks
Outcomes I want to avoid:
Execution: If they are arguing for weeks on API design, at the root, they might have different assumptions, which means (at least) one of them is wrong, which could lead to increased tech debt by developing the wrong things at the wrong time.
Personal: If I take George’s criticism without challenging it, I risk losing Hailey’s trust. Digging into the technical details might make Hailey feel like her autonomy is being taken away. On the other hand, if she’s technically lost, I need to get more hands-on or find someone to give her the appropriate level of support.
Team / organization: Pushing back strongly to George has a risk of building a culture of “us versus them”, making future collaborations even harder. Talking to George’s manager instead of him would send the same bad message that his email about Haley had to me.
5 Questions
How is the project progressing, according to Hailey? How is the collaboration between the two teams? These can help me get more context and hear out Hailey’s point without taking sides. Depending on her answers, we can jump into finding a solution, or uncovering why she has a different perception of the situation.
How capable is Haily of handling this situation? It’s difficult to balance changing product requests and negotiations with a more senior engineer than you. Maybe she needs more concrete help from me, her task-relevant maturity could be too low for this.
How are the API designs discussed? Can we move from a request-reply process to a more collaborative one? Could Hailey pair with George and create an RFC together?
Is there a way to gradually release and iteratively improve this API? What’s the bare minimum core feature set that covers at least one use case that could be released to production to get feedback from real-world usage? This would move the arguments away from assumptions and beliefs, and closer to facts and data.
Why didn’t George discuss this with Hailey directly? Why did he feel the need to escalate? How can George be supported to be able to give more efficient feedback? Timely, concrete, direct to the person. Is this something his manager is working on with him? He clearly cares about the health of our codebase, so he should be interested in how he could get what he wants more efficiently.
Do you agree with my priorities? What questions would you ask to increase your confidence in making the right decision in this situation? Let me know in the comments!
This Week’s Challenge
But now, let’s move on to a new exercise for the week!
Ivan, a senior backend developer, is struggling in his role. He was hired a year ago and seemed to hit the ground running, but in the last few weeks, he’s had multiple late deliveries and seemingly careless oversights. Yesterday, to meet a deadline, he turned off a test that seemed flaky but actually would’ve caught the bug in his code, causing a production incident when going live. You know he’s going through a difficult divorce, so you were willing to ignore some of the early signs, but it’s probably time to intervene now.
What do you do?
Think about what your goal would be and what risks you’d like to avoid in this situation. I’ll share my thoughts next week. If you don’t want to miss it, sign up here to receive those and similar weekly brain-teasers in the future:
Until then, here's a small piece of inspiration to match last week’s challenge:
See you next week,
Péter