The geography of the Bay Area tech job market

(Note: probably irrelevant to most readers of this blog, but once I found myself trying to explain this stuff to multiple people in a short span of time, I figured I should write it up as a blog post.)

When I first started looking for a job in the Bay Area in January of this year, I found the job market quite confusing. App Academy’s internal database of tech companies had lots of companies in cites I’d never heard of. But as I applied to more jobs—and as I made friends in other cities outside of San Francisco—I got a pretty good feel for the geography of the tech job market here. It helps to start with a map (ripped off shamelessly from WikiTravel):
400px-Bayarea_map
The main regions on this map are important know, and referred to regularly in everyday conversation. (Except for the north bay, which no one I know talks about because people don’t go there. I hear they have wine?) However, there’s one way in which this map doesn’t represent how my friends talk: the sharp line it draws between “peninsula” and “south bay.”

For example, I often hear Palo Alto referred to as “south bay.” Get much north of Palo Alto, and I suppose you’re more likely to hear “peninsula,” but there really are no sharp distinctions until you get up into San Francisco proper. Even then, there’s a lot to be said for just seeing San Francisco as merely the tip of the peninsula. The “Silicon Valley” metonym have have made sense once, but nowadays I think “internet company peninsula” would be more accurate.

So focus on the peninsula. Got that? The next thing to know is that there seems to be a rule that small startups go in San Francisco, while larger companies go in the south bay. This hasn’t always been the case—may of the largest more southerly-located companies are there because they were founded by Stanford grads (Stanford is near Palo Alto). However, “startups go in San Francisco” seems to be the rule now.

I’m not sure why this is. Part of it, I suspect, is the way that startup employees churn in and out of jobs, and startups existence. That ecosystem probably works better with a higher population density. Also, developers are so expensive that worrying about the cost of your office space may not make sense starting out—until you get so big that it’s literally impossible to find space in San Francisco, at which point it seems that many companies migrate south.

This has some extremely important consequences for the job market in the Bay. First of all, the south bay jobs generally offer higher salaries. Starting developers can get paid $80k or $90k a year in San Francisco, but they’re unlikely to get paid much more than that. Startups are almost by definition unsustainable, since they’re prioritizing long-term growth over getting revenue right now. But this means they only have a finite amount of cash to spend before they either have to undergo another funding round or wink out of existence.

The other side of this coin is that startups are more likely to give you significant equity (stock options or something similar, different companies do equity different ways). In an efficient market, this equity would have high expected value in order to compensate for the risk that the company will fail and the equity won’t end up being worth anything.

It’s not clear how true this is in practice, though. Maybe there’s a startup risk premium, but (as one of my friends suggested), there may also be a startup trendiness premium. That is, a premium employees pay for the privilege of being able to brag about the trendy startup they work for.

I’d also be wary of the risk that you could end up taking equity from a company that’s in trouble and desperately trying to dig itself out of a hole, but they don’t tell you quite how much trouble they’re in, so you end up trading salary for equity on terms no investor would ever accept. So buyer beware.

The other key thing to know is that as you move down the peninsula, to larger companies, the companies have more resources to train you. At startups, by contrast, there often is no training. This means that if you want to get a startup job, they’ll want to see that you have the skills to be productive from day one. Big companies like Google, by contrast, just want you to be smart so that they know they can train you.

In many cases, being good at JavaScript will suffice for “skills to be productive from day one.” JavaScript is the Facebook of programming languages, the thing everyone uses because everyone else is using it, making it an extremely flexible job skill. What other skills will be valuable depends on the startup—startups get reputations as a “Rails shop” or a “Python shop” or a “PHP shop” or a “Node.js shop.”

For big companies like Google, by contrast, the only skill you really need is algorithms. Not because they’ll come up that much on the job, but because somehow everyone has decided that that’s how you figure out if a developer is smart.


CLOSE | X

HIDE | X