Most Software Dev Jobs Are Bullshit Jobs(medium.com) |
Most Software Dev Jobs Are Bullshit Jobs(medium.com) |
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."
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/..
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.
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.
"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."
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.
Too bad most programmers are allergic to collective labor action.
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!
The co-option of that by the forces of capitalism is much of what the author is complaining about.
Btw I have 30 days of paid vacation per year (which is not unusual in Germany).
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.
But.. I totally struggle with keeping a life aside to 40-60h work aswell so I wont blame her - I feel the same.
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.
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.
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.
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
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?
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.
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.
[1] https://www.amazon.com/dp/B006M2PJV0/
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.
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.
Nowhere is this more true than Silicon Valley.
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.
|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.
Yours is a knee-jerk reaction.
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.
> 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".
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...
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.
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.
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.
Both are rich countries. Socialism has a much stronger influence in Sweden.