Guide to Hiring Your First Developer for Non-Techies

Guide to Hiring Your First Developer for Non-Techies

One of The Foundation members asked in forum, “How do I find a good developer?”. I was glad to help, but then I thought that others might benefit from this advice so I answered it via a post.

The best thing is to work on something small first. This way you’ll test the waters before putting a major project under risk. This might include a test or a real, but small task, (preferably outside of the main project) like writing a bookmarklet or a scrapper.

If you use oDesk (as I do) filter by at least 1,000 hours, i.e., freelancer worked via oDesk more than 1,000 hours. Then, do a video interview. Look at the portfolio and see if you like the work that was done. Also consider the location, because a difference in time zones is worse than distance (according to Succeeding with Agile). For example, I would pick a greater distance and less time difference over proximity with a larger time difference.

Typically, there are 3 criteria:

  1. Speed
  2. Quality
  3. Rate

The paradox is that some experienced developers whose rate is let’s say 2x can be 10x more productive than cheaper and less experienced developers… so aim at paying at least $20 per hour unless you know what you are doing. I would recommend offering around the $30 to $50 per hour range, because in the beginning they will be educating you a lot—so think about this as an investment. :-)

If you hire with aopt for flat/fixed rate contract, then have milestonesthe milestones. If you get an hourly estimate, then multiply it by 2 to get a more realistic number. It’s called the Hofstadter’s law.

When you hire, over-communicate and follow Agile with daily scrums and weekly planning… don’t allow a developer to work in silence for weeks, because this will usually end up in a re-work of some parts.

I despise toy problem / puzzle interview questions, on Computer Science fundamentals like sort algorithms, because they are close to worthless, in modern day web development. However, here are some very, very basic questions that will show how person is versed, in the practical areas. which I used to ask them when I was conducting technical interviews. I’m giving out my secrets!

  1. Var question: test on JavaScript scoping and fundamentals
  2. Monad question: test on JavaScript patterns
  3. CSS question: test on CSS fundamentals

Var Question

Let’s say we have this JavaScript code:

var a = 1;
b = 2;
console.log(delete a);
console.log(delete b);

What would be the output and why?

Answer: false and true because delete works only on properties and a is a variable, while b is a global (leaked) property window.b.

Monad Question

Write a definition for function f, so that this code:

var f = ???;
var a = f('hi');
var b = f('hello');

Prints “Hello World!” and “Hi Azat!”.

var f = function (g){
  return function (n) {
    return g[0].toUpperCase() + g.substr(1) + " " + n + "!";        

The catch here is to see if they performed the toUpperCase() because most of the people get excited about functions that return functions, and miss the fact that words “Hi” and “Hello” need to be capitalized! The devil is in the details.


Reading blog posts is good, but watching video courses is even better because they are more engaging.

A lot of developers complained that there is a lack of affordable quality video material on Node. It's distracting to watch to YouTube videos and insane to pay $500 for a Node video course!

Go check out Node University which has FREE video courses on Node:

[End of sidenote]

CSS Question

What is the difference between class and ID?

Answer: ID must be unique, and used only once on the page, while class can be and should be used multiple times.

Best Regards,
Azat Mardan
Microsoft MVP | Book and Course Author | Software Engineering Leader
Azat Mardan avatar
To contact Azat, the main author of this blog, submit the contact form or schedule a call at and we can go over your bugs, questions and career.

4 thoughts on “Guide to Hiring Your First Developer for Non-Techies

  1. Oscar

    Hi Azat,

    I’m probably just nitpicking a bit :), but shouldn’t it be…

    Prints “Hello World!” and “Hi Azat!”

    … instead of

    Prints “Hi Azat!” and “Hello World!”.

    If this is worth the effort put into it, darn, I think I deserve a reward. :)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.