Developer Super Powers
Published: 2023-02-07 01:09:54

Are you a software developer? Do you want to be a super hero? Read on....

Over my 20+ years in the industry I've had the privilege to work with many talented software developers. While every individual is unique and every job requires a different set of skills and capabilities to exceed. I've noticed some common traits that the people who absolute crush it have in common. Here they are: 

## Focus
Like make kinds of knowledge work, writing great software requires the ability to block our distractions (both external and internal) and focus deeply on a single task. Maybe of the rockstars that I've worked with have developed tangible rituals and queues that help them to redirect their mental energy towards a task. For example, putting on headphones, adjusting keyboard, closing other browser windows and writing down on paper the immediate task. In today's world of social media, smart phones and (formerly) open plan workspaces, focus is a rare commodity. Learn to focus your mental energy. 

## Humility 
Ironically, the loudest and most boastful team members are rarely the ones doing the best work. Great developers are always learning and in order to learn, you must recognize the limitations of your own knowledge. Everyone and every experience can teach you something and a career the person who learns constantly will emerge victorious. Humble people are more likely to learn from their peers and build strong relationships. Stay Humble. 

## Communication 
Knowledge work is rarely a solo-sport. In almost all cases, work happens in teams and the team can only work as well as the communication within it. The ability to communicate complex ideas simply, to listen well and ask thoughtful questions is critical to cohesive and capable teams. For the introverts among us, don't despair, 90% of this is about listening, questioning and communication in small groups or  in writing over communication platforms and documentation systems. Listen, reflect, discuss. 

## Drive 
Work ethic will beat out talent over the long run. The best developers I've worked with are driven innately to see the projects and products they work on succeed. This motivation is intrinsic, and comes from genuine interest and the reward that comes from seeing something that you built work the way it was designed. If you find yourself lacking this, reflect on why and make the necessary changes if you can. Maybe you're burned out, your goals are misaligned with your current role or maybe your motivation is misplaced. 

## Learning 
The first 4 skills are pillars of the last, which is learning. Learning requires the humility to recognize the universe of things that you haven't mastered yet, the focus to study them deeply, the communication skills to accelerate your learning by benefiting from the knowledge of others and the dedication to do these things every day. At the end of the day, what makes a superstar is the ability to learn at a rate far above the average. This super power isn't obvious after 1 day on the job or even 1 year. But over time the person who learns the most will rise to the top. 

A question I love to ask in interviews is: What is something that you're learning right now. Then an immediate follow up: tell me what you've done in the last 30 days to improve in that area? 

Everyone has an answer to the first question, but the follow up is what separates the rock stars from the rest of us.