Hiring Developers for your Startup
You have an idea that requires the skills of one or more developers. You have decided that the idea is worth pursuing and you have raised some capital to get going but you do not have some key development skills in-house that will be necessary to build out your app or platform.
I have been in this position before and gone through the hiring and sub-contract process with mixed success and a similar thing can be said for many startups that I have encountered. The question is how do you make informed choices when it comes to selecting the developers that will make your vision a reality?
Microsoft, Google, Facebook and Amazon offer top developers lucrative salaries and perks to join their companies and it is virtually impossible to compete with them in the job market, however, there are developers that prefer smaller, more agile organisations and if you feel you have found one of those they may be attracted by a smaller salary, more flexibility and the option of equity if they meet the milestones that you set.
Point to consider when hiring a Developer
1. Why do you need a Developer?
Is a developer essential or can you achieve the results with your existing team? If your company is in the early startup phase and is still developing the concept then it may be too early to take on additional IT staff, however, if you conclude that an IT person is essential to move forward then you may have reached the point where it is the right decision.
On some occasions it may be a consideration to take on a technical co-founder that not only has the skills but is someone that has the track record of managing situations such as yours and growing startups into larger businesses. The downside is that unlike a salaried employee, a technical co-founder may want an equal (or large) share in the business.
If you cannot build your project without development talent then, and only then, is it the right time to hire a developer for your startup.
2. Could you outsource instead of hiring?
Skilled, accomplished developers attract high salaries and would most likely be seeking equity or stock options as part of their remuneration which may be beyond your existing budget. It is not unusual to see startups hire employees to only later realise they are not able to complete the tasks required or are not a good cultural fit with the company. In these cases, it is difficult and potentially expensive to terminate employment and to start looking for a replacement.
It may be more cost-effective to consider outsourcing the work and paying on a per project basis. Although outsourced developers may have other concurrent projects, costs can be controlled, and payments made on a phase completion schedule.
3. Can you document a clear set of tasks for the Developer?
As a Business Plan is critical to your business’ success, a Technology Development Plan is essential in establishing goals, setting milestones and providing a basis on which you can measure a developer’s progress. Make sure you have a documented plan before you talk to potential developers. It’s your vision and end goal, not theirs.
Whether you hire or outsource you will need a plan.
4. When should you hire a developer?
Do you have an immediate need but can’t find the appropriate talent? If this is the case, then outsourcing may be the best option, otherwise you may be able to wait until the right candidate arises.
5. Where can you find Developers?
There a several things you can do when hiring or outsourcing a developer, these include:
- Recruitment agencies/websites that specialise in IT personnel.
- Talk to your personal and business network to get recommendations.
- Contact Universities and tertiary institutions that run courses for developers.
- Contact Innovation Hubs.
- Visit startup Incubators and talk with startups in your sector.
- Join Online developer communities like Github and Stack Overflow. Software developers upload samples of their work and the code they have written on these platforms so that You can make intelligent connections and get insights into their coding capabilities.
- Attend Developer events,Developer conferences, hackathons and tech events.
Before you start on the above make sure you have a concise view about what you will say when you meet potential candidates, tell them about the problem that your startup intends to solve and why it matters.
6. Consider a trial period with a predefined task
Developers may resent or object to working on a part of your project on a trial basis unless they receive some payment. If you believe you have identified a suitable candidate/s give them a real problem to solve. This will provide you an insight into their approach, methodology and capabilities handling a problem that relates to your business.
7. Evaluating their resume and qualifications
Educational achievements and work experience are the starting point for deciding on a candidate to fill a role. If they are agreeable ask for a sample of their work and for references from people with whom they have worked.
A growing number of software developers are self-taught, and most have learned additional languages and obtained more skills beyond what they had learned in their tertiary education.
8. Do you need assistance with the hiring process?
If you, your co-founder or someone in your team has the skills to understand the requirements and is comfortable interviewing technical personnel then you have the technical interview round covered but if not, you might find yourself needing assistance.
If there are several people in your company that are conversant with the requirements, then a panel interview may be appropriate. Alternately a professional recruitment company that specialises in IT developers may be an option.
9. How will the candidate fit in with company culture?
The interview process should include broader questions beyond the needed technical skills. Look for people who share your vision for the direction that the startup needs to take and the implementation of the solution to the problem you are looking to solve.
Explain the company culture and look for response that indicate the new recruit would be a good fit for both the job and with your team. In a developer role the candidate will require good communication skills as well as an understanding of the specifications.
Hiring Freelance Developers
When you hire a freelance developer there are some important points to consider:
- As the business owner consider what is the minimum that can built that will create revenue? A good developer interested in an ongoing future with you as a client will and your developer should be pushing you to think that way.
- Before you decide whether to engage the freelancer on a price per project basis or an hourly rate do some research on what similar projects have cost other business owners as in some cases a freelancer will charge a much higher price and factor in contingencies that may never occur, whereas, an hourly rate contract may work out cheaper.
- Determine the scope of the contract clearly. If you fail to do this, you may be subject to higher costs as a result of scope-creep possibly because the developer sees the project from a different perspective than you.
Developers will use different languages to produce different systems. Developers often specialise in particular languages and the choices developers make at this point have long-term consequences. As the author of this article I have worked with business owners and large corporations and have found that years after developing their first programme they have experienced difficulties in integrating new modules primarily because of the developer and language used to create the first programme/s. One world recognised bank was grappling with 100 old systems (called legacy systems) and trying to combine their outputs with a whole new set of programmes.
The choice of languages can cost months of work to undo, hold up clients, and delay revenue and future versions, or can force a rebuild of your entire application.
Irrespective of whether you hire new personnel to develop your system or subcontract to an external company or freelance developer it is essential that you lay down a clear plan, set out the objectives and create achievable and measurable milestones before you engage a developer. Take the time to do the homework, understand the implications of languages and investigate the track record and performance of candidates before signing them up.