So you have this great idea for a startup, your star CTO made you a proof of concept, you used it to get some invest. Now you have some money and you need to hire, your star CTO said that the tech is complicated and we need a team of star developers to build the app. Classic story in the startup world that can lead to a classic failure.
Do you really need a full star developers team ? Do you need to get each good developer that is available in the market? The answer is no. In fact all star team may do more harm than good to your startup. You think I’m crazy?
1) Not every task needs a star
So you fixed the structure and the architecture of the application, You got your best developers solving hard issues and creating amazing algorithms, but what about the small details of the application, what about all those tooltips, what about all those boring forms validation, what about those sortable tables, what about those sql queries that are basically repeated work. You like it or not details are important, it make your app smarter and more effective, like it or not some part of the code are just too easy to make but also too boring to write. Star developers are bad at doing the boring tasks, they need excitement and challenge but in the other hand boring task are very good for a junior developer that is learning and for him the form validation is exciting and cool task that will do it with perfection.
2) Too much ego in one room
Developers have different trainings and beliefs, and a fight between two good developers is easily triggered, it could as easy as a fight about if you should use tabs or 4 spaces to make indetention.
In software development there are many good ways to solve a problem, all of the ways are good and clean, but you need to choose one way so things get moving.
Sure at first you enjoy a fight in the war room between two developers and all the fancy terms and argumentation, you see each one of them sketching something on the whiteboard trying to make a point, you feel so proud to have those smart people in that room, you remember what Steve jobs said about hiring smart people and you think this is how things should be. But after a while you notice that small tasks or decisions are taking too much time and most of the time is spent in discussions instead of building the app and suddenly you have new job that you didn’t signed for and sure is not making your startup growing which is solving conflicts, you have so much conflicts that you started working in your local starbucks shop so you don’t have to see the angry faces of your star developers.
3) Star developers are expensive
You got some money from your first round, at the time you thought it is a lot of money, and it should be enough to build your app and get your first customers so you can go to the next round and raise more money. You estimated that the work will take 6 months from now and you will be fine, you can pay good developers with what you have now until your next round.
Well think again, life never goes according to your plan, technical problems show up unexpectedly, new features need to be built and old ones need to be changed. You need to save as much money as you can and if you will spend it paying the stars, you may not even finish your first alpha version. So think twice before you hire and think three times before you agree on a salary, because those good developers are not cheap.
4) Good developers just quit
You get a good developer for two reasons, one is money and two is getting him excited about your idea. If you hired the developer for the money as soon as you get money problems or as soon as he gets better offer he will quit, you may say I have amazing leadership skills and amazing motivational speeches but when is about money well money wins. Next option, you hired the developer because you promised him to change the world, those developers are always looking for excitement. At the beginning of each project things are exciting, many decisions, many challenges and many technical problems but at some point the project will go flat, things are not exciting any more, code is written everyday but nothing challenging and at that point your star developer will get bored and jump to the next new thing. By depending only on star developers you can end up easily with a huge code and no developers that understand what the hell is going on, the original team may quit at once(developers do that all the time). So having juniors that learned from your stars and know the way around the code may save the day.
So having all star team is a bad idea, but also having all junior team is also a bad idea, while no one is thinking about hiring a bad team, I noticed that everyone is trying to get all the best talents out there. You need to find your balance, sit with your CTO and make him figure out how many stars you need and how many juniors you need, you may consider outsourcing some of your code to externs(freelancers or agencies) which may be a cost saver for the work that is not a part of your core code(like tools integration, plugins…).
I hope this article may help you on your recruitment strategy and before starting filling job descriptions for ninja developers you really should think about your needs. And finally good luck with your journey building startups hurts.
Also published on Medium.