Is hiring average programmers worse than staying solo?


88

I have a reasonably successful SaaS, which is pretty much a one-man show; I always wanted a co-founder but never found the right person. It's been running for a number of years now, growing consistently (if a bit slowly).

I've decided that I'd like to assemble a small team of programmers to continue building the product so I can focus on strategy & marketing - two areas which have, in all honesty, never received any attention so far. I also hope such a move would help combat the burnout I feel having been a solo operator for so long.

The challenge is that I'm unlikely to be able to hire great programmers for 2 reasons:

  1. Great programmers don't want to work for a tiny bootstrapped company in a small niche.
  2. Great programmers cost more than I can pay.

So it seems likely the best I can hope for is 1-3 programmers working remotely, likely from lower cost countries, and probably of a somewhat average standard.

The question, of course, is it worth it? Do you think it's possible to marshal average programmers to add sufficient value to a product whilst retaining quality? If I can build a great process/system, perhaps can they add value within it? I intend to be very hands on in trying to build this team, I certainly don't intend to "set and forget".

To summarize: I'm seeking to increase the speed at which the product can iterate/innovate and free up my time for other, up to now neglected, aspects of the business.

Is that possible for a software company when you can't hire great programmers?

Solo Entrepreneur Hiring Outsourcing

asked May 26 '11 at 20:54
Blank
J22
543 points
  • As another answer suggested... why not hire someone for the neglected parts of the business (Marketing, accountant, etc) so you can keep focused on innovating? Maybe hire an outside firm/employee to take care of the "Business-y" stuff while you take care of the "Tech-y" stuff? – Werner Cd 13 years ago
  • j22 if you want some quick hints for a marketing strategy - contact me privately @ ckluis @google'emailservice.com with a link to your website so I can look at the software – Chris Kluis 13 years ago
  • From someone who's been there: your issue isn't going to be with the quality of the code an "average" developer will write, but with the amount of direction that developer is going to need to get anything done. You're used to dealing with yourself, making all the decisions, steering the ship. An "average" programmer isn't going to do all that. They are going to do exactly what you ask of them. Nothing more, nothing less. – Kyle West 13 years ago
  • Is "average" the new, PC way to say "crappy"? For all the HR pep-talk and other delusions, most people in *any* industry are somewhere around average, what with Bell curve and all that. Although it's fashionable to use sliding scales, do you *actually* mean "average"? Your question looks distincly like you mean "below average, thus cheap", at the very least. – Piskvor 13 years ago
  • I definitely wouldn't add more than one other person at a time... – Kzqai 13 years ago
  • A below average programmer can cost you money, an average programmer generates x, an above average programmer generates a multiple of x, and a great programmer generates a multiple of the above average programmer. But, one of the largest differences may be in there ability to complete work without a ton of direction and oversite. – Chris Kluis 13 years ago
  • If you cant afford top notch programmer in your area who can build you something like google then change your development zone like same quality developer in some region might charge you 10K$/mo which you can have in some other region at 700$/mo full time 40 hours per week. – Ayaz Alavi 11 years ago

15 Answers


47

First of all, you won't be able to distinguish a great programmer from a good programmer or a good programmer from a lousy programmer until it's too late.

Second, building a dev team (and especially a remote team) won't free up your time unless one of them takes on the lead dev role. Increasing the team size increases all sorts of communication and administrative overhead. It's not a free ride.

Third, team building is very high risk.

So, what I'd recommend is you continue on the solo course you are on. With that kind of revenue you're not under any pressure so you have the luxury of sticking with the coding yourself, controlling risk and being deliberate in your growth. What I would do is get the code base stable - no more features. And then I'd focus on a scalable architecture and get that stable. Plan for 10x your current load and capacity.

And then, I'd put aside the engineering hat and focus on the marketing aspects. Pay contractors to shine up the website, talk with a marketing firm about strategy, write a press release, and do whatever your product niche requires.

That kind of shifting of gears can be a relief from burn out.

Or just find a buyer for the business right now. With that kind of positive cash flow, you could very easily sell it for a few hundred thousand dollars. Take a trip to San Jose and go to a few software entrepreneur meetings and you'll have a buyer in no time. Chat up the guys in the suits.

Cheers for your success and good luck!

answered May 27 '11 at 14:06
Blank
Jfricker
596 points
  • *"First of all, you won't be able to distinguish a great programmer from a good programmer or a good programmer from a lousy programmer until it's too late."* - I do hope you can distinguish a great programmer from a lousy programmer right away, though! :-) – Lukas Eder 11 years ago

34

This is coming from a programmer.

Usually great programmers won't work for you unless you're pretty great yourself. And you won't know what "great" is until you're at least good enough to know that most of what you've been writing is total shit - until you've seen the difference between good code and great code.

Beyond that, great programmers, a lot of times, just won't want to work on boring projects. And let's face it... writing the code that builds the average startup has a lot of monotony. I think you're better off establishing some rules for the project, and hire people who can work within that framework. You don't need all stars (except perhaps the guy creating the architecture for the system), you need people who can:

  • Do specific tasks well (Hey Jake, I need you to create our views and jQuery enhancements! Discuss with Jane to make sure she agrees with your approach.)
  • Work with the team well. Communicate. (Jake, Danny should be able to give you all of the variables you need to echo out in the templates.)
  • Follow convention when it's there / establish it when it's not (Jake, Make sure you establish clear standards for your markup and CSS, and document them so everyone else can code in the same style you start in!)
  • Meet deadlines (Jake, I need this done for our launch on Friday. Work overtime if you have to, but we HAVE to start the beta Friday)
  • Write in their fucking commit logs (git commit -am "Added html5 state enhancement for newer browsers")
  • Comment their code (Jake, if there is something you are not sure is totally the most elegant way to do it, comment it so the team can talk about it later)
  • Use descriptive variable names (Danny, make sure the variables you pass to Jake from the controllers /models are semantically named)
answered May 27 '11 at 00:11
Blank
Calvin Froedge
534 points
  • As another note, I think you can find these guys remotely. It could take more work to manage them, but as long as YOU are the guy who has the ability to establish convention, it should work out. – Calvin Froedge 13 years ago
  • Use contractors? – Marcin 13 years ago
  • The trouble with contractors is they may not feel accountable to a system like this...so if you do use contractors you have to run a tight ship...and let people know that if they DON'T meet your standards they will be dropped. It's also important that you know enough to know if they are BSing you. – Calvin Froedge 13 years ago
  • True, but the OP is a coder who needs more coders, so he's fine with the knowledge part. Plus, if you make it clear you are open to hiring permanently, that could increase commitment. – Marcin 13 years ago

48

Do you need more programmers or do you need a marketing person?

I think you might want to evaluate your priorities. If you are the brains behind the software, perhaps what you need is to target a marketing person(s) who can help you with your product.

Have you considered affiliate networks that sell your software for you? What going to a college and having a marketing class build a marketing plan for your product that you could then hire 1/2 of the students to implement.

If you are better at managing the product, I think you might be better managing the product than managing the marketing.

answered May 26 '11 at 23:36
Blank
Chris Kluis
1,225 points
  • I agree with your points that hiring a programmer may be the wrong approach, but your answer did not address the actual question, which is whether it's better to hire an average programmer over staying solo. – Elie 13 years ago
  • Fair enough. My point on this site and the other stackexchange sites isn't necessarily to answer there question, but to help them. And hopefully I at least did that. Votes or no votes don't matter as much to me. – Chris Kluis 13 years ago
  • Which is also fair enough - sometimes the best help is to guide people to ask the right questions! – Elie 13 years ago
  • +1. Answering the question doesn't always mean answering the "question". Sometimes the best answer is answering the "intent". I think this brings up very valid points. I wouldn't have thought of hiring a marketing person either but that's a valid option that should be brought to the table. Keep on programming and let a marketing firm or dedicated marketing employee handle that. – Werner Cd 13 years ago
  • I 100% agree with this answer. Having not any time to spend on marketing for the last few years, you may not realize how much better someone else will be at it than you. Hiring a marketing/BD person will let you work 100% on your current job role. If you hire developers and try to take on the marketing yourself, you will be split between both with a hella amount of context switching overhead, likely become incredibly inefficient. Just think of all those times you day dreamed an answer to your programming problems. Now strip at least 50% of that away and insert marketing problems. – Michael 13 years ago

12

I prefer the 'star team' model to the 'team of stars' model. People that are 'Great Programmers' can be hard to find and keep, and may not be that great for your product. Hiring (and keeping) some reliable people you can coach in your style/product/market might be easier. And although employees bring more work and other issues, you can grow your business or take a few weeks off each year.

answered May 26 '11 at 21:57
Blank
James
1,231 points

7

It's a difficult choice. The main problem with the "average programmer" is usually not the quality of their work, but the lack of drive/initiative/commitment/overall-vision.

I think you should try to get one good programmer and one junior programmer. You can get a good programmer if you negotiate a deal with some very good freelance; usually that involves giving him the freedom of working (at least partially) from home, not full time (2-3 days per week), and agreeing on a remuneration part in salary, part in revenue share (or tied to an improvement in a measurable metric: revenue, profit, number of users, ...). For a freelance, even a star freelance, that can be a good deal because it doesn't restrict their ability to get more customers and/or work from home; for you it's a good deal because you can get a developer you'll never be able to afford as an employee (for the simple reason that good freelancers make 2-3 times more money that good employees anyway).

The junior developer is going to be, on the other side, a full time employee, completely managed by the "good developer".

Final note: don't go for outsourcing. It takes a lot of time to manage developers in another country and, especially if you contract your work to an outsourcing company, you won't have any control on the quality of the developers. Try to meet your developers in person once in a while, and establish a relationship with them.

answered May 27 '11 at 00:03
Blank
Filippo Diotalevi
2,573 points
  • +1 for "establish a relationship", this is important for the programmer so they can understand your priorities. – Stephen Paulger 13 years ago

6

Yes, it is!

First thing, I would say is that you could hire a great programmer, by offering them stock options. In this way you would get both a co-founder and a great programmer.

Second, is that offshore programmers can be great, even if they are low-cost. I use VWorker.com myself. Getting value from offshoring is something that takes a lot of experience, though, so consider the time you spend learning this an investment into cheaper programming capacity.

Third, what you could do, is to hire an average programmer, and have him/her administer the VWorkers. This way he can draw upon cheap excellent programmers and test the code according to your needs.

answered May 26 '11 at 21:03
Blank
David
1,567 points

6

95% of the software in existence today is written by "average" software engineers. The world still revolves. Yours will too if you won't get a super-star, but a normal average software engineer. Average isn't necessarily BAD and if you cannot afford a $180K/year engineer - get a $65K one. It's not like your business will run to the ground because of that, but it may if you put off work and don't develop your business because you just don't have the time to implement everything you need by yourself.

answered May 27 '11 at 03:19
Blank
Ron M.
4,224 points
  • This is extremely true. Most products also don't require massive the massive brain power like Google requires. If you're just building apps, the average engineer can tackle that without holding anything back. – Sheehan Alam 13 years ago

5

A lot depends on the industry you're in and the product you're offering, but I'd say that in general, average programmers are not worth it.

The cost of the average programmer exceeds just the salary you pay them and the other expenses incurred. The true cost shows up in the long-term. These programmers often write code that is less maintainable (and hence more expensive to upkeep) or make bad tradeoff decisions.

I would either stay solo, hire great programmers, or invest in other parts of the business (like sales and marketing).

answered May 27 '11 at 10:02
Blank
Dharmesh Shah
2,865 points

6

Yes, average programmers do take some of the load off you. But you can't expect great things from them (proactive problem solving, innovation).

It is always more productive to have 1 amazing programmer than 4 average ones! You get more done that way! This has been my experience.

But if it's just support we are talking about, you guide and they implement (with your help, of course), then average programmers would do.

answered May 26 '11 at 22:42
Blank
Lost In Transit
181 points
  • Problem: *amazing* programmers are always in short supply, thus expensive. – Piskvor 13 years ago
  • Agreed.... And it is very difficult identifying one unless you work with them :( – Lost In Transit 13 years ago

2

Another challenge you'll face is that a great programmer may not want to spend a day re-organizing layouts when that's necessary or doing other low-level tasks. How would you rate your own skill level? How much time do you spend on development?

I have no idea how complex the product is but you may be able to have a great programmer working on a part-time contract basis to handle high-level issues, and then a full-time programmer (or part-time, or offshore) who is comfortable working on lower-level stuff most of the time. If necessary, you or the more experienced developer can do testing and code reviews to make sure that it's up to standards without having to spend all the time developing it.

Over time the less-skilled programmer will get to know the system better and be able to handle more challenging tasks (or maybe even become a great programmer), and at the same time you'll control your costs and avoid putting anyone in a role they aren't good at. I'm a big believer in development quality, but honestly, there are points where it doesn't matter as much; you don't need someone who's contributed to the HTML5 spec to apply new styles to a page.

This assumes you want to outsource development completely, but you may want to stay involved in one of these roles. I found that when I started getting help it was more fun for me to handle the really big challenges where I could do things much faster due to my experience, and spend less time doing things that will take roughly the same amount of time no matter how much you know.

On the other side, should you outsource strategy and marketing? Once you try it you may find that you're better at one of the development areas. As the business grows, you should stay close to what you do best, and hire for the rest where the investment makes sense (maybe it's not worth hiring someone for strategy yet but it might be in the future when the potential revenues grow). For now it's good to take on the strategy and marketing yourself so you can see if you are good at it and so that you know it well enough to hire someone who's good at it if necessary.

answered May 26 '11 at 23:43
Blank
Richardg
474 points

2

Disclosure: I am a developer.

Great programmers don't want to work for a tiny bootstrapped company in a small niche.
Great programmers cost more than I can pay.
I find your assumptions a little off. I may not be a great programmer but everyone I've worked with has enjoyed working with me and I've never had trouble finding work. Currently I'm working 20 hours per week on a small app in a niche area that is interesting.

There are lots of different types of people. Sure, you may not be able to afford a great programmer full-time, but hiring one for 10-20 hours per week might only cost you $4000-5000 per month which you can easily afford from your revenues. A great programmer would probably get more done in those short hours than a poor programmer would and then the programmer would have time available to pursue their own interests.

There really aren't enough part time positions in this field and I've heard several people wish their were more opportunities for part-time work.

This could be a win-win situation for you where you are hiring someone of high caliber that is within your budget.

answered May 27 '11 at 14:47
Blank
Matt McCormick
121 points

1

Adding a new programmer of any standard will slow down progress for some amount of time. A better programmer will learn faster, but will also find more things in your existing code that they want to fix (or just do it their way).

What you need in a start-up is a self-motivated and proactive programmer that understands your priorities. In the short term they must be able to work independently and in the long term, as your business grows, work well with other programmers.

If that person is a great programmer it will make things easier later as there's less likelihood that you'll need to bring in someone above them.

I guess you also need to ask yourself whether you yourself are a great programmer and whether you could recognize another one.

answered May 27 '11 at 02:19
Blank
Stephen Paulger
111 points

1

So, what you're earning after your $2k worth of expenses $14k a month and you're saying you can't afford good programmers? Where is the $14k going a month you're earning? You have more cash inflow monthly than most of us here can dream of from our day-to-day jobs.

Anyway, back to the question at hand. Good programmers don't cost nearly as much as some people think. I've hired some phenomenal programmers off GetAFreelancer before, and they didn't cost that much.

So it's possible to hire cheap programmers that give an above-average performance, you've just got to dig; read feedback, reviews and look at previous work they've done.

answered May 27 '11 at 12:09
Blank
Digital Sea
1,613 points

0
The challenge is that I'm unlikely to be able to hire great programmers for 2 reasons
On the other hand, you're offering telecommuting. I may want to live in rural France, for example, where there are no other programming jobs, and be willing to be an excellent programmer for a modest salary in exchange for being allowed to telecommute.
answered May 30 '11 at 20:59
Blank
Chris W
101 points

0

I think you need to answer a few questions first:

  1. What is a "great" programmer? Is it someone who won't turn you codebase into spaghetti? Is it someone who stays awake? Is it someone who writes code that other people can understand? Is it someone who works twice as fast as an "average" programmer? I suspect you have some goals for the codebase.
  2. What processes will you set up to achieve the goals for the codebase and the service? Do you do TDD/BDD? Are you going to review the code on a regular basis? How will you manage coding conventions?
  3. Why in the world do you want more programmers? Does your service need more features? Are you able to get more clients by implementing a specific set of features?
  4. Why hire multiple programmers at all? Why not start with one? That would be much easier.
  5. Do you want to manage the programmers? Managing 3 programmers working remotely is a part-time job in itself. You might be happier and more effective doing the programming yourself. Is your personality suited to managing people?
  6. What are the goals of the company? Do you want to grow by 50% per year? Is it really necessary to hire more programmers? Or is it better to focus on marketing?
  7. As someone else mentioned, why hire programmers when you can hire someone with expertise in the area that you are less experienced in: marketing?
  8. What ways can you achieve the company goals without hiring people? Can you create partnerships with other companies to get new customers? What about an affiliate program?

Also, start them out as independent contractors for 3-6 months, so that you are not stuck with them if they don't work out.

answered Nov 19 '11 at 13:35
Blank
B Seven
234 points

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

Solo Entrepreneur Hiring Outsourcing