Ask HN: What are some of the dark sides of being in the tech industry?

68 points by throwaway_jaded ↗ HN
Pays well and everything but what are the things that make you dislike the industry.

96 comments

[ 2.8 ms ] story [ 144 ms ] thread
(comment deleted)
Deadlines
“I love deadlines. I like the whooshing sound they make as they fly by.”

— Douglas Adams

(comment deleted)
(comment deleted)
Long hours in the name of passion / customer obsession
The closer you get to the bleeding edge of the technology industry, the more detached you get from "real life", generally.
there is always difficulty of balancing your learning/growth and the work that you have to do for the company
I had similar concerns and had reached out to the HN community quite a while ago. Seems like this issue is felt across the industry!
- Alpha male posturing

- People expect you to care about your job.

(comment deleted)
> - People expect you to care about your job.

What I think is funny about this is that the actual expoiting slave driver bosses will accept sometimes that you do what you get paid for and then go home. They won't tell you so, but if you are able to read faces you can see them smile a little with respect if you refuse to get exploited. But some of the engineering colleagues will never accept that. 24/7 is the requirement. Even if nobody, not even them, gets anything out of it.

Up to a point, yeah.

However, if it impacts them negatively in any way (i.e. They overpromised) you will find that respect doesn't help.

Being on call and in a constant state of readiness to troubleshoot problems is tiresome. Even if problems rarely occur, the constant awareness of potential responsibility can quickly lead to burn out. The medical field has known this for a long time, and as a result, physicians get paid a lot of money to take extra call coverage. This is a very neglected topic of discussion within software development.
This is a very important point but oft neglected too. I wish more people speak out about this.
Former ops engineer here. Get out of ops. In the current climate, it is rare you'll find a role that compensates you for being on call frequently and the toll it takes on you.
This a thousand times. Ops is undervalued and expected to deliver a lot in today’s workforce. You get better respect and compensation for SWE. I wouldn’t reccomend this career unless you’re unable to do software engineering.
A fair number of places have engineers do ops. It's bad in the long run for many reasons, but rarely do I see people ask about it at interview-time.
Man this one sucks. Being called at 2am to fix something once every couple of months isn't great but I can deal with it. Knowing I can be called at 2am on any day and be expected to fix something and not knowing when that will happen is what kills me. Despite the really good benefits in my current position I'm casually looking for a new job solely because of the on call schedule.
The interview process for developer/engineering roles.
It's not so much the process itself but the overall fact that your ability to get hired ultimately hinges on things that are trivial and shallow. In general I believe that skill and talent get rewarded, but everyone has a story about a job they landed out of sheer luck - they knew some obscure tool or framework that forced a hiring decision in their favor. Very few hiring managers are genuinely talented at spotting talent. Most rely on some level of cargo-cult knowledge, tribal shibboleths, and technical hazing rituals. Or they just hire lazily and optimistically, and then you have to work with those people because now you're one of them.
Having to build technology that attempts to manipulate humans and call it "Deep Learning".
Being viewed as a cost center rather than a revenue generator if you're not in a tech centric company.

Having best practice and common sense ignored by management in the name of expediency and then being blamed for the results (going over budget, building something the client doesn't want, being late on delivery)

I had someone call us the Expense team. I put an end to that pretty quickly. It is an easy wedge to drive between sales and engineering.
Separate point : tech industry tends to make one delusional about ones abilities (usually overestimation of intelligence)
The undeniable urge to solve all problems in life with a new app
There is an expectation and honestly a need to keep up with changes to the industry that I haven't seen in other fields. Any older dev has had to transition at least 1-2 languages and it's not an easy step. That doesn't even start covering how fast javascript frameworks are moving. Oh, hey you learned Angular, that's so 3 years ago we don't do that here. We use Vue.js which is better because _________. Vue will be replaced and you'll have to learn something else. If you don't like constantly learning then you'll burn out. On TOP of that most jobs expect you to work and learn this on your own. Which leads to a ton of 9-5 developers who refuse, or other developers who make sacrifices to stay on top of things.

It can also lead to franken-apps which have angular -> react -> vue all in one. (Pause to take a breath) I love developing, but there is a lot to learn. I only stay on top of the industry for about 6 months out of every year. It works for me.

> Any older dev has had to transition at least 1-2 languages and it's not an easy step

Most devs I know have been through a whole bunch more than 2. I've had to use at least 8 over the last 10 years of dev. I didn't have to learn all of them well, but I did have to learn them.

I was trying not to put a limit on it so I just put the lower end. I think an average of 1-2 per year isn't abnormal at all.
Are you a veteran who has experienced this? Because this sounds completely wrong to me.

An experienced developer typically has no problem picking up new languages/frameworks/tools/etc. There isn't much value in familiarising oneself with arbitrary and invented things, of which there are many in our industry, and they are ephemeral.

No, the real value is in knowing and understanding the discovered things. And since they are discovered and not invented, they do not change.

There's still plenty to learn, but you have more than a lifetime's worth of learning ahead of you even if you steer clear of the shiny baubles that are React/Angular(v[1..n])/Vue/Whatever.

I think a lot of the frustration comes not from the new languages/frameworks themselves, but all the endlessly re-invented support tools that surround them.

For example, learning React itself is great because you can pretty quickly see how it cleans up your UI layer. It doesn't take that long and adds real value to your projects.

Oh, but now you need to learn all the corner-cases of NPM, and now you need a new test framework, and now you need to figure out the incantations to get webpack x.y.z outputting just the right way. Oops now hot-reloading is broken. And the chrome inspector is lagging for some reason.

None of these are interesting or fun problems to solve, but they are a pretty substantial part of getting any new technology into production.

Our profession consistently ignores operation and maintenance in favor of building a new thing, despite the former being at least as important.

How many people post negatively about Java in terms of productivity and cite boilerplate as a productivity-killer, despite the massive advantages a JVM stack brings?

Yep, this is why I'm much more inclined to go with something I know on the front end. I'm not against learning a new framework, but fighting the tooling is one of the more frustrating things.
I'm an experienced developer and I have no trouble learning things. If anything I'm faster than an inexperienced developer because where they're learning a new concept (e.g., "closures") I'm just learning the local spelling of it and flavor.

However, I do get pissy when I have to keep learning things, and never get to exploit them, always having to learn a new thing for every single project. Having started in the web arena since before "backend" and "frontend" were even necessarily separated, I've long since abandoned the frontend. More recently, I've personally been frustrated by the local conditions that have made it so that every system I deploy has required me to learn a new configuration management system. It's not so much an "oh, I'm too tired and old to learn this" but more of a professional eyeroll, "oh, geez, gotta learn some other ephemeral technology to do this job, then gotta learn some other technology that is almost all the same but for the spelling for the next project, etc."

But web frontend development really takes the cake, at least in the domains I'm familiar with.

I don't mind learning, I even enjoy it. But if you spend all your time learning and never get to exploit, you're operating at a greatly reduced efficiency. At some point you need to stop learning and actually advance some projects.

This is well-put. A lot of the issue with "learning new things" is that you're not learning new things, just old things that have been repackaged. Those new things are almost always poorly documented.
I'm not saying it's get's harder to learn a new language vs a first language. It is easier to learn C++ after C. It isn't that it's hard to do. It's that it can be exhausting to do it for the 4th or 5th time, then only get to apply those skills for 2-3 years until you have to.

Yes I am a veteran who has experienced this.

Design patterns are what I've taken from my experience and applied across languages. But some good patterns in one language can be an Anit-Pattern in another. Not to mention the jump from something like OO to Functional Programming which is not as easy as C -> C++ -> Java -> C#.

> An experienced developer typically has no problem picking up new languages/frameworks/tools/etc. There isn't much value in familiarising oneself with arbitrary and invented things, of which there are many in our industry, and they are ephemeral.

That lesson takes a long time to learn, if you are lucky enough to learn it at all.

> That lesson takes a long time to learn, if you are lucky enough to learn it at all.

I think typically that's true, but it doesn't have to be that way.

It reminds me of the idea that there is a difference between having 10 years experience, and experiencing your first year 10 times.

Is it really that much of a problem? Admittedly I have no experience with JavaScript frameworks, but I do backend work and have switched projects and companies very often over the last 8-10 years. I have had to use C#, Java, PHP, Go, Node/TypeScript and even some OCaml, and every single time a few weeks to ramp up and get used to the new syntax has been enough.
All this talk of JS getting new frameworks every few months is just BS. Front end development has evolved a lot in the last few years, completely out of necessity. But it is stabilizing because we’ve discovered the patterns that make sense for DOM development. You should fully expect React and Vue to be around more or less in their same forms for the next 10 years.
Excluding chasing the shiny object (the javascript race you mentioned) lifetime learning is part of the job description. If you don't love to learn and to apply the things you have learned the tech industry really isn't for you.

Also 1-2 languages... that's really on the shallow end most devs, myself included, will learn a lot more than that and each new language is much easier to pick up then the previous ones.

However as you get more experience, at least for me, you tend to stick to a handful of languages that each cover a domain.

OO, Functional, Dynamic/static variants and a language/stack that allows fast prototyping of ideas.

Yeah 1-2 was me trying not to limit this to the guys who've been around for years. I'm probably at 4-5 and think it's common.

> If you don't love to learn and to apply the things you have learned the tech industry really isn't for you. Not everyone is in this to learn. I've been on govt contracts where a dev has been there 10-20 years and has only learned 3 languages, (and is writing the same way this year as they did 5 years ago). It is not my cup of tea (hence the past tense).

My point is, not everyone loves to learn. If you want to excel you need to constantly learn but if you get into tech and you hate to learn you'll flounder until you find a gig that will let you coast for years.

> If you don't love to learn and to apply the things you have learned the tech industry really isn't for you.

Should that be the case though?

I'm actually skeptical that a lot of the new things are actually as valuable as we think they are. We tend to allow our feelings on technology to bias our estimates on productivity. I've heard tons of developers opine at length about how some new library, language, or platform increases productivity. It usually boils down to the "niceness" of the thing and how they feel using it, or some sample project that only measures time to first deployment, and not the overall maintenance burden. None of it is ever actually measured.

Intentional dehumanization in the name of delivery/progress/development.
Well put.. strong words. I sometimes wonder if this happens only in the tech industry or has this virus spread from tech to other industries as well.
Dehumanization isn't just the tech industry. It isn't even just industry. Our philosophy has dehumanized us.

Yes, the tech industry can be dehumanizing. (So can technology.) Yes, industry can be dehumanizing, as they try to wring every last cent out of you without concern for what it does to you as a human. But I think the problem runs deeper than that. It's basically a question of who we think we are.

As a society, we no longer believe in God. We believe in the physical universe - in matter and the laws of physics. That means that all we can be is matter that obeys the laws of physics. That's all we can be, because there is nothing else.

In particular, we can't have any free will or any ability to make a real choice. Matter that obeys the laws of physics doesn't choose anything - it just obeys the laws of physics. We're just machines made of atoms obeying the laws of quantm electrodynamics, which make up biochemicals obeying the laws of biochemistry, which make up neurons obeying the laws of neurology - and nothing more.

We can't love in the real sense of the word - choosing what's best for the one we love - because we can't choose anything. Even the lesser flavors of love are just a matter of biochemicals and neurons just doing their thing.

There's no real beauty in any objective sense - there's just certain things happen to hit our neurons in a certain way.

For that matter, there's no truth, either, and not just in the postmodern sense. If our brains were built by evolution, they were built to give a good enough answer fast enough. They were not built to find actual truth, even were such a thing to exist.

So in this view, free will, love, beauty, and truth - everything we thought of as making us human - are dead. We're just machines, just like the computers on our desks. As more and more people believe this (and start to act like it), it becomes more and more rare to be treated in a genuinely human way.

Creative license: the trend i have seen at startups is moving more in the direction of product and designer control over the things a company creates. For developers seeking control over their creations, this can be a frustrating thing to be a part of. Even at small startups, the value of designers and product managers is pretty obvious. It can be tough to find the right balance of control there.

Sexism: this is a tough topic. I worry that the people who care are not part of the problem, yet they tend to beat themselves up about it more than those who arguably should. I want more of everyone in tech, but to a large extent my ability to affect change in this area is crippled insofar as i have a job at a startup which requires lots of hours.

Hours/Appreciation: I've been a part of a few startups where employees, especially engineers, care more than they arguably should. High senses of responsibility are amazing assets for a company, but they rarely get appreciated as much as they deserve. When leaders see lagging growth or declining numbers, they try to incite urgency in the ranks. Those working the hardest often take that urgency to heart the most, which can leave them feeling really disheartened that their above-and-beyond efforts to this point have gone unrecognized.

I'll close on a positive by saying that i love the tech and startup industries. They provide so many people opportunities they wouldn't have had otherwise. Like every industry, there are problems. Picking the size and culture of the company you work at changes the landscape of those problems, so be conscious which you are sensitive to and choose accordingly. If you are happy to trade reduction in control for stability, bigger companies probably your jam, for instance.

Product and design should own products most of the time. I think most startups would be better off outsourcing their builds.
I don't how I can disagree with you more.
Any particular reasons you think this? Does it apply to or exclude specific industries?
I don't understand why you ever would. Your product is your product. It's defined by what it does, not how it does it. It's all about customer experience. Product market fit. That can and should be determined by market research, user experience design testing and prototyping. Developers are there to build with quality and to appropriate scale based on business strategy.

If you open a restaurant, is the menu written by a chef or by the guy who built the oven? Are movie scripts written by the camera operators? What industry asks it's technicians to decide what to create?

I actually just quit a job because developers were running the show way too much. Nothing was ever delivered to expectations or satisfied user needs. It was extremely frustrating for me to just be throwing code over the wall.

(comment deleted)
Constant worry about ageism, discrimination, and making a living once you to get to late 30s/early 40s. In particular SV but this is a concern everywhere.

What can you do then if you love programming and don't want to be a manager? It's just terrifying.

I don't like the idea that tech comes first and people last. That is often the case when the automation is simply meant to replace inefficient humans, without really thinking to the consequences. I'm of course pro-automation as I think it's an improvement for humanity, but I'm always worried about the end result.

Also I don't like that most companies have this kind of double-speak when they say that they are working to improve everyone lives while they simply want to automate work away, avoid rules (simply because Internet is not regulated as the rest of the economy) to make more money than in other ways.

There's an under-appreciation of the psychological toll that content moderators face.
Have you seen Silicon Valley (the HBO show)?
"Always Be Coding" -- people who spend their time on work/passion project/open source projects are somehow valued more than those who spend their time on work/non-technical pursuits.
It's truly awful that this is expected in tech.
This is true and its truly awful. You'll have people who question your credentials because you don't have projects on github.
- any interesting/impactful work is immediately crowded by tons of other people willing to sacrifice more than you to own it. They usually win.

- the prevalent engineering management culture is a form of psychological manipulation to turn engineers into cogs and make you feel like you are always behind and stressed. It emphasizes weekly bandaid fixes to long running problems.

- you have to work hard to be promoted, progress your career and make more money; but higher positions generally have much greater stress, workload and painful non-technical work (sales, politics)

- the bay area becomes a nightmare in middle age. the local governments love capitalizing tech income in the form of taxes or housing prices, but won't change a thing to improve the your life. leading a normal middle class life with kids in a safe area with good schools (e.g. peninsula, or Marin) will completely exhaust a 2x200k dual income. Commutes are awful. Unless you win the startup lottery, you'll be working your brains out and hardly find time to enjoy life.

(comment deleted)
(comment deleted)
The sedentary lifestyle.