Hacker News new | ask | show | jobs
Most Software Dev Jobs Are Bullshit Jobs (medium.com)
59 points by Tangiest 3122 days ago
18 comments

This article assumes that every developer works for an SV-style start-up that requires 80 hour weeks building trivial things. I work in the medical industry, rarely work more than 40 hours a week, take six weeks of vacation a year, and can generally feel okay about my output actually helping people lead better lives.

Of course, yes, sometimes I do a lot of BS things at my job. However, as another comment has already noted, there are few jobs that include some sort of BS at some point. That is why it is called "work."

I really don't think it's about doing some "BS" or annoying things at work.

It's about creating products(in this case software) that are utterly useless to the world. That maybe even make the world a worse place over the long run.

It's about products that nobody would miss if they wouldn't exist.

It's about the 1000th clone of some app that offers some wannabe feature plus social networking.

The problem is not software alone.. our world is full of shit products no one really needs. But in software you don't need to cut down trees or mine ore.

You just have endless resources.. which increases the crap output by a lot.

EDIT: Oh and I'm sure not every software dev job is useless/boring/..

> But in software you don't need to cut down trees or mine ore.

Lets not forget the dictators with child soldiers that use forced labour to mine the rare earth materials & the factories with nets to catch the workers that attempt suicide, which are a part of making computers & mobiles that is vital for software development. Also, where our old devices & batteries end up. Softwares do rack up a huge carbon foot-print.

> EDIT: Oh and I'm sure not every software dev job is useless/boring/..

No but re implementing the same bit of logic for the hell of it, although it might be satisfying for one, is pretty silly in the long term.

The article explicitly says that she is talking about a typical 40 hour work week.

"Sorry, you can’t exercise to make up for sitting or standing at one place for 40 hours a week.

Also I’d like to have kids myself. I respect people who want to do the 40-hour-work-week and kids, but I can’t imagine doing that myself."

As someone that used to work in healthcare and left after my company was bought out by a multi-national pharma, if you’re contributing to the American healthcare system you are likely doing extremely evil things everyday if you account for opportunity cost.

Sorry, raise our bar. There’s no way to “do good” in the American healthcare system unless you are attempting to break it down and re-make it.

Software development has proven methods for organizing labor by labor instead of by the whims of the owning class. The most useful software in the world is developed by an ecosystem of communities that resembles anarchist, communist ideas of how society at large could operate. Because of the unique capital requirements for software development, cooperative firms are more viable than in any other industry. We could be doing our work in radically different ways.

Too bad most programmers are allergic to collective labor action.

"Socialism never took root in America because the poor see themselves not as an exploited proletariat but as temporarily embarrassed millionaires."

Nowhere is this more true than Silicon Valley.

Kind of ignores the fact that socialism did take root, like Eugene Debs running for president, but it was violently uprooted and the ground was torched and salted and a massive state apparatus was developed to make sure it could never be entertained again.
Someone running for President multiple times and never clearing either a single electoral vote or more than 6% of the popular vote is certainly evidence of their personal determination, but hardly evidence of them representating a philosophy that had taken root.
If Eugene Debs running for president proves that socialism did take root, how do the later runs of Norman Thomas not argue against the torching & salting?
I think that Americans are extremely optimistic. It seems that many Americans believe in fate, at least on a subconscious level; that everything happens for a reason and that everything will work out in the end.

Maybe it's related to the kinds of movies that Americans watch? I love watching Hollywood movies sometimes, but I have to say that compared to international films, the characters in American movies tend to be much more one-dimensional (have very well defined roles) and everything always works out for them in the end.

If you watch European movies, the characters are often hard to pin down and the story often ends either badly or unsatisfying at best... Just like real life.

Then why just go outside and experience your unsatisfying life instead of paying to see a movie about it?
That way I can learn about all the other ways in which life can go wrong.
This implies the poor are better off under socialism than as lower class in a rich country.
If you know what socialism is, then you would know that they would indeed be better off.

It's simple really, eliminate this concept of capital ownership by individuals or corporations. That way, when you work, your boss is not getting a profit on top of your labor. That means your wages go up! Best thing of all, whatever your participating in, you have part ownership in.

It'll surely work this time!
We need a marriage of systems... where private co-ops own the corporations..they set supply/demand based on market considerations just like capitalism -- but everyone shares in the profits.

Full capitalism/Full socialism isn't the answer...there's got to be some sort of middle ground where more people can be lifted up by the system.

Well, capitalism doesn’t quite work either. But people seem to prefer it for some reason....
Would you rather be poor in the US, or poor in Sweden?

Both are rich countries. Socialism has a much stronger influence in Sweden.

  |Too bad most programmers are allergic to collective labor action.
Because there are plenty of real-world examples in other industries of the end state of "collective labor action", and it's generally not pretty.

We as an industry really do not want to emulate that model.

Our industry already bases a massive amount of its work on models of such collective labor. Software development has unique structural characteristics that make it fertile ground for experimenting with different organizational models.

Yours is a knee-jerk reaction.

Seems like you're combining two different things.

> Our industry already bases a massive amount of its work on models of such collective labor.

By this, I presume that you mean open source software, though you don't explicitly say so. And yes, it's true, open source software is... somewhat socialist? Somewhat collectivist? It's not normal capitalism. It's the workers coming together to produce something that corporations don't own and don't control.

> Too bad most programmers are allergic to collective labor action.

When you speak of "collective labor action", though, I presume (perhaps wrongly) that you're talking about unionization. That's a very different topic. You can't use open source software to say that software's ready to strike or take over the factories, because those are two very different uses of "collective labor".

> When you speak of "collective labor action", though, I presume (perhaps wrongly) that you're talking about unionization.

This was the assumption I took as well in my original reply. Sure, the work of OSS is kind of a socialist/collectivist arrangement. However, at any significant scale, I feel like that's going to break down if taken too far.

Look no further than one of the biggest OSS projects on the planet: Linux. It's run dictatorship-style by a not always personable technocrat. Take that away, and it's probably a disaster.

To return to the original point: if it indeed referred(action) to unionization, then I'm pretty comfortable in saying my reaction is not "knee-jerk", it's wholly informed and justified.

I've had many friends/family/acquaintances work under the union framework. You don't want that model anywhere near software development, or IT in general.

This is an entirely plausible scenario:

Your team needs to deploy a critical bugfix to prod, except, see, per the union agreement, only Frank is allowed to do software deploys. As it turns out, Frank's on vacation this week. Tough shit. You push through and do it anyway, Frank files a grievance, your company gets fined/taken to court etc...

Even worse, maybe Frank is an incompetent waste bag who breaks everything he touches. Problem is, he's union, and he's been here ten years. You do 10x the output of Frank, and generally have to clean up his messes. Did I mention he makes more than you too? Union...

> Look no further than one of the biggest OSS projects on the planet: Linux. It's run dictatorship-style by a not always personable technocrat. Take that away, and it's probably a disaster.

He literally can't run it like a dictatorship. A dictator has an army to coerce you into doing what he wants. If a large portion of the people who work on Linux no longer want to work with Linus, there is no police or army that will prevent them from leaving and working on their own version of Linux.

This is very different from the fanciful idea that's sometimes said that because we can choose who we work for that means we aren't being coerced. Linus does not own any special means of production that are necessary for developing Linux. At the end of the day, Linus is in charge of Linux because people choose to follow him, because he's effective as a leader.

Beyond that, the way work is done on Linux does not get routed through Linus as they would be in a dictatorship. The way people write patches is organized as the writers see fit. They form affinity groups and write patches for their own motivations. Linus' ultimate role in Linux is to put his seal of approval on what is proposed to be added to the main repository. Why is it main? It's not decided by legality or force, but by everyone recognizing it as the main repo for Linux. Why does he give his seal of approval? Because people want it.

Anarchist communism most certainly does not preclude leadership or organization. It is the radical idea that leadership and organization do not have to be based on coercion or domination by one person over another. Linus does not maintain his position by brutality against others. Because of the special circumstances of software development, we can achieve this ideal of freely associated work for the good of all far more easily than in other industries.

As for unions, unions were what got us, for example, an end to child labor and an 8-hour work day. The idea of a union is far more expansive than the legally strangled, government sanctioned version of a union. I agree with you that unions as they exist today can be, well, stupid. They are through-and-through capitalist burueaucracies: One more lever to maintain the control and ownership of the means of production in the hands of the few.

There are a few reasons why. The major reason is because the government, which sides with owners more often than labor, decides what a union can be these days. You need a full-time lawyer in order to form a union because the rules are so abstruse and byzantine. Unions used to be illegal, and they were far more radical and powerful when they were! Anyone could form a union in that old sense-- and then risk being shot for challenging the way things are done.

Another reason is that when unions make agreements with businesses, usually they both agree that there can only be one union at a business. This is obviously a terrible idea. It's also a direct contradiction of anarchist principles for collective labor in particular free association. What happens at one union shops is quite good evidence that free association is important to avoid stupidity at work.

Another point against most unions as they exist today is that even if they are nominally democratic, the power and resource asymmetry between the leadership (who control the purse strings of the union) and any challengers means that they are basically run like a shitty corporation. Again, in contradiction of anarchist principles: Resources to do work should be made available to everyone.

At the end of the day, if your problem with unions is that they A) Force you to do your work in stupid ways and B) Unfairly distribute resources to people who don't deserve them then your criticisms exactly apply to bosses and investors that run software shops and that we have to listen to because they have money and we need money to not starve. The inflexible stupidity of union rules is quite the same as the stupidity of capitalism in general.

But clearly software doesn't need to be done like that.

The knee-jerk I'm talking about is like when I say "collective labor action" you think "bureaucratic swamp of rules and coercion that tells me what to do" when very much more is possible. It's also when you think Linus is a dictator even though his position is maintained by anything but dictatorial methods. We clearly have different ideas associated to these words. I can't quite convince you to adopt my definitions, but I'd like it if you at least find your own words for what I'm trying to get at.

What makes something "the most useful software in the world"?

There's a bunch of useful software which isn't run that way: Microsoft {Windows, Word, Excel, PowerPoint}. The software which runs Facebook, Google search, and Google's YouTube. iOS.

How much does Google Chrome development "resemble anarchist, communist ideas"? Or Android, for that matter.

Minix is in every modern Intel processor, but I also don't think it was developed by the ecosystem you describe.

I'm in the early stages of setting up a co-operative consultancy; I've found many people (eg potential partners) responsive to such an idea. The only downside has been needing to present as a traditional, hierarchical organization to potential clients.
This article says nothing about how software engineering is a "bullshit job". Her only point that comes close is that she once worked at a job where she was building a pointless website, but that only makes her job in that instance "bullshit".

Look all around you and you see almost endless ways that digital systems are transforming and running our lives, every single one of those needed to be engineered, designed and tested by someone, which could have been a software engineer. I think it wouldn't be an overstatement to stay without software engineers our modern life would be impossible.

I often hear complaining that they are going to leave software engineering because of a flawed list of problems, while the real problem lies in their perception of what the profession should be.

IMO software engineering is about solving challenging technical problems, and not necessarily what is created in the process. A lot of what a software engineer does is not apparent in the end result, but is absolutely necessary to get those programs, systems or applications running.

I think there are far worst professions out there, which in comparison achieve so little to SWE.

Working hours does not make any job a "bullshit" one, and the working hours and the pay grade of a SWE are obviously far better than most job. The parts of the article talks about SWE from a completely biased and personal view, which almost have no value to the reader.

I'm surprised that such article would even be by on HN's first page!

I have had about 10 jobs in my life. About half of them were specific to my career. I have found that I am happier building things that the author might consider "bullshit" (relative to my interests) compared to working on things that I am passionate about. When I have a job doing what I "love", someone inevitably takes a steaming shit on the thing I created and forces me to break it in some stupid way. I would rather do the things I love on my own time so that I don't have to compromise my work to keep food on the table.
> my own time

The co-option of that by the forces of capitalism is much of what the author is complaining about.

Melissa McEwen is spot on. I have had 30h jobs software development jobs for the last 7 years. I make enough money as-is and see no reason to switch to 35h or 40h. I'd rather see my kids more. The only reason to work more would be do found a company again.

Btw I have 30 days of paid vacation per year (which is not unusual in Germany).

The author comes close to making the more obvious leap to "Most Jobs Are Bullshit" but for some reason doesn't quite make it there. But unless you'd like to forage for sustenance in the woods, I'm not sure we have much of an alternative... and at least some dev work is mildly interesting.
They don't make the leap because they link to the original Graeber article which makes that point in general.
I saw that, but it seems like that makes writing this piece superfluous - unless it's just to clarify that software dev is part of the 'most jobs' and not the few, non-bullshit ones.
Something happened around the time computer programmers started calling themselves "engineers" -- they became self-important. And in doing so, convinced others that they are indispensable.

I tell people, if you don't have a flashing light and a siren, your job is not that important.

My employer tethers me to a work cell phone that I never ever use. Why? In case the web site goes down while I'm not at work. Except that the site is on an intranet. And the entire company is 9-5. If I'm not there, nobody else is there, either, to see if the site has crashed. But somewhere along the line, coding became more mission critical than it really is.

Most of her claims are true for all 40h full-time jobs, which is the majority of all jobs. In that logic, nobody would have kids.

But.. I totally struggle with keeping a life aside to 40-60h work aswell so I wont blame her - I feel the same.

In software it is more true than any other industry. The software we develop has the power to be leveraged across all industries. Much like the wheel, it should not be constantly re-invented.

I truly feel like most software development should be done via autonomous software partnerships not unlike law firms. There would be so much less waste, and I imagine it would be a huge boost to the economy. We don't need any more eye-grabbing, social-media-connected, neopet apps people. Software engineers are building useless and inane shit because that's how incentives work under capitalism. It's a shame.

The article barely touches on the bullshit factor. Sure every workplace has BS people have to deal with, that doesn't matter if it is a tech company.

I would venture a guess that the majority, perhaps vast majority (i.e. 75% or greater), of software development jobs are doing CRUD with data in a RDBMS. Even if you work on UI/front end, its still a CRUD app.

There's nothing wrong with that, just call it what it is. We (the majority) aren't progressing the science part of computer science in any way really. We are making some set of problems easier to be accomplished/solved. They may be data sets in interesting industries or enabling things like health care or medical research but CRUD apps aren't revolutionary.

If anything we are making things more complex with a glut of new shiny tools and abstractions that don't do things that much differently than 15 years ago. The sheer amount of dependencies some tool/frameworks require is mind boggling for basically sending text around over the internet and storing it on disk somewhere. Yes we all like to mock the way the web looked 15 years ago but is the tech underneath drastically different?

I feel like we tend to paint ourselves into a corner sometimes with the tech/tools and then end up remodeling the house to finish painting the room. That is definite BS.

This article brings up a common theme, people don't want to work 40 hour weeks. I see nothing wrong with that sentiment, but I also don't see any wrong with a 40 or 60 hour work week.

Every person on this planet needs to decide how they want to spend their time and the quality of life they want to have. If you want to work fewer hours you will have less money. It's pretty simple.

If you want to do that good for you.

I agree that the link with SWE is not so apparent, but there is and it's a subtle one:

as software engineering, we take pride in researching and leveraging the best and latest to solve our challenges. Time management included. And yet we systematically end up working in overburdened teams and overdue projects.

We surrounded ourselves of IDEs, instant messaging platforms, calendars with reminders, automation and all sort of stuff to be more productive.

And the agile methodologies! The holy Scrum/Kanban! How much time we dedicated to People Management, Release Management, Sprint Planning and the like.

Our schedules should be bulletproof.

And, yet, we work at least 50 hours per week with continuous surprises from the managerial perspective due to disorganization. And we tolerate all of this because we have been told it's heroic, instead of beheading the profitering gluttons that come up with the usual "goodmorning, this unannounced thing must be delivered tomorrow".

This is the bullshit. The cultural hysteria that sacrificing our health and free time is necessary due to some kind of higher purpose

> And the agile methodologies! The holy Scrum/Kanban! How much time we dedicated to People Management, Release Management, Sprint Planning and the like.

The problem is, you need to do some planning. The question is, what's the way of doing planning that takes the least amount of time and effort, and still gets done what needs done?

The metodologies and all of the aforementioned tools are fine. But instead of using them to stay in the schedules with less, we used them to make more in the same amount of time. We pursued efficiency ("more with less") and profit instead of keeping the profits constant and give more free time to people. In other words, economic growth demand eroded the margin that we gained through these efficiencies.
To many people your job looks like BS, but it isn't because someone clearly values the fact that you are where you are and is willing to pay real money for it.

If you think your job is BS, then do yourself a favor and work hard towards moving to a job that you do not think is BS.

Other people's opinions are like the tides and the wind - sometimes they bode well and sometimes they don't.

I think if I had had an easy out I might have left the profession. But I didn't and so I've done a lot of somewhat scary but ultimately really rewarding things: took the hardest jobs I could get, then went out contracting, then founded a start up myself, then got into AI. My career has been fascinating and fun, with some genuine difficult patches. I'm grateful I didn't have a family farm to escape to.
So she wants people to work less and get paid more? To work on stupid things, that aren't critical? And someone is willing to pay a lot of money for you to do that?

Also, her idea that getting paid well means nothing because there are people who make more money left me scratching my head.

No, I think she is saying that if 20% of the software we develop is important lets stop working on the 80% that isn't and instead work 1 day per week on the important stuff and get paid the same amount. In theory this makes sense, but I think it is a massive oversimplification.
> Also, her idea that getting paid well means nothing because there are people who make more money left me scratching my head.

I think her point was that working (especially long hours) has costs: childcare, restaurant food if you're limited on time to cook, transportation costs, work-appropriate clothing, etc. So while you're being paid "well", you may ultimately be better off working less and being paid less.

So sitting AND standing are both out. Now what? Walking desks? Neutral buoyancy fluid desks? Supine desks?
Maybe just less hours in total at a desk (aka work)? I think that was the point she was trying to make.
Walking[1] and supine[2] definitely exist. Neutral buoyancy almost exists[3].

[1] https://www.amazon.com/dp/B006M2PJV0/

[2] https://www.wired.com/2015/10/altwork-desk/

[3] http://www.thinkgeek.com/product/jtpo/

Anecdotal, but I have been walking to work for the past 2 months and it helps a lot. I get around 12km of walking and 2 hours of exercise out of it.

It has helped a lot to balance my sleep as well since I'm usually too tired to stay up late. I highly recommend it to anyone who works long hours behind a desk.

Walking desks?

Missed the treadmill desk fad, did we?

In case you really did, yes, that was a thing. Take a treadmill, put a board across the handholds to hold your laptop, start coding.

reminds me of this college humor episode: https://www.youtube.com/watch?v=fu3holG7M7I
Is there not a little bit of irony in someone writing this and then posting it on Medium?
workers of the world unite!