This article about how to find a programmer to build your startup idea or app. After reading this you will better understand how to approach things whether you are an expert or this is your first time around the block. If you have ever been serious about founding a startup company you are probably, like many other founders, most frustrated by this challenge. These days sales, marketing and PR people seem to grow on trees. If you post up an ad to an online job board asking for someone to join your very high risk early stage startup company the odds of getting someone decent are slim to none. Get your pen and paper, or iPad ready and take a few notes because I have been through this repeatedly and talk to people who have on a very regular basis.
The first part is the hardest part: hunting for a programmer. If you have a friend who is a recruiter then ask them to tell you what they recommend that will not cost anything. Be sure to post your opportunity here on the SocialMatchbox.com Job Board. Also check out my recommended recruiting tools page for tools I use, build and recommend.
How To Look For A Programmer
One of the more obvious things that you
should can take advantage of is LinkedIn. In addition, if you know any developers you should ask them where to post your project or job up and where they recommend you go to meet other developers.
How To Prepare For Your Conversations
Before you go you start talking to programmers and developers you should read up on the basics of the language that you need a programmer in. For the tech savvy this might include reading an intro book on programming. For the less tech savvy check for a summary and history of the programming language on Wikipedia at the very least. There are plenty of online courses and tutorials on how to program that you can take for free as well. You might not be aiming to become a programmer, but if you take the time to learn some basics then you might have a better comprehension of the subject matter. Some programmers will even appreciate that you have taken some time to learn about what is involved on a deeper level. Check out Coursera, Udacity and CodeAcademy for some courses like this one for Ruby o n Rails. As an added bonus, when you go to a meetup for programmers you will have something to talk about.
Understanding Motivation Is Critical
As you start hunting for programmers you need to be thinking several steps ahead. This will help you to find both the right person and someone who isn’t going to over charge you. This means you have to get inside the head of a programmer who might want to work for your startup. Consider what the opportunity cost for working on a high risk venture is relative to other projects that might pay as well or more. What other uses of their free time will have to be sacrificed if they work with you for sweat equity or cash plus equity or just cash?. they can spend their time on. It is very possible that someone will be interested in your project because they want to learn how to do something new, to get experience, to have something new in their project portfolio, or to gain insights that they may use for their own startup.
You can usually get a preview of someone’s motivation by asking them what they charge by the hour. If they charge well above the market average then they are usually either greedy or motivated to do something on their own that you are basically funding. These days the market’s going rate is $100 per hour. You should not expect to have to pay this, but you should be prepared to hear it and not be intimidated.
You are probably wondering how do I know if they are asking for more than the market rate or not? You only know what the programmers you have spoken to have told you, right? You have come to the right place. The answer to this requires a small amount of research. Also, don’t forget that just because can ask you to pay a certain rate it does not mean that they can get anyone to pay that rate. More importantly, rate is only one aspect of considering your project as I have stated above.
How To Calculate Whether A Freelance Web Application Programmer Is Asking For Too Much
In a search done when this post was created a web developer in Washington, DC should make anywhere from $70,000 to $120,000 per year. This rate will change so be sure to check current figures using the Indeed.com Salary Tool. Don’t be too specific – you do not need to include the programming language, etc. at this stage. (See Footnotes for Updated Information)
So $70,000 -$120,000 per year is your wage range for both the market and for this type of job. $70,000 is a bit higher than the entry level wage for a web developer who is also a programmer with a computer science degree from a decent school these days which can range from $50,000-$75,000 here in the Washington, DC area. In San Francisco or Manhattan add $10,000-$20,000 on top of that. For cities like Austin or Denver subtract around $5,000-$10,000 for the entry level programmer job. Don’t forget that people might move. I hired an entry level programmer a few years ago for $50,000 with very generous equity compensation and two years later he was getting job offers starting in the $95,000 range. He started out at $14/hour working for me as an intern. At the same time I had intern candidates who were asking for $17 and $21 per hour who were nowhere near as good of a fit or as good of a programmer.
Step 2. Adjust the annual wage average to what it should be on an hourly basis.
The generally accepted hourly wage calculation used by the
staffing/consulting industry is Annual Salary divided by 2000 Hours. This includes 40 hours (1 week) of paid time off so keep that in mind. So for someone making $70k that comes out to around $35/hr. For someone making $120,000 that comes out to around $60/hr. You now have an hourly rate range to work with. (See Footnotes for Updated Information)
Step 3. Consider the burden (costs) carried by this individual who may or may not (usually not) have a company of their own to bill you with.
We are going to consider this person to be an individual who has their own LLC or S Corp (either should be fine – ask a CPA and a business attorney for details) set up for our purposes here. That will make them a Corp to Corp consultant. To do this will cost them $150-300 to set up a company and up that same amount annually to maintain their registration. They will have to file an business tax return, but if they are consulting already they should be set up to to this already. If they are not then the tax savings alone will make it worth their while to do so. Please note that an someone who is an “Independent Contractor” acting as a “1099″ is NOT the same thing as an LLC.
Be sure you know the difference between a w2 and a 1099/independent contractor and a consultant who is corp to corp (has their own company or one that can bill them to you). According to the IRS website:
“You are not an independent contractor if you perform services that can be controlled by an employer (what will be done and how it will be done). This applies even if you are given freedom of action. What matters is that the employer has the legal right to control the details of how the services are performed.”
You do not want to mess around with 1099/independent contractor/1099 stuff. There are strict rules about this stuff and you could face all kinds tax and labor law repercussions down the road if you do not follow the letter of the law here. You should not be intimidated by it, but you should be aware. When in doubt, consult your attorney and your CPA.
If the person you are working with hires an accountant to help prepare and file their taxes that may cost around $500-$750 annually. If they own a Mac Book Pro that may cost around $1,800 bucks (new) (update: this is more like $2,500 now, but some might use a PC Laptop or a Mac Book Air which is a lot cheaper). If you sum up these costs and divide them by 2000 Hours then you are looking at $1.15 per hour worth of burden associated with their doing work for you. Add in another $6/hr to cover $12,000 worth of developer conferences and related travel expenses just to be nice. Now you have your burden: $7.15/hr. There are other costs including software licenses (i.e. Photoshop or Pixelmator, Github, Omnigraffle), conferences and travel so do not forget to consider these. A full stack programmer is probably not going to use Photoshop.
With this you have a new rate range for a Washington, DC based programmer of web applications: $42.15-$67.15 per hour. (Remember to check current market rates, do not assume this number is current or right for where you are located).
Step 4: Calculate the difference in rate.
For example: if the developer tells you that their rate is $100/hr they are asking you to pay them $40/hr more than the highest wage paid to programmers in the Washington, DC market. Again, take into account that they should have around $7.15 in burden – provided they go to conferences, use their own laptop (not their laptop from their day job), attend software engineering conferences, have to maintain software licenses, and are incorporated and pay an accountant too).
The reality is that there is no good reason for a developer to charge more than the market rate provided they are not in business for themselves full time. This is true in most, but not all cases. What is often the justification that independent and freelance programmers make when they stop to think about it is that they have to spend time doing sales and marketing for their services and that they will have down time between projects. Most programmers are not great sales or marketing people. You should not be punished for their lack of ability in these areas and you should not be expected to subsidize their down time.
It is because of this that I would prioritize hiring someone who has a full time job over hiring someone that is a full time freelancer or independent developer. I am not saying don’t consider a a full time freelancer or independent developer, just that they are likely to require that you pay them at a rate that includes their down time and that helps support their burden. If you get someone who already has a job then the burden (cost) assumptions from above are pretty much already covered. Hence they do not have a justification for charging you much higher rates than you should prefer to pay.
Step 5: Consider the challenge or relative level of difficulty (you may have no idea and that is ok).
Consider whether or not the programming challenge your company is going to tackle involves some special emerging technology that requires a specialized skill or experience set or one that is extremely rare. If this is the case then all bets are off because the market rate or the rate you can get is higher because a programmer will have a steep learning curve or be in demand based on their rare capabilities and experience. If this is the case, you should probably read my post discussing how much it will cost to build your MVP (minimum viable product) which could help you with very important some pre-product considerations. But then again, you may be better of going out and getting an investor to help you fund your even higher risk venture if you are working on something that is on the bleeding edge of technology.
Sweat Equity or Not?
Another option is sweat equity. You must realize that people who are willing to work for sweat equity are not a) the best, b) in demand, and c) going to put their heart and soul into your project.
A programmer’s motivation to work for sweat equity is something else that founders tend to take for granted. Sweat equity is usually best applied in the case where you are working with someone you know who already trusts you and who you know will put up a solid effort. Someone who you have worked with before in other words, not just a “friend”. Sweat equity is also applicable for someone who is very interested in the subject that you are working on.
What sweat equity is not good for is for people who you don’t know at all. You should avoid spending your time here and instead focus on finding a way to generate revenue or to attract investors so that you can afford to hire someone.
If you absolutely must involve sweat equity here is what you need to know:
1. Hire an experienced business lawyer who routinely works with software startup business to make sure you are doing things correct. Do not assume that a first or second year associate at a large law firm will get the job done. Do not assume that doc stock will get the job done. Each state is different and each company is different. There are a lot of things that can go really wrong if you make amateur mistakes with this stuff.
2. Go half and half. Pay the person 50% cash and 50% equity. Remember that equity should be based on project completion, not on how many hours = how many dollars. Your attorney can explain why this matters.
3. Make sure you have a vesting schedule.
4. Do not give up more than 10-20% of your company, ever. If you raise a series A that will be around 39-40% (standard) of your company in the controlling hands of others. If you keep 51%, you will have 9-10% equity left. You will probably not have 51% after your Series B if you get there, but up until that point you should want to maintain control of your business. I have seen founders have to shut things down because they had a 1/3 + 1/3 + 1/3 split of equity with no vesting schedule. They could not agree so they had to pull plug.
5. Make sure you have a vesting schedule. If someone backs out in week two they should not be a full owner. Your attorney can help you with this stuff.
6. Give yourself room to reward good work – don’t give away as much at the beginning. Since sweat equity is not cash and high risk people tend to flake out. You need to be able to provide additional incentives over time for people who stick around and do good work.
Location, Location, Location
Also: elance, odesk and freelancer.com are not alternatives to doing recruiting and going to meetups. I know good people who are on these site that are programmers. For example: Owen Byrne who built the original Digg.com was hired for $12/hr on odesk many years ago. He had a job at a Newspaper at the time. So in addition to what I said before (people with full time jobs should be your first preference), people who are local and easy to meet up with are the easies to collaborate with. It just really helps when you have people who are local. Remote isn’t bad, but it does require a learning curve. As an early stage founder you do not have time to master too many things so keep it local if you can.
A lot of people I know think that because they are going to get someone offshore that they are going to get cheaper labor. I am not going to get into this here, but know that cheap isn’t always what you think it is. There are really awesome local students that you can hire and put under a lead developer for a lot less than offshore developers. Either way, just remember that you should not hire people on elance, odesk or freelancer.com who reside in embargoed countries if you are based in the US or other countries that care about this stuff.
How To Get Smart About Recruiting
Do not rely on your gmail account or a spreadsheet when what you really need is a recruiting tool like the ones I recommend on the recommended recruiting tools page. If you are building a software product company you are in it for more than today’s inbox snapshot. You and your present or future co-founder(s) should be able to easily collaborate, decide who to interview quickly, keep track of who you liked or didn’t so you will not forget six months or two years from now, and to keep track of the ones that you could not get this time around for one reason or another.
Do not assume that you need a job board account.
Do not pay $300-$400 to post a job ad on TechCrunch or Github or Mashable. These sites have lots of readers, but their ads are priced at an absurd level that does not come with any guarantees. I have advised and recruited for dozens of startups over more than a decade. Someone always comes along that believes his job is different somehow and that he will net some great candidates. For $400 how could he not, right? Wrong! These ads never pay off. You will get the same people by posting a free, $25, or $75 ad to Craigslist.
If you want to reach people who are not looking consider attending local meetups and posting targeted ads on Facebook instead.
Get smart about searching the web. If you learn a few things about how to use boolean search strings to find people on sites like Github, Stack Overflow, Bitbucket, LinkedIn, etc. that will help you find people who are capable of working with the tech stack you have in mind or that you are working on. Do not take the bait and post an ad on Stack Overflow. These guys will spam your job ad if they can find your email address on your website or in your job ad and offer you a 10% discount. You can get the same people using Google’s boolean search methods. On top of that, people on stack overflow are not exactly there to be recruited. Stack Overflow is a good place to find answers to questions about technical programming and other topics, but it is not a job board despite attempts to sell it as one to the unsuspecting people out there who need to hire programmers. The same is true for LinkedIn – it is a terrible place to post a programmer job, but a potentially a great place to post a sales or recruiter job ad.
Things To Keep In Mind
Founders seem to take for granted exactly how in demand a good AND bad programmers are. There is a huge demand for programmers in America – good and bad. Knowing this is half the battle. The old rules of supply and demand should apply in this case, but they don’t.
If you talk to enough programmers you start to figure out that they are talking to each other or working off the same set of rules. One will ask for what they know another asks for. This should not stop you from negotiating a reasonable price. Also, remember that a programmer’s experience and skill level should be in line with their price.
If you know a recruiter you should talk to them and find out what books on the subject they recommend. Take the time to figure out whether the programmer is truly in demand, truly good, or just asking for what they have heard that they can get. The most effective way to do this if you are a non-technical person is to find someone who can help you evaluate and interview prospects. This could be a friend, or it could be someone you hire. Ideally this is an advisor who is a software engineer or manager of software engineers that can help you interview and evaluate things more clearly.
As you consider people who could help or be a technical advisor, ask them what methods for interviewing or evaluating people that they recommend. You should also ask them about development methodologies and about process while you are at it. This will be a good subject to cover with programmers you interview as well. You do not want someone who is a big company thinker guiding or advising you on how to build an early product. It should be someone who is familiar with early product development, early customer research, lean startup principles, and ideally someone who has built at least one minimum viable product (MVP) before that takes this stuff into account. This is a tall order, but so is building a successful startup.
Ask your technical advisor to help you come up with a very simple project that would take no more than 2-3 hours to complete for the average programmer. Each programmer should do this with you and potentially your developer friend present to see how they work and to see how they work with you. This last part is optional, but is probably the best predictor of success. I also like to have someone show me that they know how to use CSS and HTML. A quick, 10-15 minute exercise with Firebug or Google Developer Tools (right click in your browser if you are using Chrome and select inspect element to see what I am talking about) is how I usually get an initial impression. You would be amazed at how often people have gaping holes in their experience or knowledge. Hiring a “full stack” programmer who can’t or doesn’t want to use CSS could be a disaster waiting to happen assuming you are not building a mobile app.
After you get through all of this you should ask for direct technical supervisor and direct technical peer references and check them. People often skip this step because the project isn’t full time but that is a huge mistake. It isn’t like you are hiring someone who you have worked with before, right? Do not skip this step and do not apologize for asking for references from a professional programmer who will be working for you and getting paid by you.
Need Help? Disagree? Have Something To Add?
If you have questions, insights , experiences, etc. please post a comment. I will try to answer your questions in the comments section.
If you follow these steps and still can’t find what you are looking for or feel that you really need some help then Email me today. I block off some time on Fridays after 3pm EST during my open office hours for discussions about this and other subjects. I would be happy to chat using the “chat with us” button located on the bottom right corner of this page as well. Chats for 15-20 minutes are usually sufficient, but if you feel like that is not enough I may be able to provide some consulting help through staffmagnet, LLC which specializes in helping startups with this kind of stuff.
Sometimes I can make a referral to a designer or developer, but please do not reach out to me expecting that this will happen.
I am also happy to provide a demo/free trial/discount for the recruitment platform that I built: SortIQ.
August 5, 2014 – Here are a few updates that address changes, questions, etc.
For an individual working as a w2 or 1099 who is not incorporated (LLC, S-Corp, C-Corp) this is insane. If someone is charging you more than $5k then they should be incorporated and you should insist that they get incorporated. Enforcement of w2 employee and 1099 laws can come when you least expect it and enforcement is different in every state. You can do your own payroll, I did because I have a lot of experience with doing it for teams, but it is much easier and much better if you can just have someone send you an invoice that you pay when it is due than to have to worry about how to calculate employment withholdings, whether or not you have the right labor law posters, whether or not you have filed your federal 940 and 941 returns, made your federal payments, and done essentially the same thing for the state or states you have employees in. One of my biggest pain pain points with this stuff was that I hired an intern who lived in Pennsylvania who was living in Maryland for the summer. I also had some people working for me who lived in DC, MD and VA. Each state has its own rules, labor requirements, registration gauntlet and reporting requirements. Don’t assume you know what you are doing when it comes to this stuff – this is why you need to have a lawyer and why it is easier to have the individual or group you are working with incorporate. An LLC or S-Corp is very easy and inexpensive to set up, provides favorable tax treatments, and limits your liability – there is almost no reason not to do it aside from the fact that you might prefer to have a CPA help around tax time and need a copy of QuickBooks, Peachtree (Sage) or a license for FreshBooks.
One commenter said that my formula for calculating the hourly wage was wrong: I said that the industry standard is [Annual Salary/2000 Hours]. He said it is /1000 Hours. I have extensively investigated this and I can say with 100% confidence that this commenter is wrong. Here is how this works: there are 160 Hours in a full time schedule per month. 6.67 hours are added on to that when you assume 2000 Hours per year which adds up to 80 hours per year of paid time off (2 weeks). Any additional burden from health care, equipment, software licenses, etc. is addressed in Step 3 above.
August 5, 2014 – Since I started to update this post I realized how much has changed and how many things I would do differently. This ranges from how I would approach the idea to minimum viable product (MVP) at the beginning to how I would look for and evaluate potential contributors to how I would compensate people. The recommendations in this post are still reliable, but I believe in sharpening my game and I really hope to share some of my insights and lessons learned in a new series of posts.
Since I wrote this post I have also personally built and launched a SaaS product that is now profitable after several key pivots. I have also mentored and advised quite a few startups who launched products including a really impressive real time location based mobile app for iOS. I have also worked with a few product teams following mergers and acquisitions as well as with some companies that made some really bad early product decisions to help turn things around after they found themselves facing stiffer competition and technical debt nightmares later in the game. I hope to share some insights that reflect the later stage challenges related to early stage product planning and decisions in this new series as well.
Last, but not least, I have received flood of requests from people who read this post and reached out to me by email or in person both here in DC and out in the valley. I have a lot of new data about the challenges that people face. I hope to answer this question and related questions in a new series of posts. In the new series of posts. Who knows where this will go, but yesterday someone even approached me about creating a course for founders.
I will add links to the new posts below as they come in. Also, be sure to check out the recommended recruiting tools page that I started. I plan to add more recruiting tips there as well including candidate sourcing techniques that can really speed things up and help uncover people who will not apply for your help wanted ads. Follow @socialmatchbox to get updates.
Here they are:
How Much Will It Cost To Build My Startup MVP: Part 1: What Is An MVP?
Part 2: Coming Soon…