Why is it so hard to find programmers? Are people afraid of joining a start-up?
Let's not overlook the big differences between working at most start-ups and working at most companies:
1. Every programmer, no matter how good, is at least a little insecure. Every one of us doesn't know something. Is the something you don't know going to make or break the next project? In a start-up, there's rarely a safety net to catch you, but in a larger company, there's probably a better chance that someone else can help you along.
2. It takes a special mentality to work in a less certain environment. This is more a matter of personality than skill. My mentor was fearless. He used to say, "I didn't know I couldn't do it, so I did it." This attitude, as much as skill, determines how well one would thrive in a start-up.
3. What happens when things go wrong? (And they will go wrong.) The ability to recover from problems in a larger company is a great asset. In a startup, it's a necessity. I've met many enterprise programmers who could crank out great code between 8 and 5, but melted under the pressure of an all night emergency. They would never survive in a startup.
4. What happens if you don't feel well or if your mind is "someplace else"? In a larger company, you could coast for a day or two (maybe more). That's rarely an option in a start-up; time lost is time lost forever.
5. In a larger company, you can do quite well whether you have deep domain knowledge or you're a jack of all trades. In an early start-up, you better be both.
6. Ever wonder why waterfall development refuses to die, even though it's not as effective? Because so many of us have to have a road map in order to function. "Road map" personalities don't fare nearly as well in roadmapless environments (many start-ups).
7. A start-up programmer must have at least a little maverick blood. If you believe everything you hear and do everything everyone else is doing, how can you differentiate yourself? In a larger company, you may not have to. In a start-up, you probably do.
8. Is there something you simply have to do? Then you probably belong in a start-up environment. It's tough (although not impossible) to get the same opportunity in a large company.
9. Do you think the work is really cool? I know lots of good enterprise programmers, but have trouble thinking of very many who think their work is cool. They like their jobs, but work is "just a paycheck". Not the type of people who would thrive in a start-up.
10. Do you do a happy dance whenever something works for the first time? Then you may be more comfortable in a start-up than in a big company.
There seems to be a work-life balance difference also. Depending on the large company, it's at least possible to get a job that, most weeks, takes about 40 hours, mostly during the day, and leaves time for friends/family/hiking/reading/whatever outside of that time. Many startups seem to want someone for whom their job will be their life--- some of the job postings come close to saying so pretty explicitly! That can be unappealing if you want to maintain a non-work-related life. I'd personally only be willing to make my job my life if it were my company.
That is not the case at all startups. We make a huge effort to foster a solid work-life balance at Weebly.
Yes, the founders do usually work quite a bit. But most everyone else works as much or as little as they want during the week, as long as they are being productive and get everything done they set out to at the beginning of the week.
Ditto for vacation time. Take as much or as little as you need as long as we're not in an emergency-mode (which rarely happens).
More than larger companies, I'd guess that startups have a much larger variance in culture -- there are those that require you to commit your life, and there are those that are able to foster a great work-life balance, it's just a matter of choosing the right one.
Interesting! Sounds like a nice culture. The key to it is maybe (?) this part: "as long as we're not in an emergency-mode (which rarely happens)". My impression is that the "which rarely happens" part varies quite a lot; some places are in emergency mode every other week. Though to be fair, that's true of some large companies too (EA has a reputation for being crunch time all the time).
About once every 6 months for us. To be fair, a major release might require a tad more work than usual once every 2 months (think 1-2 extra hours per day that week).
I think the key to making it work is keeping it small. If there were too many people, nobody would feel individual responsibility and it would devolve into a nobody comes into work culture.
As it is, some people come in to work at 9 and leave at 4:30, some 9-6, some 11-8, some 2-2 (whoops, that's just me :) -- depends on when you like to work.
Also, everybody has easy weeks and hard weeks, and there's no point sticking around work if you've got nothing to do. Much better to work hard for 4 hours a day on the easy weeks than stick around for an extra 4 hours depressed.
I completely agree. Most folks interested in working for a startup have founder ambitions themselves. When you really think about it, if you're going to ride the roller coaster, you may as well do it as a founder. Otherwise (unless you change your mind or happen to join a very successful company), you're going to have to do it all over again anyways.
EDIT: The moral of the story is that it's up to the hiring startup to convince you they will be a very successful company, beyond an exit that only windfalls the founders.
I would love to see a bigger 'twist' than this. I would love to see the <i>investors</i> pitching to the start-ups.
I would love to see investors put more effort into demonstrating the value that they bring to young companies - over-and-above capital. Quite often it's hard to get anything more than some pretty intangible statements on the topic.
I spent 9 months of my precious life schlopping round VCs in London (well, it was 2001...). Sitting behind expensive oak tables in ostentatious board rooms pitching for investment. Listening to what was in too many cases downright arrogance on the part of the investors whose understanding of the market was at best surfacial.
I think much of this world is gone (thankfully) but wouldn't it be nice to hear the <i>investors' elevator pitch</i> for a change ?
but it’s still tough for young start-ups to find talented computer programmers in Silicon Valley
Seems to me that the obvious solution is to recruit outside Silicon Valley. You'll probably find candidates willing to relocate if it gets them back to work (though a good proportion of them may be recent grads).
It's not easier elsewhere, but the more places you're willing to recruit from the better. Which do you think has more good programmers: SV or the world?
The world, even excluding SV, has more good programmers, but existence isn't enough.
> but the more places you're willing to recruit from the better
You're ignoring cost.
If local matters, then moving cost and "number available" matters.
There are many places with "enough" programmers to do {reasonable size project}, but there aren't thousands, even if great programers can be found almost anywhere.
There are fairly few places where there are "enough" programmers to do almost anything. SV is one of them.
In my experience recently, employers are demanding a hire who has every single bullet point, no exceptions.
I believe one of the more entertaining job listings I saw last year required someone who had written embedded firmware, as well as Adobe Flash animation.
Wait, I meet those qualifications. Where was this job? ;)
I would think the problem is not that programmers that meet all the bullets don't exist, it's that those programmers either work for startups, start startups, or work as consultants.
What's ridiculous is when one of the bullet points requires 5 years experience with a technology that was invented only 2 years ago.
I think the problem is supply and demand. There just aren't enough really good programmers. Google alone seems willing and able to absorb all available really good programmers, for some value of really good.
I think this is partially because there are very few short programs that attempt to teach people how to be good programmers. It's not like I can take a college course on EC2 administration or on learning TurboGears.
That's being pretty generous. If anything, I'd assume that a YC-backed company knows less about hiring than BigCo HR departments (assuming we're talking about software companies). Most BigCos got to where they are for a reason. A lot of YC-backed startups have never hired a single person before.
They know more about some things and less about others. They know less about employment law and benefits administration, but they are probably better at judging someone's programming ability.
Except that BigCo makes arbitrary hiring decisions without flexibility. Isn't part of the benefit of YC-backing to get advice from people on things such as hiring?
I'm not trying to put YC down. I'm just trying to add a dose of realism here. Yeah, these companies get advice from experienced people. That doesn't make them superhuman though. Everyone makes dumb mistakes when they're new, no matter how intelligent they are or how much good advice they get.
Let's not overlook the big differences between working at most start-ups and working at most companies:
1. Every programmer, no matter how good, is at least a little insecure. Every one of us doesn't know something. Is the something you don't know going to make or break the next project? In a start-up, there's rarely a safety net to catch you, but in a larger company, there's probably a better chance that someone else can help you along.
2. It takes a special mentality to work in a less certain environment. This is more a matter of personality than skill. My mentor was fearless. He used to say, "I didn't know I couldn't do it, so I did it." This attitude, as much as skill, determines how well one would thrive in a start-up.
3. What happens when things go wrong? (And they will go wrong.) The ability to recover from problems in a larger company is a great asset. In a startup, it's a necessity. I've met many enterprise programmers who could crank out great code between 8 and 5, but melted under the pressure of an all night emergency. They would never survive in a startup.
4. What happens if you don't feel well or if your mind is "someplace else"? In a larger company, you could coast for a day or two (maybe more). That's rarely an option in a start-up; time lost is time lost forever.
5. In a larger company, you can do quite well whether you have deep domain knowledge or you're a jack of all trades. In an early start-up, you better be both.
6. Ever wonder why waterfall development refuses to die, even though it's not as effective? Because so many of us have to have a road map in order to function. "Road map" personalities don't fare nearly as well in roadmapless environments (many start-ups).
7. A start-up programmer must have at least a little maverick blood. If you believe everything you hear and do everything everyone else is doing, how can you differentiate yourself? In a larger company, you may not have to. In a start-up, you probably do.
8. Is there something you simply have to do? Then you probably belong in a start-up environment. It's tough (although not impossible) to get the same opportunity in a large company.
9. Do you think the work is really cool? I know lots of good enterprise programmers, but have trouble thinking of very many who think their work is cool. They like their jobs, but work is "just a paycheck". Not the type of people who would thrive in a start-up.
10. Do you do a happy dance whenever something works for the first time? Then you may be more comfortable in a start-up than in a big company.