Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am an engineer but don't have a computer science background. I am proficient with Python, Django, use Mongo and know a bit of C++ / C#. Dabble with NGinx here and there.

My weekend project, a nifty webapp, just saw explosive growth. And am looking to expand the team.

What should I look for in potential hires beyond the obvious (code samples etc) ? Should I hire someone who wears many hats and bigger pay or break it up into smaller roles?

share|improve this question

closed as off topic by Jarrod Roberson, Mark Trapp, Walter, Yannis Rizos Mar 7 '12 at 2:37

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

10 Answers

up vote 21 down vote accepted

TechCrunch recently wrote an article on How To Hire The Right Person For Your Startup. The whole thing is a good read, especially if you're serious about the start-up game.

The item that most directly answers your question, however, is #4:

4. Find candidates who work like a startup

It seems like everyone likes the idea of working in a startup but for many different reasons. Some want the financial upside; some want a challenge and others like being involved in a business where they can make a direct impact. Whatever the reason, it’s important to make sure that your candidates know what to expect.

If you’re hiring someone that has worked in a startup before, it’s probably a non-issue but it’s unlikely that everyone you hire will have previous startup experience. I like talking to candidates about all of the things they will have to do without help from anyone else. I remember the first day on the job for a new hire in my last venture. About 30 minutes into the day, he came into my office and asked who would be setting up his office. I think my response was “one of the two people in this room.” It was an eye-opening experience for both of us and not a mistake I will likely make again in the future. In my opinion, anyone that goes to work for a startup should work like a startup and just do what it takes to succeed.

share|improve this answer
1  
Thanks for the link! I can't upvote answers yet, else I would. The article was def funny and informative ! –  lookingbrown Mar 1 '12 at 21:00
add comment

My experience is one solid all rounder is worth a hefty pay packet - they need to understand business as much as software. A Start up needs all the skills of a larger organization, but does not have the head count to have specialists. Look at even a small company and the roles that are done outside software development- sales, marketing, management, finance, law, property management, IT, networking...... Many software specialists do not understand, let alone acknowledge, the importance of these business functions, and believe the business of developing software is writing software (It's not, its running a business first, with software as a product the business produces and sells).

I would look for someone with a start up or small business (<10 staff) background, and evidence of an interest in business development as well as software. A failure or two under their belt is a good thing - you learn far more failing than succeeding.

Going down the path of smaller roles means more people, more communication, more business overhead, usually more everything, and should be avoided until revenues can carry that overhead. Relying on a few all rounders is probably a better approach, bringing in short term specialist contracts for specific, well defined tasks as needed.

Get a good business plan in place, get a Business mentor, you success or otherwise will be nothing to do with your software development capability,

share|improve this answer
2  
+1 for understanding business as much as software. I have met some exceedingly brilliant people who just don't understand business and are almost useless in a startup, much better for academia. –  maple_shaft Mar 3 '12 at 2:58
add comment

It sounds like you are at a very small scale, so you probably want people who can do more - but there is on one true answer to your question. Every business is different.

You probably want to fall back on the truisms of hiring for startups: you want to hire someone who is smarter than you are. You want to hire someone who is strong in places that you are weak. You want to hire someone who can take the business forward.

You also likely want to hire someone who has a proven track record in the area, and who has a whole lot of enthusiasm and drive to succeed.

Concretely, I would suggest you look for someone who does have startup experience. At a small size that reduces the chances that they discover startups are hard and quite early - which is a cost you probably can't afford.

Hire someone who has not just supplied some code samples, but who has a visible track record of success, and where you can really understand their code. GitHub as resume is good here, but you can work out for yourself other ways to answer that question.

Hire someone who has real passion: they should care about the project as much as you do, and see it as something that could succeed - which you should be able to identify by the way they really, really want in on the deal.

share|improve this answer
    
Thanks Mate! GitHub resume is a good idea! Didn't think of that... –  lookingbrown Mar 1 '12 at 20:55
    
+1 for: "You want to hire someone who is strong in places that you are weak." –  Bernard Mar 3 '12 at 22:31
add comment

The People You want

The Good Startup Employee Checklist

A good startup employee is (assuming we're talking techies, here):

  • motivated
  • hard-working
  • flexible with hours
  • open-minded
  • quick to learn and adapt
  • willing to do the quick-n-dirty thing on occasion
  • a jack of all trades

The GREAT Startup Employee Checklist

A great startup employee is all of the above, plus:

  • good at documenting
  • good at recruiting and mentoring like-minded people through your code
  • capable of writing or talking to customers without alienating them entirely
  • capable of liaising with non-technical partners and customers
  • inhabited by the same convictions for your concept as the founder
  • fun to work with and transpiring enthusiasm
  • contagious, capable of communicating to a team all of the above
  • a stellar programmer or technologist in at least a few areas
  • interested in much more than just the technical aspects that relate to your startup
  • an employee who will stay there and help you create a team, a workplace and a culture

How to Find Them

A few hiring (and general) tips for startups. Maybe a bit off-topic with regard to the question, but it seems to fit what we discuss. (Otherwise let me know and I'll remove all that).

DON'T Believe resumes & DON'T Solely on Personality

Probably not your case, as you're technical, but I've met a lot of startup founders with little to none technical backgrounds who just hire people purely based on compatibility with their personality and/or because "they look fine" on paper. A guy you meet might be very nice and show a positive and can-do attitude, but cripple your system for years. Still run them through some questions (have someone help you to get a minimum checklist of technologies or questions to ask) or ask a technical friend to give some feedback). Don't necessarily waste money paying for online-testing services though. I don't think they really are worth it.

This is a true story: I passed interviews for 3 startups last year when looking for side-projects, and all 3 wanted to hire me after one interview and just a chat and a look at my resume. Even though I had given them plenty of material in advance and had presented myself very well and had already had a look at their business and platform to directly provide some helpful tips, that seemed way too naive to me.

Get (Affordable) Help from Knowledgeable People

As a startup founder or early employee, you need to attract the attention and help from your network (and build and extend it). A lot of people will be more than happy to give a helping and can be invaluable for little to no cost. But do not consider that all help is welcome, free or otherwise. And beware of complete crooks - without becoming paranoid though.

DON'T Waste Money

This sounds like a given but it always astonishes me what people will waste money on. Goodies, super-cool hardware and gear, expensive server hosting plans, expensive source repository hosting plans, baits from startup "conventions" and events, etc...

You don't need all that. Or better said, you need all that, but not at overpriced rates.

A lot of repository hosting providers offer free or discounter plans for startups. A lot of server hosting providers are more affordable and can accommodate your needs or give you a pay-for-what-you-use plan.

DON'T Accept All the Offers and Contracts

At the beginning you make money, but believe me: you're better off keeping a low profile and eating pastsa a few weeks or months longer (maybe even failing, at first) than accepting contracts that will cripple you, prevent you from getting other pmes, and then eat a steady and possibly growing amount of resources (time, people, hardware, etc... -> money) for little added financial return over time, until your eventually go under or are exhausted.

NEGOTIATE

This one depresses me: negotiation and bargaining is part of business. And I keep telling that to people who STUDIED commerce and finance while I am the technical one. Accept it, don't roll over, and don't be afraid to ask for more. You know what? You're new, and even like that you probably won't ask enough at first.

Better be bold and ask for too much and look a tad nuts and THEN make a new offer than to be taken advantage off. Don't be afraid of looking nuts or ridiculous: if people want to make business with you, they will want to make business with you!! They won't turn you down (except if they are crazy proud idealists as well, but then maybe you should walk away from them).

That implies negotiating salaries as well. Sorry. Don't be an ass though: remember what I said about trying to keep your good employees. And remember that salaries are meant to evolve, especially when you are tight at the beginning but show potential afterwards. Maybe it's best to not overestimate crazy investments like a new super-server and to not underestimate the value of the people you already have. You might only realize it once they're gone!

Beware of Your Own Enthusiam

It's your project and baby. You have a motivated team who believe in it, and in your vision. It's awesome, and keep it up like that and don't let it go.

Nonetheless, do not get carried away and start making non-sense assumptions. I want to bludgeon the founders and directors of the startups I work with when they tell me "I think that..." or "most people (I know)..." or "our users...". We don't care, and so doesn't market research and the userbase (or more precisely: the absent or disgruntled userbase). Your early users are here because they like your product, beware of too sudden changes.

Run hallway testing sessions, for christ-sake!! It costs nothing to grab 10 to 15 people, preferably not always the same ones and not all people you know, and to have them try a short prototype or look at 2 different wireframes to ask them "what do you think?" or "which one works better for you (and why)?".

Beware of the same enthusiasm when you hire people: it's very easy for candidates to catch up on that and simply mirror your behavior to fuel your sympathy. But it doesn't prove anything about them, apart from a slightly conning nature and some people skills, but not sure they're the right kind...

share|improve this answer
add comment

Working for a startup involves a large amount of risk. You won't have an established reputation or work environment to tout. I would think that anyone who would come to work for you would do so because they are excited about the project and excited to get in on the ground floor of something.

Interview to try and find the enthusiastic applicants - have a conversation with them about your project, and see who clicks and gets excited about it. Also, decide ahead of time what you are willing to offer - are you looking for contract help? A straight-up employee? Or are you willing to offer equity in your company and idea and find a true partner to work with? Make sure you communicate this very clearly to applicants - many people think getting a job as one of the first employees at a startup = an equity share down the line, and you want to make sure everyone is on the same page.

As far as tech skills - determine what areas you need help with and make sure your applicants have those skills. Aside from meeting your minimum requirement for technical knowledge, I think enthusiasm is the most important quality you should look for.

share|improve this answer
    
Thanks Jim. It is a huge risk, enthusiasm def keeps me going. –  lookingbrown Mar 1 '12 at 20:58
add comment

Find someone who is a fit with your personality and shares your values, work ethic, practices, sense of humor, working style, etc.

Also, I'd suggest hire a generalist. Starups ebb and flow. One week updating the website might be the #1 priority, the next week it might be debugging a nasty customer issue.

Finally, get someone who can write English (or whatever your native language is) well. You will be surprised how much of your time isn't writing code, but explaining things, documenting things, and updating information your customers/clients/business stakeholders/investors/etc. will need to read and understand.

Finally plus one, get someone who has been in two or three start-ups already to help bring some "been there, tried that, released anyway" experience.

Good luck!

share|improve this answer
add comment

You want people with a passion for making the company succeed. If you have that you have everything you need, because passionate people will do whatever is needed to get the job done.

share|improve this answer
add comment

I think before you can answer who's the right fit for your organization, you have make sure you understand your organization correctly.

  1. Start with your values. What's important to the organization. What gives the base reason for doing what you're going to do. What will you not compromise on.
  2. Build your vision. This should align with your values. What do you want to do. How do you want to change things?
  3. Define your goals. Often just directly implications of your vision. How do you get there.

So now you have these items, you can consider looking for people to fit within your organization. There's some basic level of skill you're require for the role, that's often easy to check off. Now communicate your values, vision, and goals. They must believe in them, ideally as strongly as you do. Not "oh, that's nice". Really want to execute to the same level. If your app is about finding puppy sweaters, then you really want someone who thinks puppy sweaters are awesome, they want to be able to find cute ones for their dog, etc.

Then lastly, they should fit in with the team pretty well. This isn't super easy to measure, but if you aren't going to enjoy working with them, it will be a huge struggle. You can't go hide behind someone else when there's no one else around.

All of this allows you build to a group of people who are aligned towards the same end, believe in the same thing. You'll have much fewer retention problems, be able to delegate and trust in outcomes, and generally have happier people. Carl Rogers did a whole bunch of work on why this is.

This might be overkill for a little side project - but if it won't be a side project for ever, it's worth spending the time to think this stuff through and finding the right people. The wrong people cost a lot of time, effort, energy and money.

share|improve this answer
add comment

Who can you get? Can you afford to pay an experienced developer a full-time salary? If not, what can you offer? Not everyone will accept just equity. Everyone will be somewhere on the continuum of Salary <-> Equity. This may limit your pool of tallent.

Do you know what you need? There are probably many gaps in your skill set and time availability that you need filled. There is a risk between: A) hiring expensive individual contractors for part-time help on specific issues. B) Hiring a full-time person who knows how or at least can figure-out how do do these things, but won't cost as much as a contract hire on an hourly basis. The total hours can add up. If you don't know what you need, a generalist can fill-in and if they have enough experience/know-how, can give you advice.

My Advice is to hedge your bet. Start looking for someone who is bright and willing to learn things and get them done. In the mean time, you can always get a quick-fix contractor on immediate items like performance-tuning a database. Who knows, you may discover that one of your early contractors is the person you're looking for full-time. They may even discover enough about your product and you to want to join your team. If you hire a Java contractor and ask them what you need, guess what, you'll need Java (We're only human.).

Finally, hire people you are willing to accept their advice. Otherwise, your company will be limited by your specific abilities and knowledge. Most people who think they're the next Steve Jobs, aren't.

share|improve this answer
add comment

If I got thet correctly your startup now is... you.
You have some budget ok, but don't go burn it all up in a hurry.

First, get an all around developer that can do everything and more.

Consider the possibility of making him an associate at a certain point in the future.

So you want someone who you like, that likes you, who you share some core views with. He must really like your project and really believe it's gonna skyrocket trough the roof. Better, he'd better want to skyrocket that trough the roof himself.

He's gonna have views, opinions, choices, not all of them will make sense, not on all of them it will make sense to argue. (CS people get really passionate about stuff that have nothing to do with business, you want him to win all those irrelevant disputes, because, well, they are irrelevant, and he will like to see things done his way)

Then, if you grow some more, you both should start being concerned about the "what if one of us two gets run on by a bus" scenario (or even the "we should grow faster" scenario) then you'll hire more.

Your lead developer, then, will set many of the developer metrics you haven't set and don't know how to set (or if it's important to set - it probably isn't) now.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.