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.
Please stop with the AI pushing. It’s a solution looking for a problem, it’s a waste in 90% of the cases.
On a bright note I’m optimistic that ai bloated garbage and advertising will eventually push a critical mass of people to using decentralized and open source tools, or possibly that non-profits and co-ops will start to spring up to manage more ethical services that could potentially replace the mainstream ones.
When you’re not trying to make some dude disgustingly richer, you don’t need a ton of advertising (imo).
I also think tech workers should unionize. On a darker note, I think outsourcing/offshoring post-covid is going to kill any unions viability. You need bargaining power (withhold your labor) and I’m not sure that will exist for this trade because of how easy it will be to find workers.
This post exemplifies an interesting combination of optimism and pessimism.
I also think tech workers should unionize. On a darker note, I think outsourcing/offshoring post-covid is going to kill any unions viability.
Quite possibly, but that’s just another part of the onshore/offshore cycle. And having worked for a company that utilized offshore for coverage reasons, I’m not that worried about my position. Offshore techs are decent, but I have to clean up after them more than my onshore coworkers.
You need bargaining power (withhold your labor) and I’m not sure that will exist for this trade because of how easy it will be to find workers.
Offshore may work as scabs, but much like scabs, the work quality is noticeably worse. Ultimately, I think tech workers are a bigger hindrance to a tech union than the threat of offshoring is. Mainly because of the house cat like “rugged individualism” they’re sure they have and a lack of overall understanding of the system we work in.
What do you think would help overcome that obstacle to unionization?
When I was in undergrad I did debate, and a term that was used to describe the debate topics was “a solution in need of a problem”. I think that that very often characterizes the tech industry as a whole.
There is legitimately interesting math going on behind the scenes with AI, and it has a number of legitimate, if specialized, use-cases - sifting through large amounts of data, etc. However, if you’re an AI company, there’s more money to be made marketing to the general public and trying to sell AI to everyone on everything, rather than keeping it within its lane and letting it do the thing that it does well, well.
Even something like blockchain and cryptocurrency is built on top of somewhat novel and interesting math. What makes it a scam isn’t the underlying technology, but rather the speculation bubbles that pop up around it, and the fact that the technology isn’t being used for applications other than pushing a ponzi scheme.
For my own opinions - I don’t really have anything I don’t say out loud, but I definitely have some unorthodox opinions.
-
I think that the ultra-convenient mobile telephone, always on your person at all times, has been a net detriment societally speaking. That is to say, the average iPhone user would be living a happier, more fulfilling, more authentic life if iPhones had not become massively popular. Modern tech too often substitutes genuine real-in-person interactions for online interactions that only approximate it. The instant gratification of always having access to all these opinions at all times has created addictions to social media that are harder to quit than cocaine (source: I have a friend who successfully quit cocaine, and she said that she could never quit instagram). The constantly-on GPS results in people not knowing how to navigate their own towns; if you automate something without learning how to do it, you will never learn how to do it. While that’s fine most of the time, there are emergency situations where it just results in people being generally less competent than they otherwise would have been.
-
For the same reason, I don’t like using IDEs. For example when I code in java, the ritual of typing “import javafx.application.Application;” or whatever helps make me consciously aware that I’m using that specific package, and gets me in the headspace. Plus, being constantly reminded of what every single little thing does makes it much easier for me at least to read and parse code quickly. (But I also haven’t done extensive coding since I was in undergrad).
-
Microsoft Office Excel needs to remove February 29th 1900. I get that they have it so that it’s backwards compatible with some archaic software from the 1990s; it’s an annoying pet peeve.
-
Technology is not the solution to every problem, and technology can make things worse as much as it can make things better. Society seems to have a cult around technological progress, where any new tech is intrinsically a net good for society, and where given any problem the first attempted solution should be a technological one. But for example things like the hyperloop and tesla self-driving cars and so forth are just new modern technology that doesn’t come anywhere near as close to solving transportation problems as just implementing a robust public transit network with tech that’s existed for 200 years (trains, trolleys, busses) would.
For the same reason, I don’t like using CLIs.
IDEs?
Yes, my bad, I get all the TLAs mixed up.
I’m interested in reading more about coding java without an IDE, what’s your usual workflow? Do you use maven or gradle or something else? Are there solutions or scripts you use to make up for some functionality of an IDE?
-
It’s one of the reasons I enjoy working on open source. Sure the companies that pay the bills for that maintenance might not be the ones you would work for directly but I satisfy myself that we are improving a commons that everyone can take advantage of.
I told my lib colleague about how many software creators provide their stuff and its source code for free and he could barely get why; I also told him historically many nations just left their research and findings available publicly for people to learn from and he can’t grasp why that was either.
He does truly believe the profit motive is the only (best?) way to advance science.
Yes and no. A lot of the projects I work on the majority of the engineers are funded by companies which have very real commercial drivers to do so. However the fact the code itself is free (as in freedom) means that everyone benefits from the commons and as a result interesting contributions come up which aren’t on the commercial roadmap. Look at git, a source control system Linus built because he needed something to maintain Linux in and he didn’t like any of the alternatives. It solved his itch but is now the basis for a large industry of code forges with git at their heart.
While we have roadmaps for features we want they still don’t get merged until they are ready and acceptable to the upstream which makes for much more sustainable projects in the long run.
Interestingly while we have had academic contributions there are a lot more research projects that use the public code as a base but the work is never upstreamed because the focus is on getting the paper/thesis done. Code can work and prove the thing they investigating but still need significant effort to get it merged.
I think most people who actually work in software development will agree with you on those things. The problem is that it’s the marketing people and investors who disagree with you, but it’s also them who get to make the decisions.
I took some VC money to build some bullshit and I’ll do it again!
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.
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.
… 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.
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.
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.
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
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
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.
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 😅
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.
maybe not quite a majority
VAST majority. This is 80-90% of devs.
The whole “tech industry” naming is bulllshit, there is more technology let’s say in composite used to build an aircraft wing or in a surgerical robots, than in yet another mobile app showing you ads
The whole tech sector also tend to be over evaluated on the stock market. In no world Apple is worth 3 trillion while coca cola or airbus are worth around 200 billions
More people own an iPhone than an Airbus plane.
If you want apples to apples, why the hell is Tesla, a company that makes under 2m vehicles, have a market cap of 1.4T while Toyota, a company that makes 10 million vehicles a year, has a market cap of 233B. No matter how you look at it, Toyota has better numbers in every way, but Tesla is a tech company as far as the market is concerned.
Tesla doesn’t just make cars. Tesla also makes batteries and photovoltaic panels.
I agree that Tesla is wildly overvalued and treated as a tech stock, but electric cars isn’t the only thing Tesla makes.
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.
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
I’m not verbose today but let me just get intro into my thoughts that I grew up in the 3rd world and then moved to Australia in my late 30s, and I think I had a better life where I grew up instead of where you are. The capitalism periphery has downsides but at least quality of life is minimally compatible with logic.
I’ve seen bigger concentration of power in my home country, but it still blows my mind how your country didn’t get a revolution along side with rights movement decades ago when the momentum was there, and things are going down very fast since then. For you people I mean.
Your country is a cancer to the world democracy. Yes ussr was also a demon, and Russia is trying hard to match. Everybody else want you both to sink.
Economy like history is written by the victors.
Insert usual rant that your country doesn’t even have a proper name…
Yep that’s my short version. You should see me when I’m worked up by what evil CIA has done all around.
like pretty much all industries there are holding companies buying up anything profitable that is not to big to aquire consolidating a hold on the industry. this one https://en.wikipedia.org/wiki/Vista_Equity_Partners bought out my company. I was let go and I don’t think that came from vista but the separation agreement they put in front of me Im pretty sure was. Needless to say I did not sign it as it was crazy.
You’re becoming an old man yelling at clouds. People sad all the same shit about websites back in the 90s. They said the same shit about personal computers in offices in general over the mainframe systems. Unless your software is going to be responsible for actual lives it’s better to get something buggy out on time then drag things out like star citizen soaking up money for no returns.
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.
IT is slowly starting to get regulated like a real engineering field and that’s a good developement.
I’m sad that I missed my opportunity to take a PE exam in software engineering.
‘Using cloud software will lead to lower costs and a better overall service quality’