The ability to say hard things at the right time, is one of the most important skills a manager can have. Managers that struggle with difficult conversations can become quite popular within their engineering group. This happens because most engineers don’t like to be challenged - even if publicly the opposite is claimed. These sort of conversations can be awkward, they can leave scars in relationships and bring the worst in people. It’s quite common for people to have knee jerk reactions and be defensive, even when feedback is given in a compassioned, objective way. A manager, by not making waves, can quickly create good relationships with engineers and peers. This pattern of behaviour can even be encouraged by higher-ups in the company - and the manager is left in an uncomfortable situation. It’s not uncommon for CEOs and Directors to be allergic to conflicts that might be brewed from difficult conversations. In the long term this strategy doesn’t work, if a manager is operating in a company where accountability extends to them.
Tech companies are like an iceberg. What we see on Hacker News, posts and Twitter only portrait a small sliver of what’s out there. A lot of companies have no idea how to operate, both technologically but also at the people’s level. Rarely managers are properly evaluated - their manager is too busy for that, but they also wouldn’t know how to. A director that wants to understand why a team is underperforming, only needs to ask their direct report - the manager - what’s happening. In companies with poor processes, the latter can easily peg the problem to a problematic engineer, or a confused product manager. However, the person responsible for 99% of problems within the team is the same: the engineering manager. If an engineer is underperforming, why hasn’t the manager acted on it? If the Product Manager is confused, why isn’t the manager supporting them? If the team is taking too long to build things, why isn’t the manager helping them cut the scope, or fighting for a bigger budget to expand the team? Most of the these questions have the same root cause: avoiding difficult conversations and challenging individuals.
Having hard conversations sooner rather than later, is what prevents small problems from snowballing. An engineer that is delivering less than what’s expected, should be made aware of that - with objective data and as early as possible. I have seen peers of mine waiting one or two months to see if something will change - I too have done this. Currently I don’t wait more than two weeks if it’s obvious that something is up. I am also not a big believer that feedback needs to accumulate until the next 1:1 - a quick message sometimes is enough to make the point across. For example:
I noticed you were distracted during the meeting, is everything okay?
There are two exceptions to this: a) I am emotionally compromised about what just happened, so it’s preferable to wait and b) I have a feeling that the other person will take it defensively, so I would rather deliver it over video or F2F. Difficult conversations should never be done by text - emotion is lost in the exchange. The other person has no idea how you feel when they are reading you.
A manager’s work can only be evaluated across long periods of time. The effects of changing a process, or fixing a challenging interpersonal issue are only measured after some time. Although deferring a difficult conversation can avoid headaches in the short term, it never leads to good results later on.