How To Hire A Web Developer
Finding good tech talent is difficult. Hiring tech talent is harder again. We share the exact process we’ve developed to hire quality developers.
Most businesses need some kind of technical assistance at some point. It could be something as simple as a website or something as complicated as artificial intelligence. Most businesses know what they need to be done, don’t have the technical experience themselves, and not sure how to find the right people to help them get the work done.
While working on different projects, I’ve needed to hire developers in different parts of the world, with different skill sets. As recruiting is an extremely time-consuming process, and takes time away from core business activities, I thought it best to create a highly efficient and effective process to save not only time, but money, and effort while also highlighting some important lessons learned. This process has proven very beneficial so I thought I’d share it with the aim of making the process of recruiting web developers easier for other businesses.
What Type of Developer Do You Need?
Because I need to hire close to the same time zone as Australia, I used five different websites to find web developers; Upwork, BestJobs.ph, OnlineJobs.ph, Linkedin, and Outsourcely. Most people have heard of online marketplaces like Upwork and Freelancer. These platforms give business owners the ability to post jobs they need done e.g. graphic design, research, blogging, etc and have people from around the world bid on that job for the opportunity to complete it. I am very familiar with Upwork which is why it was my first choice when looking for a new developer. After posting the job, I received 95 proposals, 18 follow up emails, and finally interviewed 14.
Bestjobs offered the ability to post a free ad with limited features. The premium service offers highlighted ads, urgent, hide company name, show contact email, show phone number, show contact address. The only challenge with this is that if I wanted all the additional features, BestJobs only has one price point which is an annual fee of AU$524 for unlimited job postings. From the free posting, I received 6 possible candidates within the first few days but nothing more after that. One thing to note, I did limit the job to a specific geographic region but it was also the Philippines’ major hub.
Onlinejobs’ services are similar to Bestjobs however they provide a US$49 per month subscription. I posted exactly the same job here and received 231 views and 37 job applications over about a week.
Outsourcely is another great platform I came across recently. It boasts over 300,000 remote workers in over 180 countries. While similar to the platforms mentioned above, Outsourcely provides a level of granularity and professionalism that sets it apart from its competition. As I mentioned, I spent over 20 hours during a week trying to source one developer, so any functionality or feature provided by a platform that can speed up the hiring process and increase the probability of hiring the right candidate the first time is definitely something to consider. Something else that sets Outsourcely apart from Onlinejobs and Bestjobs is the ability to pay remote workers using Outsourcely. This might sound like a really minor feature but, in reality, when you take into consideration the transaction fees of Upwork, Freelancer, and PayPal, the fees for the developer, etc it starts making sense. In addition, there is a genuine time cost when using one platform to manage the work a developer does and a different platform/tool to figure out how much to pay them. Multiply this by the number of developers you have working for you and it becomes obvious why this feature is such a benefit.
Most people are familiar with LinkedIn. Here, I looked for freelance web developers in the Philippines, sent them a request to connect, waited until they replied, and then sent them a brief email to ask if they were interested in work. Once the developers responded via LinkedIn, I proceeded with the usual hiring process detailed below. The only reason I didn’t continue this path is because a) I had a lot of responses from Upwork and OnlineJobs and b) I hit LinkedIn’s commercial use limit so my search ability was restricted. To continue the “unlimited people browsing” option I would need to sign up for an AU$65.99 p/m subscription.
I knew I was looking for a full-stack developer and chose to use Upwork first because a) I was familiar with the site and b) Based on the feedback, I could improve the process and use it on the other platforms. Below, is a copy of the job/ad I posted.
I am the founder of a company, Merakium. We are just about to launch and looking to build an international team of web developers for our Support and Maintenance service. We would like WordPress and website developers who can work for us full time, 9-5 during your time zone. However, we are also flexible so feel free to reply if another time works better. The team will be made up of great developers all around the world. It’s an exciting opportunity to be part of a business which we expect will have 20 staff within a year. You will need the following to apply:
– Internet connection and ability to work from home.
– Excellent HTML / CSS skills and ideally some PHP to fix common problems.
– A good understanding of Slack, Google Drive, and any support ticketing system.
– The ability to be online and chat with us when you are working and have solid English communication (written development notes are done for each job).
If this sounds like something you would be interested in, or if you have any questions, please feel free to get in contact.
The Hiring Process Version 1.0
Once the applications roll in, it quickly becomes apparent, just how many developers are out there. It also becomes apparent that there is only so much you can learn by reading resumes and looking at portfolios. The ultimate question to be answered is:
“Does the web developer have the coding ability to complete the job, to the necessary standard, in the of time given? “
The general consensus is that a great way to determine if a developer is suitable is to invite them to a two hour paid trial to see what they deliver. So, I asked my developer to create a practical test using one of my spare websites. The test was designed so that a mid-level developer could reasonably be expected to complete the work in two hours. I started by inviting each of the applicants from Upwork to a 2 hour paid trial over the course of a week to test my process. This is a summary of my results:
- 4 simply didn’t show up.
- 3 stated they had an “emergency” and asked if they could reschedule
- 1, as soon as I provided the instructions, asked if he could have an extra 30 minutes so he could finish his lunch before starting the test
- I had to allocate more than 20 hours of my week, including reschedules, to the hiring process not including all the pre, post communication and setup
- I spend about AU$200 on the paid trials and additional money for my existing developer to review and mark the work that was completed with no tangible result
- Only one of the developers came close to passing the test
My developer and I saw such poor results we questioned whether or not the test we developed was too difficult. So, we checked and double checked the test and I even called my hosting provider to make sure there were no performance issues on my test website. My developer and I determined that what we had created was appropriate.
From this experience, I went back to the drawing board to redesign the hiring process. New & Improved Hiring Process Version 2.0 In both hiring processes, I’d post a job on a site (see above) and developers would express interest. Once interest was shown, I’d send them the pre-screening email below:
Hi [INSERT NAME],
Thanks for applying for the Web Developer / Web Master position. I’ve read through your application and have a few questions:
– What $US hourly rate are you prepared to work for given you will get guaranteed hours each week?
– Part of the job involves writing development notes for clients. Are you comfortable with written communication?
– The job often involves fixing WordPress plugin clashes, changing CSS and HTML and sometimes PHP. Are you comfortable with that type of work?
– Would you prefer to work full-time and/or part-time?
– Do you prefer to work weekdays, weekends, or both?
– Are you able to support an Australian 9 – 5 Monday to Friday work week?
The fundamental difference between the old and the new hiring process was the last dot point in the pre-screening email. In the old hiring process email I asked:
– Are you available for a 2 hour paid trial early next week?
In the new hiring process email, I asked:
Before implementing the new and improved hiring process, I took some time to search for online tests that I could use as a filter for developers that didn’t meet the minimum technical requirement. There are a lot of services that provide tests but I settled on Test4Geeks.com for the following reasons:
- It was US$99 for one month of unlimited tests
- Significantly cheaper than its competitors
- Double checked it with my developer and he confirmed it would fulfil our requirements
- Very simple to setup and provide developers with the test information
- Tests are designed to find mid-level developers
- Automatic email of test results in a PDF
Tests4Geeks’ emailed PDF test results make it extremely quick and easy to determine whether or not a candidate should proceed to the practical 2 hour paid trial. Below is part of the test results emailed to me once a candidate has completed the test.
Once I set up the new hiring process, I sent the new pre-screening email to all the developers on BestJobs, OnlineJobs, and LinkedIn. Most developers responded with something very similar to this:
– What $US hourly rate are you prepared to work for given you will get guaranteed hours each week?$**** to $**** / hr, 40hrs / week
– Part of the job involves writing development notes for clients. Are you comfortable with written communication? Yes
– The job often involves fixing WordPress plugin clashes, changing CSS and HTML and sometimes PHP. Are you comfortable with that type of work? Yes
– Would you prefer to work full-time and/or part-time? Full-time would be nice
– Do you prefer to work weekdays, weekends, or both? Weekdays, but I can work weekends sometimes.
– Are you able to support an Australian 9 – 5 Monday to Friday work week? Yes
From there I would send them this email. When mentioning any time and date, it’s important to be very specific e.g. Wed 8th March 09:00 (GMT+10) or Wed 8th March 09:00 your time/my time as you are dealing with people from all over the world and a simple mistake like this could cost your hours in planning and preparation.
Hi [INSERT NAME],
Apologies for the delayed reply. We’ve had a good response to the job application. Please see the information below regarding the test:
– Please identify yourself using your name and the email you used to apply for the position
– The test has 60 questions and is a maximum of 90 minutes
– I will be concluding the assessment for this test [INSERT DATE AND TIME]
Link to Test (link intentionally removed)
At this point, all developers had replied positively, and stated they would be happy to complete the online test. In reality, only about 50% of the applicants sat the test before the cut off date which is a great indicator right there. Of those that sat the test, only two passed with sufficient scores to be invited to a 2 hour paid trial which, again, is a great indicator whether or not to spend additional time interviewing people.
Below is the email I used to invite the developer to the second test:
Hi [INSERT NAME],
Thanks for taking the time to complete the test. We’re happy to see that you scored well and would like to invite you to a two hour paid trial. Please let us know your availability any time after midday your time (2PM my time). We’ll lock in a time and send you some instructions.
Here, we arranged a suitable time and date for the two hour paid trial. During the conversation, I mentioned that I would send them a reminder email on the morning of the trial, and then send them a link to the instruction document 5 – 10 minutes before the trial. Why?
The reason I did this is because during the old hiring process, some of the developers simply didn’t show up so thought they might have simply forgotten, therefore a reminder email might be necessary. Additionally, I didn’t want to waste two hours of my day that I organised to be available in a trial. Lastly, I provided one of the developers the instructions prematurely, they stated they had an “emergency,” and asked to reschedule which I did. The developer, obviously, had time to review the instructions in detail and completed the task with 100% accuracy in half the time of every other developer.
2 Hour Paid Trial
This next section might be a chicken and egg situation for some business owners. Here, I already had a great developer in India I’ve been working with for a long time. I briefed him on the service I was bringing online, exactly what I needed, provided some examples of the two-hour test, and asked him to create a suitable test and documents to accomplish the requirements which he did. I also asked him to assess the work completed, add comments to the marking criteria sheet for each developer being tested, and reset the site to its default settings ready for the next test.
As I mentioned, this might be a chicken and egg situation in that many businesses need a developer to help them set this process up, but the actual process is all about hiring a developer if you don’t have one. Fear not!!! If you need assistance with marking the work of a developer, please drop me an email and I’ll be happy to assist.
Once the two hour paid trial and the marking has been completed, we inform the developer of the status of their application. If they have been unsuccessful, I send them the following email:
Hi [first name],
Thank you for taking the time to complete the test. Unfortunately, we will not be continuing the hiring process. Please let us know if you have any questions. Best of luck with your endeavours.
If they have been successful, I send them this email:
Hi [first name],
Thank you for taking the time to complete the 2 hour paid trial. After reviewing your work we’re excited to offer you a position with Merakium. What we’d like to do next is start the onboarding process and confirm hourly rates and payment methods. Please let me know when you are next available to go through the onboarding process.
From here, we begin the onboarding process which involves instructional documents and a walk through of the tools Merakium uses to provide its customers with its Support & Maintenance service. Additionally, we go through a practice run and answer any questions the developer might have. This serves to get the developer used to the new environment while also giving me the opportunity to have a fresh set of eyes look through the process, ask questions, and provide feedback for process improvement.
Most businesses will need a technical professional at some point. It is a tricky, costly, complicated, and time-consuming task which distracts you from your core business. If you decide that you do need a developer to assist you with technical work, I’ve found the process is a great way to start with a very large pool of possible candidates, let process and technology filter out unsuitable candidates efficiently and effectively to leave you with a small pool of candidates with the highest probability of success and meeting your requirements. The above process was designed with not only the express purpose of helping business owners find the right developer but doing it in an efficient and effective way so as to minimise their time away from their core activities that help them generate income.