> Why not only hire people 10x better than everyone else? It’s such a simple idea, it seems deceptively obvious.
This trope is unadulterated bullshit. The whole article sometimes seems to border on a parody of the worst premises and shallowest-possible way of assembling and managing a (software) team.
There is certainly a feeling, especially when you're a manager or an unhappy team member, that there are 0.1X employees out there - perhaps even a great many. By all means, these people should be made aware of the problem and if necessary fired (heck, I had to do that a few times). But the most self-destructive assumption you can make as a manager is to unilaterally declare yourself an "A players only" team.
The performance of people depends on many factors, including working conditions, personal situation, management style, motivation to work on a certain project. The idea that somewhere there is a pool of global "A players" and you just need to find them is not only unrealistic and ignorant, it actively harms your company by turning it into a locker room popularity pageant. The people who thrive in such an environment of arrogance and self-promotion might be the ones you want (because they project a vacuous aura of success) but they're probably not the ones you actually need.
Furthermore, you don't really need to fill your company with "rockstars", if all you're doing is building another interchangeable ad-driven mobile app. It's perfectly acceptable, probably even preferrable, to have a base group of decently-performing "grunts" who can actually work on your app without feeling depressed after a month. People who aren't exactly highly motivated visionaries but have a stable 9-5 work output are more important than many people seem to think.
Thanks for beating me to the punch. If they want to run a company on the basis of snappy, feel-good slogans ("We're all 10x-ers here!"), that's one thing.
But the thing that gets me about the 10x-er line is that it isn't even in agreement with the original research (whatever you may choose to make of that research -- there was at least some research done on this, and its basic findings don't seem out of line with subjective, day-to-day observation).
Unfortunately, those findings never said that top performers were "10x better than average." Rather, that they were 10x better than the worst performers, on the very bottom of the scale. So if there's anything all to the quantitative side of their findings -- it's that the "best" formers are merely... 3.16x better than average. Which, sadly, doesn't make for a catch slogan that you can use to emotionally manipulate people with.
And if you ever brought up this inconvenient fact at an Expensify meeting -- next time you heard that it's time to go on the warpath, and root out all the lowly 8x-ers and 7x-ers -- I'm sure you'd be pegged as a disruptive, miserable, self-hating narcissist bent on bringing others down to your own level.
I'm pretty sure negative 10x-ers exist though. The people who can build something but it then takes someone else 10 times longer to iron out all the bugs ad performance issues.
In fact, I think these people are often mistaken for 10x-ers, especially in their own mind.
What makes the (far more common) negative outliers most vexing to deal with is not just that they're +10x-ers in their own minds -- but that they're mistaken for such in the minds of upper managers (and/or their investors) -- for a great, great while, in many cases.
And having to explain to someone that they need to "flip" their +/- 10x bit on one of their "star performers" can be a really, really awkward situation to be in.
1) How does this not degenerate a zero-sum game where the people who can subtly undermine their peers relatives to themselves succeed?
2) Why does expensify need 10X programmers? Here are some questions to help define where a 10X programmer might benefit them
Q: Are they doing something that is pushing the boundaries of computer science?
A: No, they make it easier to submit expense reports.
Q: Are they trying to extract the last drop of performance from a computer system - for example games, HPC, HFT?
A: No, they make it easier to submit expense reports.
Q: Do they need to create massive systems that can serve a billion people and thus even "simple" programming problems can be difficult due to scale.
A: No, they make it easier to submit expense reports.
Q: Are they creating tools such as new languages, libraries, operating systems / environments to massively increase the productivity of computer programmers.
A: No, they make it easier to submit expense reports.
Q: Are they trying to tackle hard problems like making secure computing ubiquitous?
A: No, they make it easier to submit expense reports.
Q: Do they support other companies and help other companies solve difficult problems by providing expert consultation.
A: No, they make it easier to submit expense reports.
Before a company decides it needs 10X programmers, they should answer the Jeff Dean question: "If Jeff Dean came to work at my company, what current project do I have that I would put him on, and would he be bored?"
Too many companies it seems decide they want 10X programmers (without paying 10X salaries) and then use this to justify poor treatment of their current workers.
I'm not sure I agree with the claim that they make it easier to submit expense reports. They're not really any worse than any other expensing system I've used, but they're also not meaningfully better.
I had the same thoughts as I read the blog post. The extremely pompous arrogance of proclaiming you fire people who aren't 10x'ers, when all you do is create some bullshit expense app that isn't all that great and which few people find joy or real utility in, is priceless.
"and we're gonna hire the best people, let me tell you about hiring, and by the way, also firing. we're gonna fire the worst people and we're gonna replace em with the best people, 10x people. You know, I have a friend who I hired, who's 10x, and let me just say he's more than 10x, he's maybe 100x, so right there, you can fire 99 people. And this friend he knows firing, let me tell you. he knows it more than anyone else I know. And that's why firing is so important."
Reminds me of South Park's PC principle and how our society forms cliques so naturally.. in reality the division is an entirely arbitrary printed label from a $1 label printer.
As someone who once worked there and left to grow as an engineer, I'm not wild about the part where everyone who ever quit expensify:
> did so when they found their peers increasingly unwilling to tolerate to their disruptive attitudes, and thus less fun to work with — misery loves company, and if your peers aren’t as miserable as you, you leave to find others who are.
Likewise. I enjoyed my time there (well, until this blog post wound up on my radar!), but after a year it was time for me to go, so I resigned without much in the way of hard feelings.
I'm not at all pleased to discover today that we (and many like us) are now being painted as "disruptive," "miserable," and ultimately crappy employees. Expensify has just taken themselves from "Not what I ultimately wanted, but a good experience that I'd recommend to most folks who fit their model" to "company I'll actively steer people away from if they asked me."
I struggle and fail to understand the point of this blog post; did someone think this would be well received? Do they think it makes them look better than the average company? Is there now an internal sense of "achievement unlocked" that thrills them when the rest of the industry sees this as abhorrent? Their GlassDoor reviews are starting to seem a lot more ominous lately as well.
If you take a look at NetFlix, another company whose culture speaks to "top performers or get out," there's always been a sense that people who've left are still great people / employees. When someone leaves (voluntarily or not), the consensus and messaging becomes that it just wasn't a good fit, and they stand behind their former employees as being fantastic hires elsewhere.
This entire blog series / ad campaign just comes across as either profoundly deluded, or a desperate cry for attention.
That's actually quite a precious and very telling quote.
He's basically saying that if you're less than entirely happy with Expensify (or your particular corner of it), then it's obviously because you're a flaming asshole -- and are just starting to realize it.
Yes, this was pretty... something. Lord knows no one ever left a job because they were passionate about something else, or had a life change, or had a medical issue, or went to graduate school, or moved, or...
Too funny. I would love to see how they identify a 10x person from an 8x person.
I worked at a fortune 500 company that measured productivity via a ticketing system. "Write a device driver" was measured the same as "Change 'OK' to 'Accept' on a button." Guess what the 10x'ers did all day and what got assiged to consultants like me?
I worked at another fortune 500 company that measured programmer productivity via a ticketing system, and they focused on issues. I finished my work 6 months early with no bugs or issues, but the outsourced labor continiously generated as many issues as they fixed to the tune of roughly 80% reopen rate.
They told me I they weren't going to extend my contract and I laughed and told the lead -- I finished my work six months early with no bugs, and you are going to let me go and keep the guys to write as many bugs as fixes. They kept me and let six other overseas contractors go.
I could give dozens of other examples how people are smart enough to game the system.
Is this meant to be a fresh new take on hiring designed to get people to be excited about working there?
Or some clever lead in to the next script for "Silicon Valley"?
As I read it I was envisaging a background advertisement for working at Expensify with upbeat music, groovy offices, quick cut shots, smiling faces, people enthusing at a whiteboard over some software diagram, snap the camera to screens full of code and concentrating people, and then a big Donald Trump at the end pointing down the barrel of the camera "YOU'RE FIRED!" Then a sad person leaving the office with their head hung low because they were only 8X
The truth about software development is that you absolutely need to fire problem team members ASAP, but this is not something to build into your hiring strategy as a positive. In fact if you need to do that then your hiring strategy is not working in the first place.
This sounds alot like stack ranking which was popular at places like Microsoft and has been shown to be a disaster.
Usually hiring and :-) FIRING! strategies like this have been concocted by non technical or less technical people.
Expensify would be well advised to take down this post and rethink.
And have a guess what link every staff member at Expensify is emailing to each other right now?
Is this [...] some clever lead in to the next script for "Silicon Valley"?
The author does say in his LinkedIn profile[1] he is "making the world a better place, one expense report at a time"... so maybe you are on to something.
This is their hiring "advertisement." In the Muni Embarcadero Station they have bought 6 slots, one of which shouts "We fire people." They also have signs about how they treat people like adults and compensate fairly by way of some kind of committee or something (something that was also referenced in this article).
> However, in a collaborative team where everybody talks with everybody, it also means everybody distracts everybody — just a little bit. This little bit adds up over time. Even worse, while productivity increases linearly, overhead increases exponentially (orange line): with every new hire, not only do you distract one more person, but one more person distracts you.
Where does exponential come from? The naïve model (which is obviously worse than reality at the extremes, since it would at some point imply that each person is spending > 100% of their time distracting) would seem to be quadratic -- O(n^2) [0] -- not exponential -- O(k^n), which not only is clearly worse than reality for the same reason that the quadratic model is, but doesn't seem to have any coherent basis at all.
This really sounds like "lets throw some mathy-sounding words, made up numbers, and pretty-looking charts out to try to rationalize an approach we decided on based on intuition" rather than explanation of actual coherent, quantitative reasoning.
[0] proportional to the number of dyads (n(n-1))/2
I think the concept is illustrated by some kind of ludicrous company wide morning status meeting. Every person added to the meeting wastes more of everyone else's time. The 3rd person wastes the time of two coworkers, the 100th wastes the time of 99 coworkers. You can indeed end up in a place where overhead is over 100% of time spent where you're working overtime late just to finish the morning meeting.
That said, this nonsense is pretty divorced from reality.
Yeah. Also the 10x thing seems wrong - if overhead is percentage based then having 10x devs means you will have the same maximum team size, but your total maximum productivity is 10 times what it would be for 1x devs. Pretty weak article on the math. And then they act like they invented the term PIP.
> We don’t negotiate during the hiring process. Our first offer is our last and best offer. If it’s basically in the right ballpark, then we encourage you to take it and we’ll adjust it later if we were off. But if we’re so far off that we’re not in the right ballpark, then clearly this isn’t going to work anyway. There’s no need to fight over a few percent: let’s just get started and adjust later.
Apparently they'd like to hire "10x engineers" (lol), but not quite enough to actually talk with them to determine a mutually beneficial compensation scheme. Their offer is the fair one, and a counter-offer is the engineer quibbling over a couple percent. If that's the case, why can't that few percent go the engineer's way? Nice to see that they've resolved the problem in their favor.
If a prospective employer gave me a non-negotiable offer and refused to countenance alternatives, I'd run far, far away from that paternalistic prison, no matter the offer or company.
"Programming with .NET is like cooking in a McDonalds kitchen. It is full of amazing tools that automate absolutely everything. Just press the right button and follow the beeping lights, and you can churn out flawless 1.6 oz burgers faster than anybody else on the planet.
However, if you need to make a 1.7 oz burger, you simply can’t. There’s no button for it."
In some places, non-negotiable offers are pretty standard. Eg programming jobs in New Zealand - many hiring managers would rather kill themselves then pay more than whatever they have already decided to pay a programmer. Or negotiation will happen, but then the number on the contract will mysteriously not change, and if you complain about it you will be told that it can't be fixed now, just sign it and accept the offer and they will totally correct the number, just not right now. And once you have signed, well, verbal contracts always defer to written contracts in NZ, so it never gets fixed. There are some amazing things about NZ, but the job market as a programmer is not one of them.
I think of this quote: "Think of it differently: 2 people can pick a place to eat rather quickly; 10 is hard, but doable. 100 — impossible. Nobody will ever eat." as the leadership trap.
Sticking with the self inflicted strawman I see it this way; There are constraints on where you can eat (vegans, paleo, vegetarians, low gluten, etc.) When you have good leadership they understand the various constraints that individual team members bring to the problem. So in the "place to eat" question, the leader starts with places that already meet the constraints, and then surface any concerns about the available choices, shares the concerns with the team and solicit rankings, and then tells everyone where they are going to eat that day. If they are consistent, and they rotate through equivalent alternates over time, everyone is ok with the outcome and nobody feels left out.
A 100 people walk into a room and are told to pick a place to eat and it doesn't work because there isn't a shared understanding of resolution. Is my preference stronger than yours? Is my dietary restriction something I can impose on others? on and on. Teams are most productive when they trust their leadership and least productive when they do not.
If you want to have a high performance team, establish trust, listen to concerns, and communicate clearly respect and understanding.
Ah yes, the 10x dogma again. Let's go back to actual source materials.
Everybody has heard the common trope: great programmers are 10x more productive than average programmers.
Then everybody heard wrong.
A 2nd edition of Peopleware summarises it; the 10x programmer is not a myth, but it's comparing the best to the worst; NOT best to median. It's also not about programming specifically; it's simply a common distribution in many metrics of performance.
The rule of thumb Peopleware states is that you can rely on the best outperforming the worst by a factor of 10, and you can rely on the best outperforming the median by a factor of 2.5.
This of course indicates that a median developer, middle of the pack, is a 4x developer.
Obviously, this is a statistical rule, and if you've got a tiny sample size or some kind of singular outlier or other such; well, we're all adults and we understand how statistics and distributions work.
Peopleware uses Boehn (1981), Sackman (1968), Augustine (1979) and Lawrence (1981) as its sources.
[ "Peopleware", DeMarco and Lister, 1987, p45 ]
That all said, if anyone's got some more recent source materials (a bit more solid than Mr Expensify's source of some guy telling him in college some time), let's have them.
Addendum: "Performance Improvement Plans" are a papertrail. If you ever get put on one, the trigger has been pulled already. Even if it seems to go well and performance targets are reached and the threat of firing is off the table, your cards are marked and your days numbered. Know that, and start looking for your next job.
At Expensify, we’re betting it is possible, and that it can be accomplished with two main tactics. The first tactic involves identifying superstars * early in their career, and then backing them to the hilt.
> Why not only hire people 10x better than everyone else?
Probably because a small startup working on boring things (eg, expense reports) isn't likely to attract the relative handful of exceptional geniuses who actually exist.
Firing is actually more important than hiring. To understand why, consider this simple chart I made up: as you see it is literally impossible to get any work done at all with 100 people. Sound impossible? Think of it differently: 2 people can pick a place to eat rather quickly; 10 is hard, but doable. 100 — impossible. Nobody will ever eat. 6 billion people? Our species is doomed!
Doesn't everybody just get a business credit card so their business expenses are in the card system? Why does Expensify need arrangements with hotel and transportation services, except to steer customers to them?
Now a really neat system would be one that looked at your messaging, location, and credit card data, figured out why you were expensing something, and annotated the expenses with "why", with zero user involvement.
This is why over time, even more important than your ability to hire, is your discipline to identify those who are driving up the exponential overhead curve — single-handedly draining more productivity from the organization than they contribute themselves — and let them go.
In other words, "Going through a $LIFEISSUE? We don't tolerate that here!"
Certainly a fitting double meaning for a company which apparently had such a weak founder team that they had to replace hierarchy with anarchy - also known as "survival of the loud and smarmy".
I'm really missing an opportunity to short private companies lately...
OK, striking this company from a list of vendors we will ever use. I hate CEOs who justify their bad attitudes with fancy jargon and Peter Thiel lectures
> That means up to that point, 40 people had either quit or been fired. (And of those who quit, nearly all did so when they found their peers increasingly unwilling to tolerate to their disruptive attitudes, and thus less fun to work with — misery loves company, and if your peers aren’t as miserable as you, you leave to find others who are.)
That sounds like one bitter CEO. I mean who would ever quit a company where one develops expense reports all day.
They make it sound like they invented the PIP, but it's absolutely standard at every bigco I've worked at. HR and lawyers drive the process, so the company doesn't get sued for unfair dismissal.
Manager: So it says here on your resume that that from 2010 to 2011, you were 10x-ing it?
Candidate: That's actually and old resume, it should say that I 10x-ed it from 2013 to present
Manager: So are we to understand that you did not 10x it in 2012?
Candidate: There was a mental situation preventing me from X-ing it to my usual standards so I had to take some time off until I was able to X it at 10x
I wonder how diversity fares? One common anti-pattern is the "clique". If you find yourself on a clique team and aren't a cookie cutter member, then you're identified as an under performer or troublemaker. Seems like this culture would amplify the "clique team" problem.
I wish this was parody, the whole thing reads like an engineer's nightmare. You know what makes me happy as an engineer? Never having to work at expensify.
I have a very good friend who I would consider a 10x developer. He also has given many talks at open source conferences. He worked at Expensify several years ago and quit saying it was a burning ship. I guess this just solidifies his experience.
I'd like to invoke the spirit of General Curtis Lemay if I may:
"I'll tell you what you have to do, you have to fire people, and when you have fired enough of them so that employees see that it's no longer in their best interest to stay with the company, then that's when you will have destroyed your company"
I don't agree with many things in the OP but I do think it is important to have a process in place to deal with underperformance. At GitLab we documented it in https://about.gitlab.com/handbook/underperformance/
This trope is unadulterated bullshit. The whole article sometimes seems to border on a parody of the worst premises and shallowest-possible way of assembling and managing a (software) team.
There is certainly a feeling, especially when you're a manager or an unhappy team member, that there are 0.1X employees out there - perhaps even a great many. By all means, these people should be made aware of the problem and if necessary fired (heck, I had to do that a few times). But the most self-destructive assumption you can make as a manager is to unilaterally declare yourself an "A players only" team.
The performance of people depends on many factors, including working conditions, personal situation, management style, motivation to work on a certain project. The idea that somewhere there is a pool of global "A players" and you just need to find them is not only unrealistic and ignorant, it actively harms your company by turning it into a locker room popularity pageant. The people who thrive in such an environment of arrogance and self-promotion might be the ones you want (because they project a vacuous aura of success) but they're probably not the ones you actually need.
Furthermore, you don't really need to fill your company with "rockstars", if all you're doing is building another interchangeable ad-driven mobile app. It's perfectly acceptable, probably even preferrable, to have a base group of decently-performing "grunts" who can actually work on your app without feeling depressed after a month. People who aren't exactly highly motivated visionaries but have a stable 9-5 work output are more important than many people seem to think.