As a former owner of a successful software company, I have extensive experience hiring tech workers from platforms like Upwork and Freelancer.
Throughout my career, I’ve screened hundreds, if not thousands, of applications and developed a keen eye for identifying top talent. In this article, I will share my insights on what to look for in tech workers and provide a step-by-step process to ensure you make the best hiring decisions for your business.
When it comes to hiring tech talent, it’s better to err on the side of being too picky than not picky enough. Hiring a bad worker can be very costly in terms of time, effort, and code quality. If you’re unsure about a candidate, it’s generally better to pass on them than risk hiring someone who might not meet your expectations.
It’s More than Money
To attract the best tech workers, it’s essential to understand that money isn’t the only factor they consider. Talented professionals often seek technically challenging jobs and environments that allow creative freedom. Make sure to highlight these aspects in your job listing.
The culture of Upwork and similar platforms sometimes emphasize speed over quality, leading to a short-term focus for both hiring managers and workers.
The result of prioritizing speed or price over quality is that you will often end up with a poorly coded, hastily assembled project that’s hard to maintain, so it’s essential to prioritize quality and long-term thinking when hiring tech talent.
Key Things to Look For
- Side Projects: Seek candidates who demonstrate enthusiasm for programming beyond their professional experience. A good indicator of this is an active GitHub account or involvement in tech-related side projects.
- Individual workers: Be wary of agencies that might swap out workers frequently, as this can lead to inconsistent work quality. Stick to hiring individuals who can guarantee a consistent level of performance.
- Craft a job posting. Include questions that help you identify strong candidates and weed out unsuitable ones (See example job posting below)
- Perform an initial application review. Dismiss applications with insufficient experience or poorly addressed questions.
- Request CV/resume. To gather more information, request resumes from candidates via the Upwork message system.
- Utilize a rating spreadsheet. Put a handful of the top candidates on a spreadsheet and evaluate them based on both subjective and measurable criteria. Add composite scores and color code ratings for easy visualization (see spreadsheet section for how to get a demo spreadsheet.)
- Sort candidates. Use the composite ratings and colors to quickly determine who is the best of the best.
- Invite top candidates for a technical interview.
- Assign test project if necessary. For longer term projects on very complicated systems it can help to give the candidate a trial project to ensure they are up to the task of dealing with complex code, before they touch your system.
Example Job Posting
The example job posting included several questions that are used to help you do an initial screening. Here’s how I recommend you screen the answers:
- Are you an individual or part of a firm?
- Toss out anyone that is part of a firm. We only want individuals to ensure consistent quality because many firms play musical chairs and swap good people for bad. Note: It’s important to phrase it like this, otherwise firms will have an incentive to try to pass themselves off as individuals.
- What interesting side projects have you worked on …
- If they can’t list any, toss it. We only want people with a passion for technology and that means they like programming so much they have even done it when not getting paid.
- Can you share some code samples…
- Toss out anyone who can’t furnish this for the same reason as #2.
- What is your experience with our product?
- In my case this wasn’t not a hard no if they didn’t have experience with my product, but was a nice bonus. Obviously there is some tech they will definitely need to have experience with though.
- How do you ensure your code is well-organized and maintainable?
- Toss out anyone who can’t answer this well. We want people who think long term and don’t leave a mess behind them.
Send me a quick note if you’re interested in either the candidate rating spreadsheet or the trial project description I used to filter candidates.
Hiring top tech talent can be a challenging process, but following these guidelines will help you identify the best candidates for your business. By focusing on passion, individual workers, and realistic activity levels, you can build a team of reliable and skilled tech professionals that contribute to your company’s long-term success.