A question was asked on Reddit's /r/cscareerquestions (where I'm a mod) recently that caught my attention for a few reasons. The post, "What does so-called "top talent" actually look like in Software Engineering/Development?", received lots of attention and over 100 comments. It's a rather basic question, but one that may be difficult to define.
The top comment (as voted by readers) by a substantial margin was a set of individual points. Reddit user 'scalorn,' paraphrased below, believes top talent can be defined by the following characteristics:
"...can make the logical leaps that no one else on the team seems to be able to do."
RE: Debugging - takes "scant traces of data" and quickly finds a root cause due to experience with a past similar problem or familiarity with the code base.
RE: Design - able to read over documentation and ask "pointed questions about nuances in the design" while "coming up with edge cases no one else caught."
RE: Development - "clean, understandable, adaptable and maintainable code that makes complex problems seem simple."
RE: Code review - makes "solid suggestions that improve the code" and finds "subtle bugs in the code that would have bit everyone at some later date."
RE: Documentation - writes so "someone who doesn't know the system at all can understand and get up to speed."
Although this seemed like a fairly thorough description which many would likely accept without much argument, the top response to this comment reflected on it being unfortunate if these were the only criteria, and referenced the absence of any mention of the interpersonal. The response ended with, "I'll take someone who takes a bit longer to get there but can work with the team as a whole any day.", which someone then referred to as the "No A$$holes" rule.
Another relatively popular comment farther down the post mentioned that "Amazing developers typically don't have anxiety." I can't say I've ever heard anyone refer specifically to lack of anxiety as a desirable trait, but I understand the sentiment. Based on the comments, it could potentially manifest in a fear of criticism or in issues with communication. Past clients have mentioned an interest in candidates who are able to handle open code reviews, and engineers who are able to distinguish criticism of their work from the personal.
There are several other points made in the thread, with many that come up in almost all discussions of this type (continuous learning, "passion," 10x developers, etc.).
I would be curious to hear some opinions from readers. The reference to anxiety was a rather new concept (or perhaps an old one, renamed), and I wonder if and when technical skills would trump the No A$$holes rule.