I’ve recently been involved in a discussion about what makes a rockstar developer for a startup. This has always surprised me- the reality of the matter is that there are no rockstars, only people who think of themselves as rockstars, and those are the last people you want in charge of your product. So I figure, as someone who’s been around the block a few times, it would be good to come up with a list of what actually makes for a “rockstar” developer. If I miss anything, feel free to contribute in the comments.
1- They don’t think of themselves as rock stars.
Arrogance is perhaps a key requirement in being an entrepreneur, but overconfidence will drain your cash pool faster than hookers and blow.
2- They have a proven track record of multiple shipped products.
You don’t want a hotshot kid out of school, you want a seasoned professional, preferably one who knows how to write applications for the industry you’re trying to reach.
3- They care more about frameworks than plumbing.
Unless you’re trying to design a complex new mathematical algorithm (in which case you should probably be partnering with a university research lab), you want someone who can grasp a system rather than a method. If this guy ends up in deep technical discussions about the optimal way of implementing a sort, you’ve got the wrong guy.
4- They’re not willing to work for free
Risk management and strategic thinking is key to long-term project viability. If you have someone willing to work for equity, they’re willing to take risks with your payment processing gateway just as easily as they’re taking a risk on you.
5- They believe in development process and best practices to speed up their work.
The last thing you want is someone who’s trying to reinvent the wheel. Mind you, this also likely means that the first two weeks or so of development you’ll see a lot of development support tools get set up and used before code actually starts, but that’ll give you time to get your documentation in order.
6- They have a positive attitude.
If someone bitches, they’re looking to blame themselves. Instead, you want them to identify their concern as a problem they can solve.
7- They get uncomfortable when you ask about their social life.
’cause, well, currently it’s still socially odd to prefer coding on a saturday night.
8- You don’t want Alphabet/Acronym soup in their technical skills.
Lots of languages means little depth in each, and depth = speed. Pick a serverside language (PHP, .Net, Ruby, etc), pick a database (MySQL, SQLServer, Postgres, etc), and pick a frontend (Flex, Mootools, JQuery, etc). Focus on that. If a dev has only a few languages this does not mean they’re stupid- it means they know how to focus.
9- They’re involved in the community.
Speaking, attending, whatever, you need to make sure their technical skills don’t stagnate, and that they’re willing to accept ideas from outside.
10- You respect them
Respect means you are willing to listen when they tell you you’re full of it, and that’s key in a partnership. You’re not looking for a monkey you can put in a corner who can bang out some code- you’re looking for a partner who’ll act as a technical sounding board.
So now I have this question: What makes for a rockstar business partner?