I have been working with and hiring developers in many companies over the past 15 years. I can shed some light on this question.
Answer: Expect to pay $20-60 an hour for a good programmer or about $40,000 to $100,000 as a general rule covering most programming needs. Of course, this number can go up or down depending on skillset and location, but it is a good starting point covering 90% of cases.
What is the cost of hiring a good programmer? It is one of those questions that is hard to answer in total. Defining what “good” is can be a challenge. I think, in general, they are the people that get the task done. Some positions pay much higher than the amount I stated above, but at some point, you move from merely being good to being something much better.
What is A “Good” Programmer Anyhow?
When looking for someone to help me on a project or full-time hire, I have one primary objective: finding people who can progress without constant supervision or help. Some projects require more attention from the person holding the requirements, but hiring someone to do some programming should save you time, effort, or both.
A “good” programmer is going to be able to help you accomplish your goals faster and without a ton of hand-holding. This “good” programmer is different from a junior developer who requires a lot of teaching and guidance. Many people mistakenly think they want junior-level developers to save money but often spend more time and effort restating requirements or correcting misinterpretations.
Based on this, you can imagine how one’s abilities correlate to the programmer’s skill and how that might directly affect the pay they should receive. I can argue that paying more for the programmer will save you time and money in the long run. A good or even better programmer will be worth magnitudes more than a lousy programmer, as a bad programmer can end up costing you money.
How Will I Know if a Programmer is Good?
Knowing if a programmer is good or not might be a tricky question to answer if you are not a programmer, but I can give you some helpful insights into what to look for and think about during the search process and after you have hired them during the first few months of work.
When searching for a programmer, they often post links to past work, a blog, etc. These work products are a great way to get to know them and how they might communicate with you on the project or the job.
I like to look for programmers with clear written communication and hopefully documentation or readmes on their code samples. (I plan to write more detailed instructions on this for non-technical people later). If possible, I will also often run people’s projects or view their live online examples, but you should exercise caution when doing this if you are not able to follow what their code will do.
Even if you are unfamiliar with coding, you can learn much about a person from peeking at their codebase or viewing their live samples. Do you see a lot of naming that looks like “test” or “example”? Maybe they followed a tutorial and didn’t think through their naming very well; however, I enjoy it when someone does some witty naming. I like to see names for functions and classes that make sense, even from a non-technical standpoint. Do things seem to be well organized and have flow? There are several small things like this you can pick up on.
One of the biggest things I like to look for is straightforward communication. If you are going to hire someone supposed to make your life easier, clear communication is about the best thing you can find.
Many programmers try to look at the logical flow and common mistakes that new programmers make. When evaluating a programmer to hire, my goal is simple, “did they write better code than I would have written trying to do the same thing?” I always want someone better at the task than I am.
Once you have hired them or if you are trying a sample project first. Now is the time to consider some essential things:
- What kinds of questions do they ask
- The best programmers ask questions that get to the core of the problem.
- How smooth is the communication
- Smooth communication is not how easy it was for you to “hear” them. I have worked with some fantastic programmers that had a very hard-to-understand accent. It is more about how obstacle-free the communication is and how much they follow up on misunderstood items.
- Deadlines and promises
- admittedly I would fail this every time, and most of the best programmers I know only get it right about 65% of the time. But you have learned what your toleration is here for missed deadlines and try to adjust expectations accordingly. If you can not manage a programmer’s wildly inaccurate deadlines or promises, you need to find someone else.
Side note on the last point about deadlines and promises: A great programmer will be far more accurate than a “good” programmer in this area. I know some great programmers who hit their deadlines 85%+ of the time charge between $125-250/hr. They also tend to write fantastic code that makes other programmers weep when they see it.
The next most common mistake is not hiring the correct type of programmer for the task at hand. I have more in-depth information on that
here (in a forthcoming article), but let’s take a quick look.
Cost of Hiring A Good Programmer Based on Type
Sure, you might have an idea bout what a “good” programmer is and a general range, but if you want to get more specific, we need to figure out what type of programmer you need to hire. Let’s keep things simple here and look at the significant kinds of programmers and programming.
Below we are looking at pay ranges for both full-time and freelance developers. Splitting the list this way made the most sense to a more significant portion of the people I consulted with over the years.
Do you need to make a website, web app, or other user interface function?
Then it would be best if you had a frontend developer. Remember, these guys are not designers at $32,000 to $70,000 as a general average full-time salary. Interestingly, on the freelance side of things frontend, devs can make much more, with $40-60 /hr being relatively common. To get full use out of your frontend developer, you should provide them with at minimum a wireframe design, ideally with complete mockups and wireframes.
Are you trying to do something more complex, possibly involving data manipulation or building an API?
Then a backend developer is going to be the right fit. Unlike frontend developers, backend developers are not the right choice for anything customer-facing, but they can build rudimentary user interfaces when required. The current national average pay for Backend developers in the USA, according to glassdoor, is a cool $101,000, and those “good” freelancers typically cost between $35-60 /hr.
Are you looking to make something that you need to happen “inside” your computer, possibly some automation or operating system-level development?
A Systems Software Developer will be the right fit. Found more in the government contract sector, medical, IT, and other industries where a standard web interface is not desired or needed. According to data from glassdoor, the Systems Developer range is broader at $48,000 to $138,000. Freelance I have always been hired on the lower end of the spectrum because my needs were IT-related being $20-40 /hr. and I know of a freelancer who makes $75 /hr in the medical space, and I think he perfectly fits the bill as “good.”
Did you want your project to result in a phone app or a windows store app?
App developers are just about everywhere these days. If you are working with a remote developer, you can pay as little as $10 /hr to get your app developed. However, you might want to consider if you will have the desired result. Glassdoor says the national average for a full-time app developer in the USA is $105,000. I have hired good app developers for as low as $18 /hr here in the US full-time. On the freelancing side, I have tried the guys that are $10 an hour in other countries all the way to the ones here that charge $70 /hr. I think you start to find outstanding people at around $30 /hr, and then beyond that, it comes down to the other factors we discussed, like communication.
Should I do a Sample Project?
Better than a sample project, what I had done in the past when I didn’t know the best option was to hire 2-3 people to do the same thing. After a few weeks, you will have found which people you work the best with and make a better decision.
Sometimes you will have unexpected results; one of the times I did this, the two people I hired were very good at opposite things, so I brought them both on for the long term to finish the project.
So I look at it as the main project can have samples produced, and I throw out what is wrong. Programming is like art; two versions can accomplish the same goal, but one will likely be more beautiful.