I don't understand this industry (it runs on BS?)
Posted by kevlarknapp@reddit | ExperiencedDevs | View on Reddit | 74 comments
I love engineering. I fucking hate the culture of professional software engineering. There's so much BULLSHIT. But maybe I don't understand business culture.
Take the term "Tech Stack" for example. I fucking hate this term. What's your stack, someone asks? Idk, how about whatever tool is the best for the job?
I see that everywhere, people throwing buzzwords back and forth to dress up what are not difficult concepts for anyone trained in engineering.
Ig I'm just complaining, but I find the distance between the way the industry speaks and the way the industry acts to be really hard to navigate. I feel like if I optimize, or hell these days even aim, for a healthy career, I'm basically asked to be either an unhealthy corporate caricature of an engineer, or to be culturally sophisticated to a degree that... I'm not even sure it's feasible.
I'm not even sure if genuine fascination with competition and product design is anything other than a liability?
Plz advise
eloel-@reddit
"What is your tech stack?" is a question for a project/team, it's not one for a person. Nobody's going to scrap years of java work and go restart in c#, if your project is a java project, your project is a java project. Even if you later get a feature that'd be best in c#, tough luck.
There really is a lot of bullshit, but a decent chunk of (not all of) that bullshit is necessary to keep a project running over years with changing teams. Communicating ideas to people you'll never meet is part of the job, and a shared language with shared terms is the only way to achieve that.
FeistiestMeat@reddit
I think the OP might be in web frontend. That’s probably why.
2apple-pie2@reddit
This is still applicable to web frontend though…
FeistiestMeat@reddit
It is, but it’s a much more common question in the web dev world.
2apple-pie2@reddit
Yeah that’s real. Very common and relevant question .
_vec_@reddit
One of the easiest ways to tell a mid-career developer apart from a seasoned tech lead is whether they can tell you why always using "whatever tool is best for the job" is a catastrophically bad decision.
gyroda@reddit
"the best tool for the job" needs to include considerations like "what do people already know", "if I Google a problem with this, is there going to be an answer on Stack Overflow" and "do we really expect everyone joining this team to have to learn this on top of everything else".
"The best tool for the job", in my experience, is usually the tool you've already got, or one that requires minimal upskilling/onboarding.
_vec_@reddit
The killer feature of JS over the past couple of decades was "well we have to write 10% of our codebase in this nightmare, so..." Turns out that's more than sufficient. See also the generation long effort to invent CSS that isn't a sheet and doesn't cascade.
gyroda@reddit
JS is a great example.
Sure, damn near any language can be transpiled to JSV or compiled to web assembly, but everyone just settled on typescript because it had a low barrier to entry assuming you knew JavaScript (which damn near everyone working in that arena did know). It's easy to hire people who know TS/JS, it's easy to find solutions for common problems, it's easy to train people...
DestinTheLion@reddit
My good friend who was staff at google would always, frustratingly, with everything tell me "It depends". Pure Savant of coding though.
valence_engineer@reddit
Eh, a single person also has a set of tech stacks they have the most experience with. They can pick up a new tech stack but there's onboarding time and even longer time to be deeply proficient.
Majestic_Diet_3883@reddit
For me, it's the term "engineer" in swe. Imagine of other engineering professions operated in similar sprint workflows. Our buildings would crumble after 3 days
aeroverra@reddit
Okay I used to like calling myself an engineer but this kinda changes my mind. Not because I believe it’s not true but we sure aren’t treated like it. It’s so hard not to notice how poorly things are built once you enter the industry
Designer_Flow_8069@reddit
In my mind, most software developers don't have an engineering degree or engineering license, and the only reason their an "engineer" is because a multi million dollar company labeled them as so because it makes them feel better and is free for the company.
aeroverra@reddit
I disagree.
A degree or cert is just a piece of paper some multimillion dollar company convinced the government to require in their regulations so they could profit off testing and study materials.
Not every devs an engineer though unless you really understand software and hardware at a lower level and can use that knowledge to design systems in an elegant.
Designer_Flow_8069@reddit
Regulation was kinda put into place so you didn't have uneducated schmucks building bridges killing a bunch of people if they fell down. Or skyscrapers in a city, etc
aeroverra@reddit
Not saying regulations are bad but a lot of them are lobbied for.
ccricers@reddit
I think that the key to changing habits. Make it so that serious software errors usually leads to injury or death. If all SWEs turn to closely with physical systems as opposed to logical ones, it's a different ball game.
UntestedMethod@reddit
Oh you mean like Computer Engineers?
Flashy-Whereas-3234@reddit
My wife keeps reminding me I'm not an architect.
My architect friend always gives me that look.
C'mon guys I have imposter syndrome enough just because there's no certifications in this industry to practise can't I enjoy my bullshit title
UntestedMethod@reddit
"cloud architect" always sounded like a pretty dreamy title to me. Lol
1One2Twenty2Two@reddit
Other engineering fields require an actual engineering degree, to be part of a professional order and to do mandatory annual training to stay relevant.
biosc1@reddit
In Canada we can't even be called software engineers. Just software developers exactly because engineering is a profession requiring certification up here.
UntestedMethod@reddit
There are accredited "software engineering" programs recognized by Engineers Canada... But most developers go for Computer Science instead of Software Engineering.
FeistiestMeat@reddit
I used to think writing software wasn’t real engineering. But after 10 years of professional software engineering, I think it depends. I’m actually really enjoying AI coding because it lets me focus on the problem-solving. All of my knowledge can be focused on the actual problem instead of remembering APIs and syntax. I think sprints finally make sense.
zacker150@reddit
Let's be honest. If buildings could be constructed in seconds at the press of a button, they absolutely would be.
awoeoc@reddit
Impressive, our stuff never was in an uncrumbled state at all.
thatwasawkward@reddit
Every profession has weird buzzwords that'll make you want to die when you hear them. Such is life.
aleph1music@reddit
Saying something is “table stakes” is so hot right now at my job. Worked here for years and never once heard that phrase used and now I hear it about once a day
threepairs@reddit
Lol what does it mean?
okayifimust@reddit
I don't know about what OP's company think it means - and I am curious - but it is a poker term.
"table stakes" means you play for only the money that is literally on the table. Old movies have people play "open stakes". You can bet any money you have access to. From your wallet, from selling your horse or farm, or taking on debt.
"open stakes" makes it possible for a rich person to out-bid a poor person. I can just bet a million dollars, and unless you're good for it (or, possibly, have a truly unbeatable hand) I will win doing that.
In table stakes, if I have 10 times the money you have (and it needs to be in play - literally on the table) if I bet all of my money, you can wager all of your money and we'll be playing for the amount of money you have.
FWIW, I had to look up "open stakes"; I knew what it was but not the term. Doing that, I saw that buisness language uses "table stakes" as the bare minimum you mean to be able to compete. (Say, a multi player game needs to be playable over the internet; split screen would not be good enough anymore.) Incidentally, in poker that's what's know as the "minimum buy-in".
crazylikeajellyfish@reddit
It's a poker term which refers to the minimum bet required to sit at the table and play. In a product, that means non-neogitable features -- without them, you're not even in the game.
johnpeters42@reddit
From Wikipedia:
UntestedMethod@reddit
So basically an MVP but a bit more abstract/broader scope than just the product?
FeistiestMeat@reddit
I just had to look it up yesterday. It’s pretty much the same as minimum viable product.
mistyskies123@reddit
I had to start using that phrase recently to defend necessary fundamental work that is required for rollout but is in no way exciting or sexy stuff that makes execs sit up.
It's the only way that seemed to get in people's heads that they couldn't ignore it or even leave it to the last moment at the bottom of the priorities list.
twowordsfournumbers@reddit
There's no easy/nice way to say this.
I'm not so sure you know what buzz words are, or what business culture is...
I've never heard anyone refer to the phrase, "tech stack," as a buzz word. You didn't even use it right in your example.
kevlarknapp@reddit (OP)
lmao
Dimencia@reddit
We get it, you're full stack. But if you practice something, you get better and faster at it. Your stack is just the things you've practiced before, in which you can do fast and effective work, without having to waste time learning as you go
e430doug@reddit
You wrote a bunch of words that sound like you’re complaining about something that I simply don’t understand what your point is. You don’t like that there’s technical jargon? What field doesn’t have it?
kevlarknapp@reddit (OP)
I think the question is more broadly about scientific management and how it interacts with engineering culture and how difficult it makes balancing being a genuinely great engineer.
corporations want interchangeable, low-power workers, blah blah blah, but isn't the real value in engineering diametrically opposed to that
r_transpose_p@reddit
You sound like me 15 years ago.
One thing I eventually figured out is that the software domains with the worst bullshit business jargon also tend to be the most lucrative and, consequently, often the easiest ones to fit around the rest of your lifestyle (and, trust me, human lifestyles get way more complicated as you get older)
Sorry for not having any better answers then "agree em to death with your yesses", but, that's all I've got.
Oh, and, there are four major ways to pick which software you want to devote your time to developing
Whatever interests you . This is for learning (and do keep learning. Forever. That's how the game is played.) and for hobby projects (I code some things for fun, and none of these have corporate bullshit jargon. Some have ray traced UFOs though)
You want a particular piece of software to exist because you want to use it. Usually this is jargon free, but most people need to also have paying work, and these sorts of projects aren't always easy to sell to other people. These days I use AI assistance for "I want this software to exist because I want to use it" and I hand write my purely hobby/learning software.
You decide which software is important to write, you go about it your own way, and hope the world recognizes it. The best case payoff for writing this kind of software is way bigger than for writing the other kinds, but in the average or median case, this doesn't pay well at all. Do it if you can live on reduced pay for a while and are really passionate about (whatever it is that you think you need to build for the world) . But be aware that you might be wrong, and the world might not want to pay for the software that you think it desperately needs.
Software that someone else pays you to write. This is like item 3, but you're delegating the work of deciding what's important to "the market". Sometimes the market is wrong. That's fine, sometimes I'm wrong when I try to decide which software is important to build. If you fully commit to writing this kind of software, then the most lucrative domains have the worst bullshit business jargon. This is what I do for anything I intend to make money off of. I'm not bold enough to try making money from deciding what the world needs myself and then building it. Luckily if your career lasts long enough, you'll find that bits of stuff you picked up from trying approaches 1 and 2 end up seeping into what you can get paid for.
crazylikeajellyfish@reddit
It sounds like you're laboring under the delusion that software has any intrinsic value. It doesn't, all we do is help non-programmers solve their problems.
You know what a bunch of engineers usually make when we only talk to other engineers? Useless bullshit. You can't make valuable things without working with non-engineers, which means creating a shared language that makes sense to them.
Half our jargon is about making our work legible to people who don't need to understand the details, and the other half is about making all this abstract bullshit more easily understood. Engineers will complain about corporate jargon and then literally call a tool Babel, names are just hard.
engineered_academic@reddit
There is valuable content here but the way you have presented your argument goes against the sub rules. Take a breath, and try to provide a more in depth example with discussion points.
AndyKJMehta@reddit
My tech stack is binary.
Dags2112@reddit
It’s 2026 I think you mean nonbinary code
ExperiencedDevs-ModTeam@reddit
Rule 9: No Low Effort Posts, Excessive Venting, or Bragging.
Using this subreddit to crowd source answers to something that isn't really contributing to the spirit of this subreddit is forbidden at moderator's discretion. This includes posts that are mostly focused around venting or bragging; both of these types of posts are difficult to moderate and don't contribute much to the subreddit.
pardoman@reddit
Chill bro
MerlinTheFail@reddit
Little bro needs to touch grass
float34@reddit
To swipe some Liquid Glass
ColdPorridge@reddit
Perhaps even smoke some liquid grass
Irish_and_idiotic@reddit
I do find this helpful after a day of “why can’t we just rewrite this using AI?” when my boss doesn’t want to pay for a service that has 3000 engineers working on it..
paxmlank@reddit
This post doesn't seem very befitting of an experienced dev.
kevlarknapp@reddit (OP)
You are literally playing dress up
vanit@reddit
Now more than ever, yep. At least companies have stopped talking about HTML5.
matjam@reddit
Have you met humans
Talk to an electrician. They’ll say similar shit about their industry. So will doctors. So will architects. So will … you get the idea
keelanstuart@reddit
It didn't use to be like this... and, you're right, it is BS and it sucks.
That said, it's just another spoon; you need to bend yourself, because it's not going to bend for you.
(p.s., I hate the term "tech stack", too)
Early_Rooster7579@reddit
I’m guessing you have under 2 years xp? You exist to solve a problem for the least amount of money in the fastest amount of time. The sooner you make peace with that, the better your life will ve
kevlarknapp@reddit (OP)
good advice, ty
Trick-Interaction396@reddit
If you don't have experience in a specific stack then you're probably inexperienced and won't be able to solve complex problems at scale efficiently.
cgoldberg@reddit
"whatever tool is best for the job?"
Then say which tool it is. The question is the stack you are using... not some hypothetical about what you might use.
Also, most companies have a common set of tools, frameworks, and languages they use... The question is which ones are you using? If you are just grabbing "whatever is best" without thinking about how it fits into your other systems, skills, and a coherent platform... you are an idiot. "What is your tech stack?" is a very straight forward question.. it doesn't mean you can never stray from it... but if it really annoys you or you can't understand why someone would ask it, I don't know what to tell you.
Glass_wizard@reddit
If someone asking "what's your tech stack" annoys you, you are probably burnt out and this career isn't for you anymore.
Great_Trainer@reddit
Yeah, I mean I felt this way. Grew cynical. Quit my job. Now, I am working my butt off to reenter the culture. There are bad things, like you mention. But there are good things as well. Like all this glazing over and polishing of real humanity, stripping it into a corporate husk, tends to remove negative emotions from the equation. Like there are less Steve Jobs who was said to be abusive. I guess what I am trying to say is that the corporate husk allows you to put in so much energy, and reserve the soul of life for yourself and your family. You don’t have to give it everything.
kevlarknapp@reddit (OP)
I know. but I don't understand how to speak corporate, so to speak. I feel like my resume gets passed over because it's not 110% exactly a keyword match, but I'm trying not to make an identity of it
Great_Trainer@reddit
Yeah I totally feel you. And there is so much different shit. Every new job screen there is some entirely new tech stack to wiki.
Great_Trainer@reddit
I remember when I was asked “what is my workflow?” And I was like fuck a work flow, I don’t have a workflow. I don’t have much advice here, but I can at least tell you what I am doing and relate. Being interview polished, knowing leet code, systems design interviews - things that aren’t really flavors of software but solid computer systems, and being able to get a new job at the drop of a hat. I think that having that earned confidence from sweat will make those types of husk probes bounce right off - or at least be amusing, or as some of the engineers in this thread mention, i’d filter those questions to what they are actually trying to communicate. But that only comes from the confidence that you don’t need a tech stack or a workflow to belong.
Ironamsfeld@reddit
My stack is
Cracker
Salami
Cheese
Cracker
stedmangraham@reddit
Yes. But fortunately I find at work people don’t actually talk like this that much. It’s mostly online that people complain about tech stacks or whatever.
At an actual job people may complain that a tool is wrong for the job, but most people just want to get the work done, get credit, and go home.
There is a lot of bullshit. I have to pretend I think AI is more useful than I think it is. I have do a lot of design reviews for things that are minor additions to existing products, etc, but there is bullshit in any job.
I agree that the fascination with competition is stupid. We aren’t students graded on a curve. We are allowed to work with one another not against one another
mxldevs@reddit
What does your response mean? That you can use any tool that's handed to you? Or you're open to anything?
Most people generally have a preferred set of tools that they reach for, and while they could probably pick up new tools given enough time, if the current project expects familiarity with a certain stack and you don't have it, I'd imagine they'll prefer someone else that does.
lokaaarrr@reddit
Which industry?
I distinguish between the field, and the industries that employ people from the field.
Software engineers in most industries don’t talk like that.
Scottz0rz@reddit
If someone answered the question the way you did when I was an interviewee, I would think you're an idiot or a lunatic.
The point to asking that question is to see if you have company standards or if it's wild west on what you build and how old your legacy codebase might be. It helps see if your company is mature and having common languages and tooling between them are important if you need to coordinate with others on how something works.
What you think is the right tool for the job, someone else might think is terrible. Even if you have a not perfectly optimal tool for the job, having a tool that everyone knows how to use is better sometimes.
Maybe I personally dislike a language or database because I've had issues with it and I have 5-10 years of experience in some other language or framework I know way better.
Maybe I don't like having to know how 100 different cobbled together microservices deployed in someone's basement on a windows machine and some running in the cloud interact with each other if I'm maintaining them and on-call and responsible for issues in some random ass assortment of Golang, Rust, PHP, Java 8, Node.js, Python, and C#/.NET services.
Having a place that does Java and MySQL, even if you don't like those two, for everything is nicer than having random engineers empowered to use whatever they want for stuff that no one will know how to maintain or debug after they leave.
That all being said, you're right to some degree with buzzwords in tech, but the fact you said "whats your tech stack" is a buzzword makes me doubt if you're dismissing actual legitimate questions and not just buzzwords.
properwaffles@reddit
I don't understand it either. I mean, they hired ME, so there's definitely something wrong.
valence_engineer@reddit
Which in anything but a trivial personal projects is heavily based on what else you're running things using. Ie: the tech stack. There, now I saved you a ton of work that ends up with you deciding you should have just stayed on the same tech stack for whatever new thing you're doing is.
ParkingStaff2774@reddit
Whatever tool is best for the job is the stack. That stack is what you become proficient with over a time interval. That's experience and it's relevant to the job and to people who care about what you do.
Is there a steaming load of horseshit being peddled every freaking day all over social media and in the blogosphere hunting down your clicks? Hell yes. Is plenty of it steaming garbage? Hell yes.
But underneath that bullshit there's at least a little truth and I think that over the course of a long career it's worth looking for. Just keep a strong filter and ignore the majority of the noise. Though, good luck separating the noise from the signal. When you figure out the human-stack that filters well; please report back.