Software engineers are likely familiar with the CAP theorem, something coined by Eric Brewer. In short: the CAP theorem posits that distributed databases can have at most 2 of 3 attributes where a database is either consistent, available, or fault tolerant.
In other words, you can have a DB that is consistent and highly available, but not fault tolerant. Or, you can have a DB that’s fault tolerant and highly available, but isn’t always consistent (especially in the event of failure).
It’s a simple and intuitive concept, which hasn’t been disproven yet (i.e., nobody has created a distributed DB that has all 3 properties, though some may claim otherwise, and they are probably trying to sell enterprise software nobody needs).
A similar concept applies when hiring engineers. If you’re trying to find engineers, you’ll have to choose candidates who have at most 2 of 3 of these attributes:
- Being highly skilled
- Being highly experienced
- Being inexpensive
I’m going to call this the “SEX theorem of hiring engineers”.
As a corollary, we can then create 3 profiles for engineering candidates:
- The SE: a highly skilled and experienced engineer who does not come cheap. Sometimes colloquially known as the “10x engineer” (a term I dislike but often use tongue-in-cheek).
- The SX: typically a younger person, perhaps even a school dropout, and while they don’t have much experience, they bring fresh perspective and incredible enthusiasm for the job. For them, this is a huge step up.
- The EX: probably the worst type of person you can hire, they might have a resume littered with nonsense, buzzwords, maybe a fancy school and degree or two, and they might also be very good at interviewing. They’ll never make a meaningful contribution to your company, and spend most of their time trying to game their way up the corporate ladder. Some EXs are highly eloquent and persuasive, which is how they’ve managed to get as far as they have, but their GitHub profiles are unimpressive. An EX might make a great manager, but they are a terrible engineering hire.
To put it another way, you can certainly find people who are highly skilled and highly experienced, but they won’t come cheap. You can’t hire these people unless you offer them decent wages, and for exceptionally talented individuals there’s a good chance you might not even be capable of judging their talents. It takes an A engineer to identify an A engineer, and A engineers prefer working with A engineers. B engineers like to hire hire C engineers to make themselves look better because they usually know they aren’t As.
The SE is no fool and won’t accept startup stock in lieu of a decent salary because they understand probabilities and won’t subsidize your VC funded startup by accepting a low wage. They do still, however, expect a generous amount of equity because they want to have skin in the game and benefit from the fruits of their labour.
Some of the VC-funded startups tend to optimize (accidentally or not) for a combination of SX and EX: they tend to hire people that are either super skilled but inexperienced, or very experienced but actually suck at their jobs for the most part. One reason for hiring SXs is that VCs often impose salary caps on their portfolio companies (not officially of course, they don’t want to run afoul of labour regulations) by hinting that they won’t invest in follow-up rounds if the company spends too much on wages. EXs get hired because they went to Stanford or their dad knows a partner at one of the VC firms.
As a job seeker, the companies above are to be avoided. If they try to make you a lowball offer, it means they’re probably making other people lowball offers too, so they’re unlikely to be staffed by the best and brightest. Their recruiters might try to bargain with “we have free kombucha and you can work remote if you want!”, however as nice as those things are, they’re useless for paying the rent or mortgage or daycare or what have you. SX engineers aren’t easily distracted by juvenile niceties either.
If you manage to hire only SE engineers, then your company is exceptional and I applaud you. In fact, this is the best hiring outcome, but also very unlikely because SEs are few and far between. It starts to get ugly if you mix too many EXs in, especially if they get hired into management or leadership roles. EXs and SEs are like oil and water. EXs will try to manage the SEs and SXs, but the SEs really won’t appreciate it. If your company is heavy on the SXs and EXs, you might be in trouble.
So if I had one piece of advice for founders who are trying to avoid fucking up their culture, it would be that you should hire SEs when possible, and while that may annoy your investors now, they’ll thank you later. Additionally, you can’t hire SE people unless you already have SE people, because SE people like to hang out with other SE people and it takes one to know one.
SEs are also great matches for SXs, because they can help them grow and foster the E, but in doing so you’ll convert your SXs into SEs, and if you don’t adjust their comp accordingly they’ll move on to greener pastures.
Lastly, the mythical SEX engineer does not exist, so don’t bother trying. And even if you manage to capture an SE at a low price, they won’t stick around for long.