This chapter is not a hard and fast set of rules you should always abide by, but is some reasoning and facts that I’ve found to be true about picking a company to work for, while optimizing for a high rate, freedom, and flexibility.
The tl;dr version is that you shouldn’t work with startups, because they are high pressure and don’t pay well, and you shouldn’t work with household names (Facebook, Amazon, Google, Netflix, and their ilk) because they don’t provide as much flexibility.
Instead, you should target a sweet spot right in the middle, working with companies who have enough money to pay you well, but aren’t large enough and well-run enough that they can afford to be extremely exclusive and demanding of their employees.
As a side effect of their size, these companies often have pressing technical issues that are growing pains which haven’t been resolved yet that you can be of real value in solving. Working with them leads to doing high-value, satisfying work that pays well and affords you freedoms you wouldn’t otherwise find.
We’ll clear up some common misunderstandings and establish our reasoning by tackling this topic from first principles, as per usual.
This post is an early release chapter of a book I'm writing in public, working title of Refactor Your Career. If you're interested in following along for more prerelease chapters and other info, you can sign up for the newsletter below:
Don’t work with startups
The definition of a startup is “a company prioritizing fast growth over everything else.”
Given the current economic incentive structure of the venture capital model, startups often take outside investment to grow more quickly.
As a result, startups typically optimize to get as much done with as little money and in as little time as possible, because they are not cash-flow positive and have limited financial runway.
Therefore, they are incentivized to find extremely high return-on-investment employees who will work long hours for little money. To find these employees, they will use a number of strategies:
- Offer equity instead of cash compensation
- Offer “fun” benefits (beer, ping pong table, catered lunches, free movie tickets, etc.)
- Target young, talented, and hardworking engineers who are new to the industry and don’t have connections
An extremely high return-on-investment employee is always getting the short end of the stick. The money has to come from somewhere, and in this case the money is coming from the employees’ pockets.
As an aside, your employer wins when they get the most bang for their buck, but the more bang they get for their buck, the less bang you get in return for the most valuable resource you possess -- your time.
At its core, hourly billing is a profoundly adversarial relationship, and you need to understand the rules by which it operates in order to not be taken advantage of. If you don’t know the rules of the game, you will lose. If you know the rules of the game and don’t play to them, you will lose. If you want to win, you must play intelligently, intentionally, and aggressively.
Hourly billing is just the beginning. As you grow in skill and “career capital” (c.f. So Good They Can’t Ignore You, Cal Newport), you’ll want to explore ways to move away from hourly billing to a better way of billing, i.e. separating time worked from results delivered. Big benefits to you and your clients all the way around. Jonathan Stark writes eloquently on the issues with hourly billing here.
Let’s take a deeper look at the strategies startups use to find employees, and why that means working for one is usually a bad strategy.
Taking equity is becoming a micro venture capitalist
Venture capitalism is a bet on the future. Even the best venture capitalists lose money on most of their investments. They only turn a profit because they invest at scale and need just a couple of big wins per batch of investments in order to make up for that extremely high percentage of losses. They also study investing all day, every day, and are surrounded by people all doing the exact same thing.
Second, time is fungible. If you want, you can trade time for money directly (that’s what hourly billing is, after all). Therefore, an investment of time is an investment of your personal funds.
As a result, if you take equity compensation instead of cash when working at a startup, you are investing your money directly into that startup.
Given all of the above and bearing in mind that venture capitalism is a high risk bet that only works at scale for people who exclusively study how to invest, the odds that you are going to make a return on your investment with the limited amount of resources that you have to invest is vanishingly low.
Don’t try to play venture capitalist with the most valuable thing you have -- your time.
Jamie Zawinski (OG programmer, one of the founders of Netscape and Mozilla.org, the guy who probably wrote your screensaver, and now a dance club proprietor [yes, really]) has this to say about working for startups:
Follow the... money. When a VC tells you what's good for you, check your wallet, then count your fingers. He's telling you the story of, "If you bust your ass and don't sleep, you'll get rich" because the only way that people in his line of work get richer is if young, poorly-socialized, naive geniuses believe that story! Without those coat-tails to ride, VCs might have to work for a living. Once that kid burns out, they'll just slot a new one in.
You can read the full post from 2011 here and I highly encourage you to do so. It’s a zinger.
Empirically, equity is not as valuable as it seems
Backing up the logic above, loose empirical analysis shows that if you look at total startup compensation as income combined with equity adjusted for likelihood of realizing that equity’s value, statistically you end up making less money in the end.
Patrick McKenzie, a well-known entrepreneur and prolific writer, and currently working at Stripe to “increase the GDP of the internet,” has this to say on the topic of valuing equity grants:
Roll d100. (Not the right kind of geek? Sorry. rand(100) then.) 0~70: Your equity grant is worth nothing. 71~94: Your equity grant is worth a lump sum of money which makes you about as much money as you gave up working for the startup, instead of working for a megacorp at a higher salary with better benefits. 95~99: Your equity grant is a lifechanging amount of money. You won’t feel rich — you’re not the richest person you know, because many of the people you spent the last several years with are now richer than you by definition — but your family will never again give you grief for not having gone into $FAVORED_FIELD like a proper $YOUR_INGROUP. 100: You worked at the next Google, and are rich beyond the dreams of avarice. Congratulations. Perceptive readers will note that 100 does not actually show up on a d100 or rand(100).
Dan Luu, another well-known developer and blogger, has this to say on the subject:
For a more serious take that gives approximately the same results, 80000 hours finds that the average value of a YC founder after 5-9 years is $18M. That sounds great! But there are a few things to keep in mind here. First, YC companies are unusually successful compared to the average startup. Second, in their analysis, 80000 hours notes that 80% of the money belongs to 0.5% of companies. Another 22% are worth enough that founder equity beats working for a big company, but that leaves 77.5% where that's not true. If you're an employee and not a founder, the numbers look a lot worse. If you're a very early employee you'd be quite lucky to get 1/10th as much equity as a founder. If we guess that 30% of YC startups fail before hiring their first employee, that puts the mean equity offering at $1.8M / .7 = $2.6M. That's low enough that for 5-9 years of work, you really need to be in the 0.5% for the payoff to be substantially better than working at a big company unless the startup is paying a very generous salary.
Startup benefits are the cheese in the mousetrap
While it might seem rather cynical, the benefits at a startup are just the cheese in the mousetrap. If you calculate the actual cash value of the benefits that many startups offer, you’ll find that they’re laughably low. Free beer, access to the company ping pong table (that never gets used), free movie tickets and a two hundred dollar per month business learning stipend actually work out to a relatively low amount of cold,
hard mildly wrinkled Franklins.
Even things that are seemingly inherent to the unpurchasable, intangible benefits of startup culture like an open desk plan, brilliant and intense coworkers, and technically cutting-edge work can all be had elsewhere for a fraction of the time-cost of working at a startup if you’re willing to think outside the box.
Given that remaining within this particular box is so expensive, I highly encourage you not to do so without full understanding of what you’re doing.
If you can make $80/hr at a startup and $130/hr at a regular company, you are paying the startup $50/hr for the privilege of working there. For $50/hr, you can figure out a way to get most of the same benefits and come out way, way ahead.
Do what makes you happy, but do it with your eyes open. Also, if you really want to work at a startup, you might be better served by starting one.
Don’t work with household names
There’s a word that gets tossed around a lot in the communities where developers that talk about their careers hang out (Hacker News, Reddit, et. al.) -- FAANG. It’s an acronym that refers to Facebook, Apple, Amazon, Netflix, and Google.
People talk about these companies (which pretty much are all out in Silicon Valley or in Seattle) so much that an acronym evolved as a catchall to refer to them. When I say “household name,” these are the companies -- FAANG companies -- that I’m referring to.
The case against working at FAANG companies is much easier to make than that against startups, but it comes with a caveat:
If you’re reading this book because you value money above freedom, and you’re not employed at a FAANG, then my advice to you is to put this book down, move to California, and grind algorithms and leetcode until you can get hired at one of these companies (it’s actually not that hard. Dan points out in his article that you can’t afford to be very selective when you need to hire a hundred engineers a week).
However, if you want freedom, that’s not a good strategy.
It’s becoming less true in the age of COVID (I’m writing this in December of 2020), but for the most part working at a FAANG means living within fifteen minutes of an office building, where you keep your favorite mug and a picture of your family at your dedicated desk with no windows.
Why do FAANGs offer less flexibility than smaller companies?
It comes down to the dynamics of a system operating at scale. There’s a lot of bureaucracy and red tape that’s unavoidable past a certain company size. Because they’re (very) profitable and because it’s impossible to avoid inefficiency in a large system, FAANGs budget to deal with this inefficiency and accept it as a cost of doing business.
You as an individual stand to benefit from that cost. FAANGs pay absurdly well, and working at a large company is much, much slower paced than working at a startup, meaning you don’t need to work nearly as hard. But there are costs to you as well: although better ways of doing things might emerge, those better ways will only be adopted slowly, or in some cases not at all.
By way of example, a key improvement to software development as an industry is remote work. Though it’s been possible for some years now (and I would know, as I’ve worked remotely my entire career), most FAANGs have yet to take advantage of this. The practice of working in person has been codified into the structure of large companies from the very beginning, because when they started it was impossible not to.
The belief that it’s better to work in person is still very strong in many companies (Yahoo, Netflix for example), and while this is debatable, it’s certainly not desirable from an individual standpoint. However, FAANGs are able to make in-person work a requirement because they have the funds to attract engineers despite this restriction.
The Goldilocks Zone is big companies that aren’t FAANGs
In any negotiation, the party which is more willing to walk away has the most leverage and can dictate the terms of the agreement. Your goal when picking a company to work for is to pick the company where you’ll have the most leverage. And that’s the place where they need you the most.
Amazon has tons of brilliant engineers and they can do without you, so they hold all the chips. You won’t be able to negotiate your way out of a wet paper bag with them; it’s either the terms of the contract or forget about it.
Generic Acme. Co, on the other hand, have neither the money, the attractive engineering culture or the brand recognition, so they struggle much more to hire engineers.
This can give you a lot more leverage than you would have in a conversation with a FAANG. It also has the happy side effect that overall your daily work will be much more valuable to your employers. This is a recipe for doing better, more satisfying work: being paid well for it, and knowing that it is needed.
Talent begets talent; therefore, go where talent is not
Talent begets talent. Talented engineers like to work with other smart people, so any company that has achieved a critical mass of talented engineers will start to attract more of them effortlessly. That’s why companies spend so much time and money promoting their engineer culture and one of the reasons (if not the primary reason) that developer advocate roles are a thing.
A company that is known for the quality of its engineering talent will have a much easier time attracting more engineers. Therefore, if you want to find a company that really needs you, pursuant to the negotiation point above, hiring into a talent wasteland is a good idea. Not only that, but it’ll make you look really smart, and looking smart is a good way to make more money.
The downside of not working with a bunch of talented engineers at the forefront of innovation in this rapidly evolving industry is that you’ll need a way to continue developing your own talent and staying relevant if you’re not doing so at work. You’ll want to find a place where you can hang around smart people and learn from the best outside of your day job.
However, as with the startup culture point, this is something that is reasonably achievable that you can do at less cost to yourself than working for half your possible rate at a cutting edge tech company.
Smaller companies are more able to negotiate
At smaller companies, regulations are less strict because they can afford to be less strict. A change like introducing remote employees is more achievable from a logistics perspective and less expensive as well. Even pre-COVID, I worked at multiple companies as the only (or one of a very few) remote employees.
You’ll find that there are many smaller companies willing to make concessions on rate, location, time off, and the other levers in a standard negotiation in order to secure talented engineers. FAANGs don’t have to, so they won’t.
Not only that, but smaller companies need you, and they know it.
Working with these companies, you have all the advantages in the negotiation, allowing you to name your rate, working hours, location, time off, and everything else... and allows you to quit whenever you want.
It’s a win-win scenario: you get whatever you want in terms of a working environment, and they get access to a talented engineer who otherwise might not be working with them. Not only that, but you’ll be satisfied at work by solving serious problems and adding value that you can often see the effects of in real time.
You just have to know how the game works and be willing to walk away from negotiations.
Live in a low cost-of-living area, work in a high cost-of-living area
The reason I mentioned remote work earlier, aside from the massive freedom it provides you, is that you can engage in limited geographic arbitrage. That is, you can charge tech-hub rates while living in a low cost-of-living area and pocket the difference. (I say limited because if you’re living outside of the US it’s not easy to work for companies inside of the US. It’s possible and profitable for US citizens, though -- hence the reason digital nomadism is growing so popular)
For example, I live in Rhode Island. Its COL is slightly above average: ~110 against a US average index of 100. However, I charge San Francisco (269) and New York (187) rates by working remotely with companies that are based in those areas (numbers from this website).
Geographic arbitrage isn’t limited to individuals, by the way; it’s actually a lever that smaller companies intentionally use in negotiations to secure talent that they wouldn’t otherwise be able to find in their local area. It’s one of the only reasons they’re willing to allow employees to work remotely.
Don’t work for startups, who need you but can’t afford you. Don’t work for FAANGs, who can afford you but don't need you. Instead, work for medium-size companies, who both need you and can afford you. By doing this, you hold all the cards and can negotiate to achieve the freedom, higher salary, and flexibility that you need.
Thanks for reading. To receive updates and more free chapters from my upcoming book, sign up below: