[Multi-part question with similar introduction because I thought the questions would be more useful separately.] Hi all,
I'm currently a one-man dev team with what I believe is a killer idea. I've got a varied set of skills, but I know that I'm going to need some superhero developers to make my project happen. The issue I've had here is that, like many other developers, I work a pretty demanding day-job. Outside of work (which I don't think would appreciate me recruiting for a side project), I don't know quite how to get people interested or involved in my project. I'm fairly young, and don't necessarily have a network of developer contacts.
How do I build a team whose skills and involvement I can trust? I'm generally a pretty trusting person, but I'm wondering how I can take people I have no experience with and gauge them enough to know whether they would make a good addition to the team.
What is the best way to build / gauge a relationship from scratch with the purpose of building a great project team?
Thanks in advance for any help you can give!
A-team, B-team, etc. is all BS MBA-types like to use, since it is very cosy to use terminology than actually build a great team.
That said, Pierre nailed it, except one point - it does not take years, but it does take some turn-over. There will be some turds along the way, sweep them out ASAP.
Also, you should look way outside your comfort zone, when it comes to diversity of your team. E.g. in tech companies, stay away from stuffing your company with white and asian single males in 20-30 year-old group or you will end up with the worst case of groupthink. See this article Does Recruiting a Diverse Team Mean Discriminating Against the Majority?
Hire self-starters : people who are disciplined, able and eager to learn on their own, who can take responsibility, and aren't afraid to make and learn from their mistakes. More and more, I'm becoming convinced that mindset and personality are at least as important as technical skills. Anyone can learn technical skills, but it's far harder to gain discipline, motivation, and leadership where there has been none previously.
Does that mean don't hire people with good technical skills? Not at all, but you should be open to hiring a less qualified candidate with the right mindset over a more qualified candidate that isn't flexible and will never grow beyond who they are right now. You want people who can manage themselves, not people who are constantly dependent on you for the next step.
The other part of the equation is that you need to allow your team room to grow and learn. Equip them to succeed by removing obstacles. Allow them to take on responsibilities and let them succeed and fail and learn from both. Encourage critical thinking skills. Let them in on the business side of things so that they can understand the whole picture. If your employees are developing your products, you should be developing your employees.
A star team is much better than a team of stars. Applies anywhere, not just in software. Get some reliable people to start with, and build from there.
Open source contributions & real-world portfolios Hire people who have a history of commits to open source because:
Hire people who have real world portfolios because it shows they want to be recognized for their work and that they can actually produce products that people use.