Short disclosure, I work as a Software Developer in the US, and often have to keep my negative opinions about the tech industry to myself. I often post podcasts and articles critical of the tech industry here in order to vent and, in a way, commiserate over the current state of tech and its negative effects on our environment and the Global/American sociopolitical landscape.
I’m generally reluctant to express these opinions IRL as I’m afraid of burning certain bridges in the tech industry that could one day lead to further employment opportunities. I also don’t want to get into these kinds of discussions except with my closest friends and family, as I could foresee them getting quite heated and lengthy with certain people in my social circles.
Some of these negative opinions include:
- I think that the industries based around cryptocurrencies and other blockchain technologies have always been, and have repeatedly proven themselves to be, nothing more or less than scams run and perpetuated by scam artists.
- I think that the AI industry is particularly harmful to writers, journalists, actors, artists, and others. This is not because AI produces better pieces of work, but rather due to misanthropic viewpoints of particularly toxic and powerful individuals at the top of the tech industry hierarchy pushing AI as the next big thing due to their general misunderstanding or outright dislike of the general public.
- I think that capitalism will ultimately doom the tech industry as it reinforces poor system design that deemphasizes maintenance and maintainability in preference of a move fast and break things mentality that still pervades many parts of tech.
- I think we’ve squeezed as much capital out of advertising as is possible without completely alienating the modern user, and we risk creating strong anti tech sentiments among the general population if we don’t figure out a less intrusive way of monetizing software.
You can agree or disagree with me, but in this thread I’d prefer not to get into arguments over the particular details of why any one of our opinions are wrong or right. Rather, I’d hope you could list what opinions on the tech industry you hold that you feel comfortable expressing here, but are, for whatever reason, reluctant to express in public or at work. I’d also welcome an elaboration of said reason, should you feel comfortable to give it.
I doubt we can completely avoid disagreements, but I’ll humbly ask that we all attempt to keep this as civil as possible. Thanks in advance for all thoughtful responses.
Tech workers need to unionize
This is more than self interest, self respecting tech workers would have refused to create our current panopticon-skinnerbox if they weren’t at the mercy of the tech lords. Seniority based hiring and firing, that has to be demand number one, number 2 is layoff recall lists 5 years long.
For many real world, day to day tasks, computers and the software that ran on them were faster and easier to use 20 years ago.
I hate so much that this is true. How did we manage to go so far backwards despite an army of UX designers? Oh wait…
But seriously it’s all this bullshit driven by engagement and weird metrics no one likes. For some reason even our ticketing system at work is built like it’s supposed to hold my attention rather than be a purpose-built tool for making my job easier.
And it’s because the same designers are building ticketing systems as are building the other apps.
I was using my school’s website the other day and had a similar thought. I remember waiting a similar amount of time for many pages to load back in the dialup days. Why is it so slow to load a page that just shows some text and buttons??
It’s all trash. Everything normal people use on a daily basis is pure dumpster fire level garbage with massive, HEINOUS, unforgivable amounts of tracking built in.
They know all of this. They just don’t care.
MOBILE USERS CAN GO FUCK THEMSELVES.
Phew. That felt good.
Only one in this thread willing to talk about the real problems.
A lot of what is sold to consumers is straight up shite.
No class consciousness. Too many tech workers think they’re rugged individuals that can negotiate their own contracts into wealth.
Working for free on nights and weekends to “hit that deadline” is not good. You’re just making the owners rich, and devaluing labor. Even if you own a lot of equity, it’s not as much as the owners.
And then there’s bullshit like return to office mandates and people are like “oh no none of us want to do this but there’s no organized mechanism to resist”
Join Tech Workers Coalition
We need to be able to talk about unionizing without fear of repercussions.
Are you a member? How is it?
There’s no formal membership but yeah, I’ve been involved in it for 6 years. It depends a lot on the chapter you’re in, so some are more oriented towards community building and socializing, some others are more focused on direct organizing support or political stuff. In each country the legal framework, the political landscape, and the culture are different, so chapters end up looking very different from each other.
Gotcha, all that makes sense. 6 years seems like a good sign. Thanks for the info, definitely checking the org out.
A very large portion (maybe not quite a majority) of software developers are not very good at their jobs. Just good enough to get by.
And that is entirely okay! Applies to most jobs, honestly. But there is really NO appropriate way to express that to a coworker.
I’ve seen way too much “just keep trying random things without really knowing what you’re doing, and hope you eventually stumble into something that works” attitude from coworkers.
I actually would go further and say that collectively, we are terrible at what we do. Not every individual, but the combination of individuals, teams, management, and business requirements mean that collectively we produce terrible results. If bridges failed at anywhere near the rate that software does, processes would be changed to fix the problem. But bugs, glitches, vulnerabilities etc. are rife in the software industry. And it just gets accepted as normal.
It is possible to do better. We know this, from things like the stuff that sent us to the moon. But we’ve collectively decided not to do better.
Main difference is, a bridge that fails physically breaks, takes months to repair, and risks killing people. Your average CRUD app… maybe a dev loses a couple or hours figuring out how to fix live data for the affected client, bug gets fixed, and everybody goes on with their day.
Remember that we almost all code to make products that will make a company money. There’s just no financial upside to doing better in most cases, so we don’t. The financial consequences of most bugs just aren’t great enough to make the industry care. It’s always about maximizing revenue.
maybe a dev loses a couple or hours figuring out how to fix live data for the affected client, bug gets fixed, and everybody goes on with their day.
Or thousands of people get stranded at airports as the ticketing system goes down or there is a data breach that exposes millions of people’s private data.
Some companies have been able to implement robust systems that can take major attacks, but that is generally because they are more sensitive to revenue loss when these systems go down.
I’m not sure if you’re agreeing or trying to disprove my previous comment - IMHO, we are saying the exact same thing. As long as those stranded travelers or data breaches cost less than the missed business from not getting the product out in the first place, from a purely financial point of view, it makes no sense to withhold the product’s release.
Let’s be real here, most developers are not working on airport ticketing systems or handling millions of users’ private data, and the cost of those systems failing isn’t nearly as dramatic. Those rigid procedures civil engineers have to follow come from somewhere, and it’s usually not from any individual engineer’s good will, but from regulations and procedures written from the blood of previous failures. If companies really had to feel the cost of data breaches, I’d be willing to wager we’d suddenly see a lot more traction over good development practices.
… If companies really had to feel the cost of data breaches, I’d be willing to wager we’d suddenly see a lot more traction over good development practices.
that’s probably why downtime clauses are a thing in contracts between corporations; it sets a cap at the amount of losses a corporation can suffer and it’s always significantly less than getting slapped by the gov’t if it ever went to court.
I’m just trying to highlight that there is a fuzzier middle ground than a lot of programmers want to admit. Also, a lot of regulations for that middle ground haven’t been written; the only attention to that middle ground have been when done companies have seen failures hit their bottom line.
I’m not saying the middle ground doesn’t exist, but that said middle ground visibly doesn’t cause enough damage to businesses’ bottom line, leading to companies having zero incentive to “fix” it. It just becomes part of the cost of doing business. I sure as hell won’t blame programmers for business decisions.
It just becomes part of the cost of doing business.
I agree with everything you said except for this. Often times, it isn’t the companies that have to bear the costs, but their customers or third parties.
That’s why I don’t work on mission critical stuff.
If my apps fail, some Business Person doesn’t get to move some bits around.
A friend of mine worked in software at NASA. If her apps failed, some astronaut was careening through space 😬
Yup, this is exactly it. There are very few software systems whose failure does not impact people. Sure, it’s rare for it to kill them, but they cause people to lose large amounts of money, valuable time, or sensitive information. That money loss is always, ultimately, paid by end consumers. Even in B2B software, there are human customers of the company that bought/uses the software.
The tech industry is so very capitalistic, so many companies see devs as min max churn machines, tech debt? Nah FEATURES! AI! MODERNITY! That new dev needs to be trained in the basics and best practices? Sorry that’s not within scope
Managers decided that by forcing people to deliver before it’s ready. It’s better for the company to have something that works but with bugs, rather than delaying projects until they are actually ready.
In most fields where people write code, writing code is just about gluing stuff together, and code quality doesn’t matter (simplicity does though).
Game programmers and other serious large app programmers are probably the only ones where it matters a lot how you write the code.
Kind of the opposite actually.
The Business™️ used to make all decisions about what to build and how to build it, shove those requirements down and hope for the best.
Then the industry moved towards Agile development where you put part of the product out and get feedback on it before you build the next part.
There’s a fine art to deciding which bugs to fix win. Most companies I’ve worked with aren’t very good at it to begin with. It’s a special skill to learn and practice
Agile is horrible though. It sounds good in theory but oh my god its so bad.
It’s usually the implementation of Agile that’s bad.
The Manifesto’s organizing principles are quite succinct and don’t include a lot of the things that teams dislike.
We follow these principles: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
I read somewhere that everyone is bad at their job. When you’re good at your job you get promoted until you stop being good at your job. When you get good again, you get promoted.
I know it’s not exactly true but I like the idea.
They call that the Peter Principle, and there’s at least one Ig Nobel Prize winning study which found that it’s better to randomly promote people rather than promote based on job performance.
I don’t want to get promoted… Once my job isn’t mainly about programming anymore (in a pretty wide sense though), I took a wrong turn in life 😅
maybe not quite a majority
VAST majority. This is 80-90% of devs.
I think it’s definitely the majority. The problem is that a lot of tech developments, new language features and Frameworks then pander to this lack of skill and then those new things become buzzwords that are required at most new jobs.
So many things could be got rid of if people would just write decent code in the first place!
deleted by creator
The Microsh*t Office Suit is atrocious — both from a Software Dev and ordinary user perspective. Literally any alternative is better, Libre Office, Google Office, etc.
Word is bloated, slow, impractical, bad for collaboration, and politically dubious. Teams is buggy, impractical, also politically dubious, and lacks many basic features. At this point, I literally despise Microsoft. Also Windows really seems to be unusable, from the enlightened perspective of a Mac or Linux user (in my case the latter).
SystemD is bloated and stopping Linux from getting faster.
Most mainstream programming languages suck, Rust being the exception.
Alright, I’m done ;)
Edit: any website that breaks because of uBlock Origin medium mode is poorly made and not trustworthy. /endrant
There is two types of languages, ones people bitch about, and ones nobody uses.
What sucks the most about rust is that 90% of rust jobs are some crypto bullshit. I love the language, but finding normal jobs is near impossible.
At the same time, i could find 20 Go positions but Go just isn’t exciting. It’s the new java imo, working with it probably good for job security, but i just don’t see myself working in Go in the future as a main language.
Thoughts on rust? Is it a good programming language to learn as a beginner?
Fuck no. A beginner learning base concepts like arrays, conditionals, loops, variables, functions, etc. should use something much less punishing like Python. It’s much easier to iterate, to understand your mistakes, and to learn from others when you use a simpler language.
When you’re ready to learn about pointers, memory management, etc. then you can take on Rust.
Yeah, ok makes sence thanks!
I love Rust but specifically for a beginner it could be challenging. Have you learned any other languages or would it be your first?
I am a python beginner it would probably be a good idea to get better at python before moving onto something like rust. And if rust is so good is there any reason to learn any other low level language like c or c++ unless you are working on a current project that already uses c or c++?
Hardly controversial I would say.
My office forces everyone to use Microsoft (there’s a lot of Mac and Windows users), and whenever I complain, people get pissed at me. God knows why.
As for SystemD, I think a lot of people think it’s fine and people like me are exaggerating. I guess that’s fine, but non-systemD systems (Void Linux being my favorite) are so much faster, it’s unbelievable.
And then there’s a lot of generic language programmers and business owners, who are very willing to defend their income source. Like everyone I know. (I’m really dying here; I gotta find a cool Rust or LISP company)
As for uBO, it’s a “progress” thing. If using masses of third parties and trackers makes stuff more innovative (not to mention laggy), then it’s good, they claim.
I’m happy to hear that Lemmy shares my opinion though, that’s a little comforting :)
I use Artix Linux with runit as my daily driver. I’ll admit, its very nice, but I haven’t run systemd except on my VPSs for years now, so I really don’t know if it’s slow or not as my point of reference is long gone.
The systemd take is goofy, but everything regarding Microsoft is spot on. Teams is an eldritch horror.
My school somehow broke it, so teahcers and students are on different organisations.
lol your admin is a dumbass I wager
Probably setup two entirely separate tenants
Most of the high visibility “tech bros” aren’t technical. They are finance bros who invest in tech.
Most of them speak the jargon, but can’t explain what it means
companies don’t know how to interview. i don’t need someone to walk me through a sorting algorithm. i need someone who will be responsive, and interested in the problems we actually face.
Also, any number of interviews that is more than one is too many interviews.
not sure i agree with that. I mean ok, i recently had three interviews for a company where each interviewer asked me almost the same questions. That was clearly a waste.
At my place, we do a 30min introductory call with the boss first, to quickly weed out unfit candidates and not waste employee and interviewee time with interviews. if that’s ok, then there’s three interviews of 45-60 minutes, one with the product owner that focuses on soft skills and team fit, one with the team your applying to and one with the other team (like frontend or backend) with more technical things, and also just if you’d like to work with this person.
no amount of interviewing will ever guarantee that things work out and unfit people can slip through cracks. And i hate wasting time in tons of interviews. But i’d also not want to work at a place where i know my coworkers were hired after just 1 hour quick chatting. That so little time to get an idea of a person, to spot any red flags. Heck, the ‘tell me a bit about yourself’ section of an interview is already 15 minutes and not usually very helpful.
Most programmers suck ass, including myself
Fair, but it’s also just a way of saying that programming isn’t a task for humans. (At least not in the correctness aspect)
Partially, it’s not really a job for computers either
Ah, the upside of being autistic. I’ll say anything i believe is true at work or here.
You don’t need to be autistic to do that.
Wait a second…
Much of what we do and have built is overpriced and useless bullshit that doesn’t make anybody better off.
We are inventing solutions and products to manage other solutions and products to manage other solutions and products to…etc etc.
Websites used to be static HTML pages with some simple graphics, images, and some imbedded stuff. Now, you need to know AWS for your IaaS, Kubernetes to manage your scaling and container orchestration for the thousands of Docker containers that you use to compose your app written in some horrific pile of JavaScript related web stacks like NodeJS, Typescript, React, blah blah blah…
Then you need a ton of other 3rd party components that handle authentication, databasing, backups, monitoring, signaling, account creation/management, logging, billing, etc etc.
It’s circles within circles within circles, and all that to make a buggy, overpriced, clunky web app.
Similar is true for IT, massive software suites that most people in the company use 10% of their functionality for stupid shit.
I’m all for advancing technology, I love technology, it’s my job and my hobby.
But the longer I work in this industry, the more I get this sick feeling that we lost the train long time ago. Buying brand new $1,500 laptops every 3 years so that most of our users can send emails, browse the web, and type up occasional memos.
100% agree with everything you said. I used to absolutely love technology and the Internet, but I’m definitely feeling a lot less interested in it all as the years go on.
Being techy I’m often asked to help out with systems / computer related stuff at work, and I just can’t for the life of me fathom why we’ve got 5 different systems all frankensteined together trying to talk to each other, instead of just one fucking system that does it all.
I learned the other day that our company spent something like 100 million on this prototype system that ended up being totally scrapped. We’ve now integrated all sorts of AI shite and switched to Microsoft purely because of Copilot, which, i can honestly say is a flaming pile of utter shit that never does what you need it to.
The whole industry is in shambles at the moment. I wish all this AI and crypto shit would just disappear, along with the majority of programming languages and frameworks, and other bloated bullshit and just take us back to simpler times.
An inability to understand that ‘e-mail’ doesn’t get an S is not how I guessed you work in a lot of Azure.
Few things would make me happier than to never log into an Azure instance ever again lol.
Neither Python nor JavaScript should be the primary language used in any production back end.
Out of interest, why?
Javascript I understand, but why Python?
I don’t agree with Akareth fully, but I’d argue it’s difficult to write correct code at scale without static typing.
100% this would be my reasoning. I love Python for prototyping and personal stuff, but on an enterprise team? There is a reason Java has survived this long.
All software should be open source
All software should be released as a common good that cannot be captured by corporations. Otherwise it’s just free labor for Amazon, Google and Facebook
For the sake of humanity