Articles index

How to get engineers to work overtime for free

June 24, 2017

By Jeff Johnson, Developer of Underpass

Profit is revenue minus expenses. You can increase profit by keeping expenses down while maintaining or increasing revenue. For tech companies, engineering is one of the most important expenses. You can get some engineers to work for you completely for free by having interns or open sourcing your code, but that strategy does not scale very far. You have to hire some engineers. The best way to maximize profit with employee engineers is to get them to work the greatest number of hours for the least amount of pay. The courts frown upon forcing hourly employees to work overtime without pay, but you can get the same result completely legally by hiring engineers on a yearly salary and inducing them to work many more hours than an hourly employee would. Below I'll talk about some strategies to achieve this and maximize your profit.

Hire Young

Kids straight out of college tend to be cheaper than older engineers. They're also inexperienced in business negotiations and generally a lot more naive. They haven't yet become sophisticated about the art of manipulation. You can really take advantage of them. However, age discrimination is illegal, so you have to make up some public excuses to justify why you're discriminating. You have to convince people that younger engineers are simply better than older engineers. There's no empirical proof of this, to be sure, but don't let that get in your way, because this is business, not science. Making an analogy with professional athletics is a very good way to make your case, despite the fact that engineering is nothing like athletics. (But whatever you do, don't mention that most pro athletes have to retire with broken bodies and without any significant monetary savings!)

The best part is that you can use the wisdom of experienced engineers against them. If you've been around the tech industry for many years, you've probably noticed the high level of trendiness, how people tend to jump on the latest technology bandwagon, and they always want to reinvent the wheel. When, inevitably, engineers raise objections to that, you can say that they are fossils, set in their ways, resistant to change. The superficial case for the superiority of youth is pretty easy to make, because look at how eager young engineers are to leap (blindly) into something new without hesitating (to carefully evaluate consequences), and to do whatever it takes (especially working many unpaid hours) to learn it!

Flattery

Tell your engineers that they're the best in the world. Tell them you only hire the best. It doesn't have to be true, people just eat that shit up. Who doesn't want to be flattered? Who doesn't at least aspire to be the best? You're using their aspirations to your advantage. Who in the world is going to contradict their boss and say, no, I'm a pretty typical engineer, perhaps a little better than average but not overwhelmingly better than a lot of people outside the company. If you tell them they're the best, they'll start to believe it. And they'll start to believe you're the best too; the best only work for the best. They'll consider themselves "chosen ones". Make it an almost religious thing, like it was their destiny to work for you. If you build people up with flattery, and a sense of elitism, they will do anything for you, including working countless hours for no extra pay.

When engineers are made to feel that they are the best, their elitist attitude will cause them to look down on other engineers. This is to your advantage, because your engineers will feel that they are the only ones qualified to do the work. They won't want non-elite engineers to touch the product for fear of screw-ups. They'll believe that they're the only engineers qualified to work on the product. And thus they will naturally be much more willing to work overtime for you, because they believe there is no adequate substitute for their own efforts.

The 10x Engineer

Tell engineers that there's a special breed who are 10 times more productive than other engineers. It doesn't matter whether it's true, they just have to believe it. Make analogies using anomalous, outlier examples like Einstein and Newton, people who were so brilliant that everyone else seems to pale in comparison. Don't mention that a person like that is born only around once a century at most, so there may not have even been one yet in the history of computing, and even if there was, the odds of that one working at your company right now are nil. The important part is to convince engineers that they have to live up to this incredible standard. If 10x engineers exist, then engineers want to be one of them, right? Nobody wants to be the mere 1x engineer, only a tenth as productive as their peers. If you say your company only hires 10x engineers, then someone who wants a job but isn't actually an Einstein can still aspire to "fake" their way in by working 10x as hard. This is how you get them. There's no proof that the 10x engineer myth is true, but as long as enough people believe it, they will overwork themselves trying to look like a 10x engineer. The 10x engineer myth is designed specifically to get engineers to work tons of overtime hours for free, so spread that myth!

Needless to say, pay your engineers 1x normal, not 10x, otherwise that would defeat the purpose.

Understaffing

A policy of deliberate and permanent understaffing will make engineers feel compelled to work overtime. Of course, engineers may get angry if they realize you're doing this on purpose, so you have to convince them that it's really difficult to hire more engineers. The unctuous flattery and the 10x Engineer myth I mentioned above help a lot with this. It also helps to set up your corporate headquarters in an obscenely expensive city like San Francisco or New York, and don't hire remote workers, so anyone out of town would be forced to relocate from someplace where housing is much more affordable. This alone will reduce your applicant pool significantly.

Besides location, the other key to your understaffing strategy is to make your hiring process as absurd and unnecessarily burdensome as possible. Someone recently gave me a public link to Facebook's process: Preparing for your Software Engineering Interview at Facebook. This is a decent example to follow, although in my opinion they made a mistake by admitting, "An interview is typically different from your day-to-day job." They should probably delete that line, it's too suspicious. Of course none of that crap has anything to do with an engineer's job, they're just trying to weed out a bunch of people so that they can say hiring is hard. We know that, but we shouldn't let the applicants know it.

Another good way to weed out job applicants is to make them do some work for you before they're hired. This is of course extremely difficult for someone who already has a job, and especially if they have any kind of life outside of work. You probably don't want to hire anyone like that anyway who has a life outside of work, because you're going to make your engineers spend all their "free" time working overtime for free for you. Someone recently told me, "one of my favorite hires used up some of his vacation time to do a trial week with us". That's the spirit! I love to hear that.

Again, you can't just implement these onerous hiring policies without providing some kind of PR excuse. You've got to say that it's necessary for finding the best, for finding the 10x engineers. A little trial work would be no problem for someone who is 10x more productive than anyone else, right? And tell engineers that you can't risk a "bad hire". A bad hire is absolutely devastating to the company, is what you have to tell them. They'll believe that. Hopefully nobody will object that your coding tests and short-term contracts are a lot more burdensome than in non-tech industries. Nobody makes a heart surgeon do a sample heart surgery before getting hired, and heart surgeons can literally kill people. If confronted with that, you have to convince people that engineering is somehow more important than heart surgery. Because of scale or something something. But don't worry, that topic doesn't usually come up.

Overall, your hiring policies should be geared toward selecting young people. The trial work is effective for that. Also, your interviews should be testing for skills that only a recent college grad would have, as illustrated by the Facebook process. College degrees are extremely effective at excluding many applicants, and you can tell people as justification for your policies that any good programmer needs to know the "basics". The basics of course being the mostly impractical junk everyone forgets permanently within 6 months of leaving college unless they constantly drill on it, as if Google search didn't exist.

Secrecy

Speaking of keeping secrets, a culture of secrecy is crucial to getting engineers to work overtime for free. If engineers are afraid of talking to anyone outside the company, or even to their own coworkers, then they can't tell anyone how badly we're treating them. Moreover, secrecy makes it a lot more difficult for engineers to leave your company and find a different job with better working conditions. If all of their projects are under NDA, then they can't tell potential employers anything about their work or what they've done. They can't show any code samples, for example. By the way, ask potential hires for code samples, LOL. You've got those suckers trapped!

Secrecy also gives you an excuse to refuse to hire remote engineers. These strategies all reinforce each other, isn't it awesome?

Changing the World

Let's face it, we're not curing cancer, we're just making huge profits from selling consumer electronics. But you need to tell your engineers that they're changing the world. Maybe even tell them that they're helping to cure cancer. After all, doctors and scientists need to chat and make phone calls while they're curing cancer. Young engineers — you're hiring young like I said, right? — tend to be idealistic, so you can convince them that they're practically doing charity work, and people don't get paid for charity work. If you can convince engineers that they're working for something "larger than all of us", rather than just larger profits for the few of us, you can convince them to devote their lives to the cause.

Deadlines

Set arbitrary, unreasonable deadlines. Don't ask your engineers how long something will take, just tell them. You are assumed to know what you're doing, because you're the manager. You don't even need any idea how long tasks will take, because given some constraints, engineers will do their best to complete the tasks within the constraints. They will work overtime if necessary, and that's what you're counting on. Even if the engineers know your demands are impossible, not many people have the guts to say no to their boss. Fear is your friend. Engineers will fear being punished or fired if they don't meet your demands, so they'll work their hardest, even if they end up failing. And if they do fail to meet your deadline, it becomes their fault, not yours. At that point, you can choose to act magnanimously and forgive your engineers for failing to meet your deadline. Then they will actually start to view you as generous rather than harsh. They will feel indebted to you for not punishing them. Although it is important to at least occasionally punish them for missing your deadlines, otherwise they won't respect the deadlines. Make the punishment and forgiveness random, to keep them off balance.

Carrot and Stick

If all else fails, the tried and true methods of the carrot and the stick are effective in getting engineers to work overtime for free. Reward engineers with promotions and raises for working overtime. (But of course don't raise their pay enough to actually cover the amount of overtime worked.) Punish engineers who refuse to work overtime with poor evaluations and even in a few cases "letting them go". Make an example of one of the weaklings to keep the others in line. You don't even have to state explicitly that you want engineers to work overtime. They're very observant, and they'll notice the pattern of rewards and punishments without having to be told.

Burnout

After you've convinced your engineers to work a lot of overtime for free, how do you prevent engineer burnout? Burnout is almost inevitable under those conditions. The trick is, you don't. Burned out engineers will voluntarily leave the company, you won't even have to fire them. And this will contribute again to your understaffing, which is good. No matter how many engineers leave, you can always count on having an adequate supply of more available. In the first place, you're only hiring the bare minimum skeleton staff, and if you hire recent college graduates like I said, then there's a new class of college graduates each year.

It is important that this burnout experience be viewed as a kind of "tour of duty". The work is a metaphorical war zone — fighting to save the world! — and engineers must come to believe that there is no alternative to overwork, that's it's simply a necessity of survival and victory in the war. If an engineer has to quit, it's either a personal failure on their part, or merely the inevitable ravages of age. The engineers can never learn that the burnout is an intentional strategy of management to extract the maximum profit from employees.

Profit!

I hope you've found my management tips useful. Now go out there and exploit those engineers! We'll have a martini later, at their expense.

Articles index