I’ve gotten rid of the engineer you describe.

He was technically proficient but lacking in literally every single other ancillary skill for an engineer or a human being.

He could write complex code but it was overengineered and overcomplicated imposing a huge maintenance burden and making it brittle. His whole team was “Wow, he must be so smart!” but when asked on what basis he’d chosen the approach he’d taken instead of the naive solution he got rude and defensive. Nobody else on the team could maintain his code. (It wasn’t bad in isolation, just inappropriate in context.)

Presented with a problem to solve, he would not write something that made sense for the business, designing around requirements that did not match what a reasonable person would assume. When more explicit requirements were included, he complained he was being too restricted.

When presented with a problem to solve, he would not solve it in a way that made sense in the overall technical landscape (I need to serve some absurd number of requests, should I write the most efficient program possible but restrict it to a single instance, or write something less efficient that’s horizontally scalable?).

He was not interested in learning new things. When presented with different technologies, he instead began a solo rewrite of core company systems to ones he was more familiar with because “that’s what I’m more familiar with”. When it was explained that we’d moved away from those systems because of certain problems, he powered ahead with “Yeah, but that’s what I’m more familiar with.” When the foot was finally put down, the answer was “Fine, I’ll use the tech you use but if I have any problems I won’t fix it someone else will have to figure it out.”

He sat idle for weeks because one of our internal company tools was poorly documented that he needed it to do his job (no one thought to document it beyond the inline help because that had been sufficient thus far...). Seeing this tool used daily for two weeks, he did not try it, did not ask his teammates he saw using it, his supervisor, or anyone else for help. He checked the internal wiki and when he failed to find a clear explanation he just... did nothing. Until he got fed up with not knowing what he was doing and scheduled a meeting with the CTO, his supervisor, and ops to walk through every wiki page one-by-one and demonstrate that it was not documented on that page. That meeting was cut very short but probably still easily cost $600.

In every meeting everyone he dealt with walked away with a bad taste because he was rude and interrupted people constantly. He did not bring ideas on technical merit but instead “well I always...”. The biggest thing we emphasize with all our engineers is “data”. Decisions are based on data and documentation, not feelings and opinions. He pushed things through on sheer stubbornness and got upset when he ran up against people that refused to accept that.

His supervisor was not a strong, confident type and within about three days of being hired he’d steamrolled him and started completely overhauling how the team works causing deadlines to be missed as everyone on the team became confused about how to do their job.

And when all of these things were repeatedly discussed with him, explaining what the problem was, why it was a problem, and how we expected an employee to behave... he disagreed there was an issue and carried on as he was.

I did not do the hiring in this case, but I resolved the issue. For that team it was a brief couple week interlude where some guy showed up, wrote some “really smart” code and tried to do some other really smart stuff, then was gone before any of it really got implemented and life went on as usual.

Which is all to say I agree...

Awful engineers don’t have to be technically incompetent, there are a lot more skills involved to being an engineer than just writing code. And if you’re not actively opposed to it, a good manager can smooth over deficiencies in some areas so nobody ever notices.

And if you’ve never worked with an awful engineer, that’s likely a result of a lot of other systems doing their job. If you hired everyone that applied to our company you’d end up with mostly unqualified engineers... and a couple of drywallers. Every improvement past there came from a deliberate action by somebody.