The idea of building a tech startup is certainly in vogue. Startup Incubators and Accelerators are popping up across the country and large international conferences such as The Launch Festival and Startup Grind are finding their way to Australian shores.
This increased desire to be a “startup founder” is however leaving people who come into the industry with a non-technical background open to being led astray according to Paul Towers, the Founder and CEO of Task Pigeon.
As a non-technical startup founder Paul has worked exclusively with offshore developers since launching Task Pigeon almost two years ago. During that time Paul says he has spoken with dozens of startup founders who have outsourced development and spent tens of thousands of dollars only to have little or nothing to show at the end of it.
How To Approach Outsourcing Development Work
Recently, Paul had to recruit another full stack developer to help with the work required to launch a major revamp of the Task Pigeon application. Despite years of experience hiring offshore developers Paul said “it is never an easy process and requires a lot of time and attention to get right”.
For Paul “getting it right” was a critical requirement. Unlike new startups, Task Pigeon is live and has been for some time. It has a growing user base and a number of paying users to support. As Paul went on to outline “with the stage Task Pigeon is at I can’t afford to make a mistake with who I hire. If I make a mistake that impacts the usability of Task Pigeon not only does that impact my ability to attract new users, but our paying customers may chose to leave undoing months of work in the process”.
To maximise your chances of success Paul recommends that “you go into the process with a very clear set of requirements and expectations. At a minimum you should have wire-frames of the application complete and a document that outlines how every part of the application works or interact”.
Paul went onto explain that “ideally you will have the full design completed. This way you can then upload it into a tool such as Invision and create an interactive “dumb” version of the application. Being able to show a developer what should happen when a button is clicked or a when a user swipes the screen in a particular way can save a lot of time and energy when trying to explain a concept via email or a message”.
Once you have the requirements of the application completed Paul recommends connecting with someone in your network or the startup scene to get their feedback. “It’s a myth that you can find a cofounder in a startup group or via cold email. It just doesn’t happen that way. But you can find someone who might give you 30 to 60 minutes of their time to share some advice and insight on what to look out for and how complex your application appears at first glance”.
In Paul’s case he was able to connect with the founder of a coding school who in turn put him in touch with one of their full stack instructors. “I had already done a lot of research personally and thought that building Task Pigeon using the MEAN stack would be the best approach, however, having someone with years of industry experience outlay the pro’s and con’s of the different ways to approach the application was extremely beneficial”.
Only then, once you have a clear understanding of what is requirement, and all of your design documents in place, should you begin the search for a offshore development team. Based on his experience and feedback he has heard from others Paul personally prefers to hire developers out of Eastern Europe.
According to Paul “they on average appear to have a higher level of technical skill and also aren’t as quick to say yes to questions you pose. I would rather the developer be open and honest and tell me they don’t know or can’t do it, than try and fumble their way through it. That’s not to say there aren’t great developers in other regions. There are. But so far the most promising people I have interviewed and hired have all come out of Eastern Europe”.
How To Find Developers To Outsource Software Development To
In order to find developers there is no magic bullet or platform. Paul simply uses Upwork, while other platforms such as Freelancer are also options to consider. When creating your job description Paul offers a number of tips for non-technical founders:
- Make sure the description is very clear. Not only from the product level/requirements but also on the technical needs of your application. For example outline what language the application is to be coded in, what systems you need it to integrate with or utilize (i.e. Stripe for payment processing or Sendgrid for emails).
- Create a list of questions that the candidates need to respond to. Again, these should be very specific to your application and requirements. For example, ask the candidate a question like: “Please detail your experience building a SaaS based application for B2B clients where you were required to integrate with X”.
- Include links to images/demos/documentation so that the candidate can review the material and then ensure you ask a question in the application that they should know the answer to if they have read/seen the material you provide. This helps weed out people who respond to hundreds of jobs without ever reading the requirements.
Once that is in place and the job posting goes live it is not unusual to expect a flood of applicants over the next 24 to 48 hours. This can often be overwhelming and make it difficult to know where to start. According to Paul he has a simple rule for culling the list. “First of all I make sure that the applicants actually list the coding language as one of their stills. I.e. If you are looking for a Node.JS Developer and they don’t list Node.JS as one of their skills I immediately cut them. You would be surprised but this could make up at least 30% of the applicants.”
After that Paul runs a second filter. As Paul said “I then look at their reviews, number of hours worked and general experience. I cut anyone who has under 90% feedback, or lacks any significant project experience or hours. I don’t want to necessarily exclude new and up and coming developers but it is all about risk v reward. If someone is experienced working as a freelancer and has good feedback then chances are they will provide a better quality service to you”.
With a much shorter list of candidates Paul then moves onto the next aspect of the process. Shortlisting and then selecting the candidate.
How To Select The Right Offshore Developer For Your Startup
With your shortlist of candidates you can now move into the next part of your process. For Paul this starts with an in person interview over Skype or Google Hangouts. As Paul explained “you want to speak with potential candidates fairly early on in the process. First of all you want to ensure that they can communicate clearly and that there at least appears to be an initial fit between your personalities and how you approach work”.
Typically Paul will interview around 8 – 12 developers in person. Sometimes less if there were a handful of standout candidates during the initial text based application process. From the 8 to 12 interviews Paul expects to get 4 to 6 developers who can proceed to the next stage.
For Paul the next stage is to organise an online coding test for these candidates. In the past Paul has used Devskiller. This is a platform that allows you to create tests around specific coding languages or concepts. These tests are then sent to the candidates and you can view and monitor their results.
“Devskiller is something that I highly recommend using. As a non-technical founder everything can look good on paper but you need a way to actually test their technical skills. Using a test is a great way of doing this” said Paul.
As these tests take around 30 minutes Paul does not pay the developer to take the test. Instead he speaks with the developer and informs them that they are on the shortlist to be selected for the role. In order to progress and potentially be assigned the job they need to do the short test in order to validate their skillset.
“Once you have the results back you should find that you have only one or two developers left. After that I typically make my decision and hire the candidate. If you prefer you can add another level of protection to the process” according to Paul.
This extra level of protection comes in the form of assigning the developer a test project. According to Paul you don’t want this project to be too large or complex so that it wastes time and money, but should be sufficiently in-depth to test the candidates skill. At this level Paul then recommends taking the code they provide and asking an experienced developer to give it a quick review. I.e. Does it look like it is structured correctly, is the code well written or is it overly complex.
Once You Have Selected The Developer, What Next?
The process of hiring an offshore developer doesn’t stop when you assign them the job. It is an ongoing process. As Paul said “you have to manage the developer and your relationship with them every week, especially during the early process.”
Paul went on to say “that at a minimum you want to have weekly meetings and a clear timeframe for the development work. You want to ensure that they are maintaining a cadence that they promised and are keeping you informed at all time.
It’s always a red flag if your developer goes quiet or if there is a long gap between updates. In my experience this always means that something is wrong. You need to get on the phone and speak with your developer ASAP if this occurs to find out what is going on”
Overall Paul recommends that you stay engaged at all times and make sure that you ask for any technical challenges or issues explained to you. “Just because you are a non-technical founder doesn’t mean that you should not try and understand more about the process. If there is a challenge or a particular function or feature you are struggling to implement then you want to understand why. You should use this as an opportunity to expand your own knowledge”.