Everybody wants to work with top engineers, right? It’s good to work with smart people from whom we can learn a lot. Hopefully, we can learn so much from them that others will consider us as a “top engineer”. So, when a head hunter approaches us with a possibility to work with “the top minds of the city”, we should say yes, right? I’m not so sure about it.
What’s wrong with top engineers?
There’s nothing wrong with them. They are smarter than anybody else. Seriously, it’s okay to advocate it all the time. Pun intended.
I’m skeptical about “top people” as a company value. Why is this so? I already worked at several companies that only hired ‘top people’. Even at a company that did the outsourced development, people were sure that they were smarter than the client. Just by definition there cannot be so many top people.
OK, it’s ironical. But really, what’s wrong with the top people notion?
Once I was working at a small consultancy where people were experts of a certain java technology stack. As a journeyman I asked simple question like these, like this one: “As far as I know this construct should work – but it doesn’t. Do you know how to make it work?” They answered like this: “Well, what does the standard say?” We looked at the standard, and realized that none of us know from the top of our heads how we could make that thing work. This was something that an expert didn’t want to admit.
Another one: “What do you think about the Effective Java book?” They sent me book reviews. I explained that I wanted their opinion. Then they said they just haven’t read the book. Again, this shouldn’t be difficult to admit. E.g. amazon has 24k hits for java books. It should be OK to miss some of them.
Becoming an expert – it’s a valid a career path. However, declaring ourselves infallible, well, it only makes us ridiculous. It’s also a great risk to the impostor syndrome. There are lots of tips on how to get over it.
It’s difficult to have a teammate who thinks he always right. They tend to stick to their decisions, even when they, um, misjudge a situation. They tend to blame others, e.g. for misunderstanding their code, doing unnecessary changes, or whatever. It’s never easy when people keep criticizing us.
A boss with this sort of personality can things even worse. He can claim credit for the things while putting the blame to their subordinates. He can effectively kill any kind of innovation just because it wasn’t their initiative. Some people are okay to work for this sort of person. Others, including me, have just too much ego for that.
Arrogant developers and arrogant managers can slow down the business. These are the day-to-day difficulties which make progress a bit more difficult than it should be. However, arrogance on the sales side can even be disastrous. E.g. imagine a situation when an expert of technology X just cannot fix the problem of client Y because their application is too complicated, involving technology Z. This is a difficult situation where a consultant has difficult choices. These are the ones I can think about:
- Blame the customer for writing bad code, and
burn lots of man-hourstry hard to fix the problem.
- Explain the situation to the customer and work together with somebody who’s good at technology Z too. Customers domain experts should be welcome too
- Say no to the job, and help the customer finding somebody else.
Once I saw this, on the consultant side. I explained the problem to my boss who chose alternative #1. We billed them a lot, however, they never ever reach out to us for help. Probably this decision was necessary for short-term survival. Otherwise, alternative 2 and 3 would’ve paid off better in the long run.
Sometimes nice people are referred as losers on whose backs you can climb higher. I disagree with this point of view. It’s possible to support others while protecting ourselves. Being nice makes it easy to cooperate with us. Helping others does a lot for us when we’re looking for advice. This seems so obvious to me that I find it difficult to explain why.
Maybe this will help: people don’t like to be taken advantage of. So when we see somebody who’s ready to pay the help back (or forward) then we find that person worthwhile to be helped. I know this sort of explanation is a bit cynical. But in this context wasn’t about helping the poor and the downtrodden. This give-and-receive approach is totally OK in a group of colleagues who work for a common goal.
So, given all other are equal, I rather work with nice people than top people.
Fortunately, these two groups are not mutually exclusive. I’m just cautious about companies who attract “top people” because they will attract lots of narcissist too. When interviewing to such companies I’d ask lots of questions about teamwork.