paint-brush
McSoftwareby@onlyrealcuzzo
6,471 reads
6,471 reads

McSoftware

by Brian YahnOctober 17th, 2017
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Mama always told me, shoot for the moon, because even if you miss you’ll still be among the stars. So when I went to college, studied engineering, and excelled — I never thought flipping burgers at McDonald’s would be in my future. Maybe I wouldn’t start the next Facebook, I admitted to myself, but I’d at least be a somebody at IBM or somewhere.

People Mentioned

Mention Thumbnail
Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - McSoftware
Brian Yahn HackerNoon profile picture

Mama always told me, shoot for the moon, because even if you miss you’ll still be among the stars. So when I went to college, studied engineering, and excelled — I never thought flipping burgers at McDonald’s would be in my future. Maybe I wouldn’t start the next Facebook, I admitted to myself, but I’d at least be a somebody at IBM or somewhere.

Rewind back to freshman year of college. At this time, I’m less optimistic. Seemingly everyone in my program is a hyper-intelligent alien, and I’m worrying if some day in the near future I’ll be asking: “would you like fries with that?”

It doesn’t bother me too much, though, because I grew up in a town so small, we didn’t even have fast-food. How could I know how bad it would be? My only experience with fries were Mama’s homemade. And those fries were good, the burgers especially, because Mama made each one special with a ketchup smile-y face over the cheese and two pickles for eyes. At my college, they don’t make ’em like that. Instead, all the pickles get piled up in one spot, and it looks like the ketchup bottle farted on top of ’em. Still, I eat burgers for lunch regularly, until the unavoidable thought of making these things for a living sinks in my stomach.

It happens in a particularly boring Data Structures class when I drift off and dream of homemade smile-y food. Shit, I think, I’m not paying attention. I’m a failure. I start to wonder how — with all of these wiz kids on campus — I even made it here in the first place. And more than that, how the hell am I excelling?

While my professor lectures on about Octrees, my eyes wander around the classroom to see if anyone else is lost. What I find, instead, is that literally EVERY student is asleep. Pop goes the ego bubble. I’m not smarter than these kids that had crazy high GPAs and SAT scores, that came from fancy high schools, that won awards I didn’t even know existed. And with that realization, my mysterious success story starts to unravel. All I’ve really got going for myself is that I’m not hungover and high all the time. I’m simply conscious in a sea of unconsciousness.

Fast forward to graduation, where I’m top of the class (no surprise). I land an engineering job for a DNC contractor on the Obama for America campaign. I uproot from my little farm town and plop down in Harvard Square. For the first month, despite the less-than-chilly temperature of Mid-February Boston, I don’t stop sweating bricks for a second. Don’t blow it, don’t blow it, I told myself everyday. I can’t mess up, because the Internet never forgets. If I make even one mistake, instead of working for Uncle Sam, it’ll be Old McDonald. I can’t just keep up with the competition. I have to crush it.

My school, I thought, must’ve been a fluke. Work will be harder. But sure enough, a month into the job, when I’m burning through the backlog faster than my project manager can say aah and I’ve finally bravened up enough to peek my head away from my cubicle monitor for a fraction of a nanosecond, I find something unexpected. Nobody appears to be working. Curious, I muster up all the courage I can and take my first-ever coffee break to investigate. The results: Monitor 1 — Facebook; 2 — World of Warcraft; 3 — Amazon. I pass several monitors and, on not a single one of them, is any work going on.

The stats guy I am, the first thing I do is calculate that the odds of so many people not working at a randomly-selected non-lunch interval implies that these guys spend a lot of time doing things beside work — people being paid well in excess of $100k. In disgust, I slip outside and sneak behind a snowman to tell my dad, an electrician, who slaves his ass off 60 hours a week for far less compensation.

Psst, I whisper into the phone, Dad, nobody at my office is working.

And? He says.

And!? I shout, Do you know how much they get paid? This is bullshit!

Son, he says, If you haven’t figured it out by now, people are lazy. Most of them won’t do anything unless they have to, and even then, most still won’t.

Little did my father know, he was paraphrasing The Wealth of Nations written by Adam Smith, the pioneer of capitalism. Basically, he states that humans are naturally lazy unless bribed with money.

And, if unlike my younger self, you’ve been in the workforce longer than a month, this shouldn’t be surprising. If at work, you’re passionate about what you do, look around. The person at your right probably isn’t. And the one at your left, too. In fact, it might take a while to find someone who is. According to Gallup, nine in ten employees aren’t engaged in their job.

Imagine, now, being tasked to manage a space program at NASA. Nine out of ten fictitious workers probably don’t care if Apollo lands on the moon or Neptune. They’re too busy remembering vaguely what Mom said about being amongst the stars while Facebooking when they should be putting fuel in the rocket thrusters.

Considering that sort of enthusiasm, what precautions might you put in place to ensure that the software being written performs as expected? And how will you guarantee it’s ready in time for take off?

These are the type of questions that led to different software development life cycles like Agile, Kanban, Scrum, and so on.

Problems like these, though, are far from unique to software development. After the industrial revolution, they became prevalent in nearly every field of work. So one day, in the 1880s, a man by the name of Frederick Taylor attempted to apply science to management and solve these problems for good. The key to consistency and increased productivity, he concluded, was to embrace three simple rules: reduce complex tasks into simpler ones; measure everything workers do; and pay according to productivity.

It seems f*^#ing obvious, right? Well, at the time, bosses were pretty backward thinking. They thought if employees would get raises for doing things more efficiently, they’d collude with other employees to start off as inefficient as possible, slowly rising to their true potential, and leeching all the profits out of the business with their raises.

In truth, humans are far too competitive to co-operate on this scale. Just look at the decline of organized labor unions. Also, it’s pretty easy to spot an employee literally not trying at all.

Henry Ford recognized this. He employed Frederick Taylor’s thinking a few years later, introducing the assembly line to Ford Motor Company, and thereby changing the world forever. Not long after, the McDonald’s brothers applied the same principles to the restaurant business and took a run-of-the-mill burger joint into one of the largest multinational corporations in the world.

Ever since, industries from recruiting to medicine to film to software to pretty much everything have been jumping in line to follow suit, hoping to similarly squeeze employees for every ounce of juice they’re worth. And, from a capitalistic standpoint, why not? Maybe it’s not exactly a noble goal. But in the capitalistic world we live in, morals don’t matter. The question is: does this approach actually work?

Using the auto and meatpacking industries as analogs, these used to be rife with some of the most satisfying jobs in the US. Now they’re polar opposites. Despite that, alongside fast-food, these industries are relatively healthy. So does the growth of these industries mean that simplifying jobs is good for big business?

Maybe not. There’s pretty good evidence this question isn’t so easily answered. Or at least that’s implied by the tale of New United Motor Manufacturing Inc (Nummi).

Between the introduction of Ford’s assembly line in 1913 and Nummi’s reopening in 1962, auto manufacturing went from a dream job to a nightmare. Prior to 1962, GM had closed the Nummi plant due to it being the least productive manufacturing facility on the planet. So unproductive it was that the workers regularly sabotaged production out of spite just to tarnish GM’s reputation with car-buyers. To counter this, GM teamed up with Toyota for an experiment. Instead of suing the frustrated employees, GM forgave them and reopened the factory, hiring predominantly from the previous workforce, which they then sent to Japan to learn Toyota’s manufacturing approach: heavily emphasizing teamwork, rethinking the assembly line by having workers perform multiple tasks rather than just one, and putting each teammate in charge of another — such that every teammate both managed and was managed by an equal. If that sounds starkly different to the Scientific Management that Henry Ford introduced, that’s because aside from merit-based raises, it’s the total opposite.

So what were the results of this crazy new approach? The year Nummi reopened, it became GM’s most productive manufacturing plant.

Awesome, right? GM certainly didn’t think so. Or at least it didn’t make the new approach a standard. Which may seem strange until realizing that companies filled to the brim with the smartest people in the world like Amazon and Apple also ignored Nummi’s success to instead scratch their heads and try to figure out how to simplify jobs even more. So what gives?

Well, macroeconomics on this scale is trickier to read than a broken crystal ball. What I suspect is that these really smart people are mapping success in one field to other fields which may or may not be related.

And perhaps the rest of my tale can give some insight on that.

***

After ending the call with my dad and creeping back to my cubicle in Boston, I got right back to work. If these idiots are my competition, I thought, I’ll get a raise and a promotion in no time. So I worked my bushy tail until it nearly fell off. Almost every day, my boss and project manager would compliment me on my productivity and let me know how appreciated I was. Secretly, they would confide in me how they wished other employees shared my gusto. The higher-ups they’d introduce me to would always shake my hand and tell me how I was the one they’d heard so much about. And occasionally, I’d meet a politician whose eyes would light up and say, so YOU’RE the kid that won me the election.

And after all that, after all the votes were cast and the yearly reviews delivered, what did I have to show for it? A lot of praise and a $0.60/hour raise, bringing me to the ripe rate of about 40% below market value. That wasn’t what I’d worked so hard for. Promptly, I switched jobs and nearly doubled my salary.

Now, working at a search engine in California, I thought things would be different. Watch out Moon, the sky isn’t my limit! Here would be plenty of opportunities to showcase my skills. My hard work would pay off. Right?

Wrong. You know what they say if you can’t beat ‘em? Soon I joined the dark-side, spending the majority of my time at work, like my fellow engineers, not actually working. Churn was high amongst talented fresh-graduates eager for actual challenges to test their Stanford degrees.

And what was to blame? We were a company that made a boat-load of money but didn’t have many problems. By all accounts it was great. There was a lot of work no one particularly wanted to do, and we could afford to hire more people to shove it on.

My manager at the company was outstanding. The best boss I’d ever worked for. Maybe the wisest person I’ll ever work with in my life. He knew we had a lot of work no one really wanted to do, so he tried to make sure no one was doing too much of it. He started every conversation off with: tell me what you want to do. One day, I told him I wanted to move on. He asked me why. I didn’t have an answer. Anyway, I said I wanted to do something bigger — whatever the hell that is.

Right then and there, I knew leaving the company would be a mistake. No matter how hard I looked, the problem wasn’t with the companies or the employees, it wasn’t with my managers or CEOs. Mainly it was that I didn’t want to sit at a desk for 40 hours if there wasn’t 40 hours of work I wanted to do. I didn’t know that yet, and even if I did, I still might have moved on. After I finally did, to no surprise, I found things to be much, much worse.

At my shiny new mid-sized startup, not only were the employees the typical zombies that only roll out of bed to collect paychecks, but every step of the development process was carefully designed to address that programmers are EXACTLY this. How, I thought, is software engineering consistently rated the best job in the US if this is what it’s like? And when I re-Googled the ratings to make sure I hadn’t been misreading the polls all these years, what I saw was a career in decline. Consistently, software engineering had fallen down the ranks — from a near-permanent spot at #1 between the 90s and the mid-noughts to #8 by the mid-teens.

What could be the reasons for the fall? Well, jobs like dentistry could’ve suddenly gotten much more fun, or maybe technology has made them less stressful compared to engineering. Or maybe the growth in engineering jobs has added a lot of undesirable positions that are pulling down the rankings. Or it could be bad polling. Or anything, really.

But, from speaking with several developers who coded through the wonder years of dotcom, I suspect that the McDonald’s-ification of software development — popularized by Agile consulting firms over the last decade — is to blame.

And, strangely, I believe this because of the California Milk Campaign. Why? It was wildly successful at convincing consumers to change spending habits with the common sense slogan: Happy cows make happy cheese. If you ever came across the slogan, you probably thought something like: that sounds about right. Subliminally, you thought: If I was happier at work, I’d do a better job. And if that were the case and you happened to be a software engineer then you’d write better code, too.

And since engineers aren’t happy and satisfaction with engineering jobs is on the decline, what does that mean? What’s the effect on code quality and overall production? What are the consequences for consumers of technology in general? Given all the advances between dotcom and now, it’s impossible to measure this in the necessary vacuum. But it’s safe to say that, for the industry, it’s not good — or at least it could be better if engineers were equally content.

When I ask engineers why they’re unhappy, which no surprise is the majority of the ones I know, the answer is almost universal: I’m not actually engineering solutions to any problems, I feel worthless, work is boring/tedious/non-rewarding, etc…

Contrast this to the dumbfounded responses of startup founders I introduce the concept to. There wouldn’t be a hiring crisis, they say, if there wasn’t work to be done. They wouldn’t be hiring if they didn’t have bigger problems than their engineers could solve.

So why the disconnect?

By introducing Scientific Management to software development, complexity isn’t reduced. What’s stripped from the bottom is accrued at the top, leaving project managers and software architects overloaded with work, and everyone else underloaded. For every hair pulled out by the engineering manager in stress, six of her subordinates are aimlessly upvoting cat pics on Reddit.

But worse than merely wasted time is that all of the ownership is put in the hands of a few people — the ones most burnt out, the most sought after by poaching recruiters. And worse still than that is how careless it causes engineers lower in the ranks to become. We always treat things we own with the most care. When engineers are working on code they don’t own, they’re generally careless. And if there’s one thing I’ve learned from the five tech companies I’ve worked at, the dozens of projects that I’ve worked on, the hundreds of people I’ve worked with — it’s that the one thing engineers need to be happy is to care about what they’re doing — the code they’re maintaining and writing.

So given that, why have we moved nearly all coordination, creativity, and ownership into the hands of a few? It’s not necessarily to make engineers more profitable, nor is it to drive down wages, or minimize bugs, or improve estimations. It’s certainly not to make engineers happier. No, Digital Taylorism came about to address the fact that engineers churn. And if they do leave when they own something that only they know, then YOU get screwed.

But what if this managerial approach is exacerbating the problem? What if taking a complex job like engineering and trying to turn it into the mindless equivalent of flipping somone else’s burgers doesn’t work? What if taking all of the creativity out of an intrinsically creative job is the reason engineers keep searching for other employers like the famously ennui protagonists of a Hemingway novel traveling from place to place in search of happiness — only to find the problem isn’t location, it’s within.

Digital Taylorism preaches that engineers MUST be replaceable because they WILL quit. But maybe trying to make engineers replaceable, mechanical parts is what’s making job satisfaction in the tech industry slowly approach that of fast-food. Maybe the reason fast-food workers are so largely dissatisfied with their careers goes beyond just being paid non-livable wages. What if they don’t like being treated like a cog in a machine any more than anyone else? What if all they want is a little bit of freedom to put a ketchup smile-y overtop the cheese? Could it be that it’s a bad idea to reduce engineers to robots who ask: “Would you like apps with that?” I mean, do you really want your future-self commuting daily in a self-driving car coded by people who don’t care if you make it to work or drive off a cliff?

And, speaking of cars, remember that terribly unproductive Nummi plant that shut down and rose from the ashes to become the most productive manufacturing facility in the US? GM sold that plant. Any idea why? Tesla Motors wanted it, because to make the best cars, you need the happiest workers.

If I know one thing, it’s that happy workers don’t churn. Just look at CostCo and Trader Joe’s — two companies in industries with a staunchly dissatisfied workforce who have managed to, by treating employees well, become very successful. Maybe the fact that their employees are happy, loyal, and highly productive is a coincidence. But probably not.

Mama always told me, you can’t fix what ain’t broken. For this reason, happy employees stick around. Of the satisfied engineers I know, the majority of them have one thing in common: they’ve been at one place for a long time, which has gotten them a lot of ownership. So instead of basing our entire mindset on that fact that engineers will quit, maybe we should address the reasons why they do. Maybe if we make engineers happy, we’ll solve the problem of retention.

Because here’s one last thing I know. If I’m an astronaut ready for take off, I’m praying to myself: I sure hope happy engineers built this rocket, because I sure as hell don’t want to miss the Moon.