Startups have unique problems in human resources. For a start, they don’t have human resource departments or even, in the earliest days, anyone to even do the mechanical stuff of making sure the right forms are filled out. You have to do that yourself.
There’s some obvious stuff that is unlikely to trip anyone up: people need to have a legal right to work at the company, meaning be US citizens or permanent residents. In the earliest days you are not likely to want to have to go through the visa application process so that is probably the end of the list of people you’d want to bring on board. One exception might be someone who has an H-1 (or other appropriate) visa already; it is fairly straightforward to reassign it to a new company and doesn’t run into any quota issues and only takes a few weeks.
One thing that is incredibly important is to make sure to create a standard confidentiality disclosure agreement and make sure that, without fail, every employee signs it. This binds the employees to keep company confidential information confidential (and survives their quitting), and also assigns to the company copyright and patent rights in the code (or whatever) they create. If an employee leaves to go to a competitor, that is not the moment to discover that the employee never signed his or her employment agreement and that it is legally murky what rights they have to ideas they came up with on your watch.
But the most difficult challenge is building the right team. This is probably not a problem with the first handful of hires. They are likely either to be founders or else already known to the founders from “previous lives,” working together in a similar company.
One small point to be aware of is if any of the founders was packaged out from a previous company (as part of a layoff, for example) and signed a release. Almost certainly the release will explicitly prohibit the ex-employee from recruiting people from the old company for a period of time. However, that doesn’t mean you can’t hire them; they have a right to work where they want (at least in California, ymmv). The best way to play safe is for such ex-employees not to interview the candidate. That way they can’t be accused of “recruiting.”
The first problem about hiring, especially if the founders are doing their first startup, is the deer-in-headlights phenomenon of not being able to make a decision about who to hire. Most of the time a candidate will never want to work for you more than right after the interview, having heard the rosy future, seen the prototype, met the team and everything. The quicker you can get them an offer, the more likely they are to accept. Firstly, they won’t have had time to interview with anyone else equally attractive and secondly they won’t have had time to start to get to the sour-grapes stage of rationalizing why you haven’t given them an offer already. One advantage startups have over bigger companies is that they can make people an offer very fast. It can make a big difference: when I first came to the US I was promised an offer from Intel and H-P. But VLSI Technology gave me an offer at the end of the day I interviewed, so I never even found out what the others might have offered (Intel had a hiring freeze before they’d have been able to get me an offer, as it happened). Don’t neutralize the fast offer advantage that startups have by being indecisive.
The second problem about hiring is hiring the wrong people. Actually, not so much hiring them. It goes without saying that some percentage of hires will turn out to be the wrong person however good your screening. The problem comes when they start work. They turn out to be hypersmart, but think actually delivering working code is beneath them. They interview really well but turn out to be obnoxious to work with. They don’t show up to work. They are really bright but have too much still to learn. Whatever. Keeping such people is one of the reason startups fail or progress grinds to a halt.
Firing people is an underrated skill that rarely gets prominence in books or courses on management. Even in large companies, by the time you fire someone, everyone around you is thinking, “what took you so long?” In a startup, you only have a small team. You can’t afford to carry deadweight or, worse, people who drag down the team. It doesn’t matter what the reason is, they have to go. The sooner the better. One thing to realize is that it is actually good for the employee. They are not going to make it in your company, and the sooner they find a job at which they can excel, the better. You don’t do them any favors by keeping them on once you know that they have no future there.
It may be the first time that you’ve fired someone in your life, which means that it will be unpleasant and unfamiliar for you. Whatever you do, don’t try and make that point to the employee concerned. No matter how uncomfortable you might feel, he or she is going to be way more uncomfortable. It doesn’t get much easier with experience. It will always be more fun to give someone a bonus than to terminate them.
Make sure to have someone else with you when you terminate someone. In a big company that will be someone from HR, in a small company you just want someone to be a witness in case of a lawsuit (“he told me he fired me because I was a woman”). In California you must give them a check for all pay due there and then (actually I think you have until the end of the day) so make sure you have it ready. Normally you will want the employee to sign a release saying that they won’t sue you and so on. If you give the employee severance (a good idea to give at least a little so the other employees feel that they work for a company that is fair) then the severance is actually legally structured as payment for that release. So don’t give them the check until they sign (and if they are over 40, there is a waiting period during which they have the right to rescind their signature, so don’t give them the check until that expires).