What makes the difference between a star developer and a day coder? First of all, with a star developer I don’t mean star as in ”famous”, rather as in ”elite”. And, a day coder is OK to be, no disrespect here. We need you as much as we need the elite.
My point here is that if you wish to hire a real star, you need to know what to look for.
Expensive but valuable
If you hire a star, either on contract or employment (less likely), expect to pay more. They know their value. With that said, a star will give you more than you pay. A more productive person is better not only because of that in itself, it will also mean you can get the same job done with fewer people. The communication cost for a team increases exponentially with the number of persons. This means that while the cost for stars is in linear increase, the benefit is exponential.
In the old days, when I started coding, the best developers could sit in a dark corner and crank out cool solutions that they reluctantly maintained when somebody dared to ask them.
That kind is no longer considered a star, more of a pain in the proverbial. Nowadays, developers are supposed to work well in teams, stars or not. Therefore, a star is a person that lifts the team and makes the other players better. Compare to any team sport, ice hockey, football or motor sports. We play at different positions with different skills but the star player lifts the rest.
If given a mundane task and no one in the team wish to take it, the star will find a way to automate it. I usually challenge with the phrase “how can we not do it?” which gets the discussion rolling. Thus the challenge will be to remove the mundane and make room for real challenges.
You don’t learn new things unless your mind is open, that has been known for thousands of years. But still we must actively be on our toes to keep it that way. In our industry, changes are fast paced and you don’t become a star unless you keep up.
A star developer keeps a beginner’s mind to be open to new influences, which also makes a great listener. It is a joy to sit in a room with real stars having a discussion.
A star developer is proud to write readable code that is easy to refactor thanks to back up from automated tests. Years of experience has taught the lesson that maintenance starts from day 1.
Another thing that is prominent with a star, is the recognition of customer value. Instead of “interesting” solutions that will pay off eventually, a star delivers working, valuable software here and now.
If you’re good, then there is a moral obligation to share. There are many ways to do that and as a team player, pair programming is natural. Here the star excelles with patience for the slowest of beginners.
When there is a new challenge for the team, the star picks up and will do a 30 minute presentation just to get all in the same direction.
Honest and transparent
A star is always honest about skills. You’ll never hear a star claiming to be knowledgeable in something they’ve only heard about on a conference.
Nor should you need to be in the dark about what the star is currently doing. At any time, it should be evident what is on the agenda.
In summary, a star developer is someone that you will want to have on your team and that everybody in the team appreciates or perhaps is even proud to work with. To hire one, I think that what I mentioned here is what you should be looking for.
Happy hunting! 🙂