First of all, all developers are worthy and skilfull. Some of them become hackers, the top 1% of software/hardware engineers. Hacker is what the media started to connect with negative stories in the past and built an image in our heads of somewhat criminal and dangerous person. Hacker term has originally been an honour. If someone called you a hacker you were considered talented, innovative (find novel solutions with things), quick learner, insightful and witty.
To me top 1% of the engineers are hackers.
They might be annoying occasionally mostly because they make me think things again often from different perspective and result to better outcome.
Forbes wrote 2014 a story “What The Top 1% Of Software Engineers Do That The Other 99% Do Not” and listed some of the principles on what it takes to become that 1% of engineers. The story took mostly ideas from Quora discussion filled with comments from developers.
One respondent summarizes some of the features describing the top 1% engineers:
Passion, understanding of the issues, abstract thinking, curiosity, the desire to learn, ready to accept fail and learn from it, years of experience… the works.
A voracious appetite for learning and curiosity is raised up in plenty of the responses.
If you don't care to learn the stuff, you will stagnate. Forcing yourself to learn the stuff will be hard. You need to be driven to learn what you don't know and excited to do it. Goes with curiosity.
Another thing is to really explore the problem at hand thoroughly and not just go with the obvious fix. Looking at the problem from different angles and scopes requires understanding of the larger context. Often the top 1% developers are looking forward, building solutions that last or provide at least longer lasting solutions.
</blockquote>they choose the right level of abstraction for the task. “the site is slow for our users, and someone told me CDNs make things faster” - The normal engineer does as he’s told and adds a CDN. The 1% engineer realizes the actual problem is site speed, and instruments the app to track performance and see where the real problem lies.</blockquote>
The 1% engineer truly understands a software system. Not just pieces of the code but the system as a whole.
Ability to write elegant, clear and efficient code. If you are fast good, but I would not say that to be a requirement. Speed will come by selecting right tools and experience. Top developers train a lot like the top basketball or ice hockey players. Of course the training is different with developers, but the intensity is similar.
Writing codes that "communicates" - no one is indispensable, someone will read your code when you are no longer around.
Insights for the product
The above is a list of quotes; it does not describe all the aspects of top 1% developers. Besides you should not get stuck with this segment either. It’s hard to show any number how many such developers exists or are they just imaginery unicorns. Perhaps the features listed above describe the desired more or less unachievable developer image - a day dream, the super hero of developers. Something you will never achieve but that does not mean you should not strive for it.
Given that such unicorns exists, as API provider having such a customer is golden. If you play it right, they will help you to develop the product further with precise comments and suggestions. They are the premium customers from prroduct perspective. They might not bring lots of money in directly, but indirectly they give you insights which you probably don’t get from anyone else.
Your community manager and evangelists should be scouting such developers among the audiences and customers.
Hackers will help you to find and keep the competetive edge.
Some more to read from 100 Days DX
- #100 - The biggest open resource on Developer eXperience so far
- #98 - Invalid Open API spec files ruins the developer experience
- #97 - Lightweight API evaluation framework
- #96 - Embracing open source community driven tools development
- #95 - Exploring the multilevel nature of API Design Guides
- #94 - Machine readable Open API spec compatible SLA definition
While you are here...
Check out Platform of Trust in which I've worked to enable best possible developer experience!