The project is 3 months late, you can feel the pressure from upper management building up on you and your team. What to do? Well, work harder, right? Sounds reasonable, hm? Would it work though? Probably not. Unless the problem actually IS that people aren’t working as expected, working harder will most likely result in two things: you and your team failing to understand how you work (especially planning and estimation) and the birth of a deadly caste: the Hero Engineer. Later, as your heroes slowly bleed themselves out you’ll be left with three hard problems:
- You’ve created a caste of burnt-out heroes
- You and your heroes have alienated most of your other engineers on the team and possibly stalled their growth
- The project is most probably still screwed
Early clarification / intent
This post might look like some kind of propaganda against hero engineers. It is not. It is against the concept, but it’s not the engineers’ fault if they get into this situation – it’s yours, dear manager. You create them and you have all the means and tools to prevent such situations from happening.
Wait but why?
Let’s see things from the soon-to-be hero’s point of view. You walk into the office on a Monday and your manager suddenly invites you to a quick meeting. He really needs you to finish your current project but he also wants you to finish your colleague’s project. Well, help, at least. But do it in a way that the colleague is not hurt. He owns the project, after all. You’ll be just doing it. Come on, be a good teammate, we need to be delivering, you understand that, right? You’re a good guy, you also have expertise with the other project, so sure, why not. A few weeks later your manager catches you at the water cooler and asks you if you’ve seen the user bug reports about the heisenbug in the login page. He expresses deep trust in your abilities and asks you to look into the bug. But of course, the original two projects are a priority. But please fix the bug because it’s important. Sounds like a good challenge, you also understand how bad the bug can be to users, so you agree.
Congrats, you’re a hero engineer. It’s been nice knowing you.
Most other engineers are actually happy that you’re taking a lead on these projects and bugs, some might have been too hard to tackle for them, or they are simply swamped with their current projects. At least someone is doing it, right? Well, all is not well. Some other engineers are quietly getting more and more bitter because they are not sure anymore how to contribute or are they doing enough – are 10-hour workdays the new standard? Do others view them as slackers when they leave at 5 in the afternoon to pick up their kids? They are also feeling left out, now many critical system changes are being driven and approved by you and your hero friends off office hours and they feel they can’t really contribute. You seem to be getting all the fame, too. Honestly, you start to feel that other engineers are not really pulling their weight. You’re also not getting the recognition you think you deserve. How did it come to this?!
The camera moves back to the manager. He kind of likes the hero engineer, he feels he can rely on her, after all, she just saved the day – again. See the vicious cycle forming?
You’ve created a monster, we could call them ‘dividers’ similarly to calling certain engineers ‘multipliers’ – as they are negatively affecting their team, especially other engineers around them in the mid- and long run.
Something else is cooking, though, something similarly sinister. Since the hero saved the day it seems that planning and estimation were right, after all, the team CAN deliver. The mere existence of a hero can overshadow planning mistakes thus hindering the team’s capacity to learn.
Umm, you surely aren’t suggesting we should keep being late with the project, right?
Well, maybe that’s how it’s going to be in the end. You can try other ways, such as reducing scope or asking for help from other teams (NOT overtime, but conscious, planned help), or if all else fails and the business’ life does depend on this single project (quite unlikely) you can get the team in a room and ask them to a crunch – but if you choose this last resort be sure that you:
- highlight that this is NOT the preferred way to work
- make it a conscious team effort, not a deal in the shadows with a single engineer
- compensate the team accordingly / make sure the team has a chance to rest (yes, I do mean extra days off)
- do a retro/post mortem about the project and use the learning to get the next project right
What should you do if you already have a few heroes?
Some of them can still be converted back to regular engineers, but it’s going to take lots of hand-holding. Heroes usually either burn out and leave or will feel being put in a corner by you while regretting what they’ve suddenly lost compared to their hero lives.
You can try rehabilitating them, though. Be prepared that they might hate you for a while, but that’s OK, it’s your punishment for creating them in the first place 😛