I've walked away from software development
old.reddit.com
old.reddit.com
When we first started we didn't mind the bullshit so much because we were too dumb to realize how much there was.
Then we got older and, yeah, it's ridiculous, but we were pretty decent at surfing the bullshit waves so we still didn't mind so much.
Now you're in your 40s and the real obligations of life have started piling up. You've gone from 7 hours of free time a day to 1, and you sure as hell aren't going to spend it learning about the latest iteration of Angular/React/Vue/Svelte/whatever the fuck is next. So you start losing your technical edge. Meanwhile at work you have some dipshit in sprint planning that wants to have the 57th discussion about how story points do not represent time. Oh, by the way, it's December, so we need you to watch that 45 minute security training video again so you don't accept USB flash drives from strangers in the parking lot. Now it's 4 PM and you didn't get anything done today and you start thinking about how pointless all this shit is because all we do is make an app that helps people schedule dog massages...
So, yeah, there's a reason mid-life crises are so cliche. It's like teenage angst. It's not completely justified, but it's not exactly unwarranted either. I mean, what kind of dumbass doesn't wonder at least a little bit if all this bullshit is worth it?
As I've gotten older, mission matters more. I don't care about selling ads, I don't care about winning the stock option lottery, and I don't care about chasing only the shiniest newest tech. I care about getting stuff done efficiently with boring tech and helping people solve real problems.
Is higher ed perfect? Certainly not. But I feel like I'm contributing to a broader, useful mission. If I ever leave higher ed, it would almost certainly be for a non-profit or government job.
I feel like most of the software engineering world is going through a Steve Ballmer crisis: the industry is dictated by people who know nothing about the inner workings. As a result unnecessary solutions are pushed down our throats: "We should use X technology". Fine, but why, it will be slow, unmanageable and will leave us pegged to the company that developed it? "Nonsense, it is the best, everybody is using X". And 6 months later...
The ability to mute a tab and have it run in the background is at times a beautiful thing.
"Y.T.'s mom decides to spend between fourteen and fifteen minutes reading the memo. It's better for younger workers to spend too long, to show that they're careful, not cocky. It's better for older workers to go a little fast, to show good management potential. She's pushing forty. She scans through the memo, hitting the Page Down button at reasonably regular intervals, occasionally paging back up to pretend to reread some earlier section. The computer is going to notice all this. It approves of rereading. It's a small thing, but over a decade or so this stuff really shows up on your work-habits summary."
A stranger offers you a free USB stick in the parking lot do you:
A) Put it in the nearest electrical outlet
B) Stick it up your butt
C) Start a fire in your trash can and cast it in
D) Report it to corporate security at extension xxx, notify your manager, and warn coworkers not to use them
I’m convinced that it’s a form of torture.
Nit: You spelled "tazes" wrong.
Ten years later, you will nostalgically think about the good old trainings in 2020 when the web camera yet didn't watch your eyeballs and analyze your face expressions in order to determine whether you need to watch the training again.
Perhaps webdev attracted a specific kind of person (who felt comfortable with the anonymity of the web?) - or is software development now the same?
They don't have money concerns like most people from other walks of life so they need to find something to get worked out about.
I think it's understandable why big tech went in this direction.
I support whatever you want to do, truly. I have a habit of joining a zoom and saying "hey guys hows it going?". It's been really hard to break but I am working on it
Seriously, if I made that mistake the first 5 min of the meeting is attributed to this with some massive history on transsexuality but rarely a mention of Guy Fawkes.
Personally, I think the majority of these people are addicted to their struggle and probably should work on moving past that with a qualified professional.
One of my best friends and most capable mentors came out and I think it's fucking great. Good for her! She handles it healthy and always has a positive anecdote even when I fuck up.
A generation that grew up reading about and watching recordings/movies of the civil rights fights of the prior generation(s), with no more such large fights of their own, seeking ever further niche subjects to blow up into something they can fight for.
https://dev.to/bytebodger/why-older-people-struggle-in-progr...
…
> Oh, by the way, it's December, so we need you to watch that 45 minute security training video again so you don't accept USB flash drives from strangers in the parking lot.
Admittedly, in the early 90s when I got started professionally there actually wasn't so much bullshit, and yearly security training videos are an example of the kind and extent of how the bullshit has evolved and expanded.
Mentioning corona here, I think the society is desperate to find more IT folks around and loosing someone because of shitty interview process ( which I mostly skip because I’m a freelancer ) is quite sad.
That said, there are some good (if conflicting) points in there. Large tech companies are worse than startups, usually. Startups become large companies over time, if they don't fail.
A good read on the real corporate dynamic:
I'm sad for this guy that he let the fat checks keep him in misery until he burnt out on the work. I get how it happens, but I don't think it's a good trade. I hope he finds his way back to health.
Ok, temporary handcuffs. The author of the original post on reddit mentions feeling as if escaping prison so there's something to handcuffs after all
>Oh, you're going to fire me if I don't do xyz, go ahead because I don't need the job.
That is only true when you have accumulate something and are ready to do your thing. Till then one is willing to put up with plenty of BS. But it's true, fat checks offer this alternative of exit. However, they are also keeping one from getting a more sane alternative because they pay isn't as good. There are still decent companies and jobs out there that you can run into if you're willing not to cash in fat checks.
I asked him if there were planning process improvements that could be made to reduce the necessity of crunch periods. He sighed at me, turned his head to look out the window next to him, and then gave me a few sentences of tangentially related anecdotes about their planning process and why it's "hard" "because of customers."
It was already clear to me that I didn't want the job if they made me an offer at this point. Thankfully they saved me from having to say so. The recruiter called me a week later to say, "We've decided to move forward with other candidates who we feel are a better match for this particular position."
All I can think to myself at this point is, "I'm too old for this shit."
On the other side of the spectrum, people I know with any real estate inheritance, tend to not take part in the rat race and just take any chill (governmet)job they can find, as having their housing already covered, means they only need some money for food and bills so they can focus on enjoying life.
Even 3x would be a big difference for many ($200k-250k).
Picking nits, here, but this isn't true. My personal (multiple) anecdata is that a very good number of startups neither fail nor become large - rather, they become stable small businesses.
A small, stable startup is probably the ideal place to hide these days, but it's a trick to get there.
A lot of business owners don't want to grow to a 100+ or even 20+ company.
My suggestion is to find a company where you can accept and work within that company's dysfunction, and stay put as long as you have a positive career path there. Every company is dysfunctional in some way, from small startups to large public corporations. As long as there are people involved there is going to be some form dysfunction and politics.
This is actually why I didn't mind he transition from IC to management, because even though I code less, I have the ability to influence the decision making process and improve day-to-day for everybody who reports to me.
Large tech companies have more than one "culture" which various across departments and projects. When I found myself stuck in an unhealthy project I would look for opportunities to transfer within. Usually I was able to find a team that suited my interests and way of working.
In my case my friends blew off what I was saying until I was leaving, and then for whatever reason when I was in the process started actually listening to what I had been telling them for the past several years. "Wait... what??? You mean they do X, Y, Z? WTF?" It didn't matter that mutual friends had left, that they had lost 1/3 of their employees in the past 3-4 years, that 90% of the people in my division had left, that they had surveys (buried in diversity reviews) showing that 50-60% of the remaining people were seriously thinking of leaving. The secret meetings, the lawsuits, you name it. It was always the same response from my friends: "This is normal company politics everywhere." But it wasn't.
What I wished is that I had been mentored more on how to leave to a different organization (I sort of left the field), with an explanation for why. But when you hear "this is the same politics everywhere" you kind of think "ok this is what it's like everywhere."
The thing is, sometimes it's not the same everywhere. There are good places to work and bad places to work, and places that are good for some people and bad for others.
If it is bad everywhere (cf. Musk's complaints about "MBA-ization" of America), then society needs to have a serious reflection on itself (maybe that's the signal in the noise of US politics lately?).
FWIW, my experience is consistent with your bit about "as long as you have a positive career path there". I think at some level that's what prompted me to leave -- I got the sense that the reasons why some people were favored and others in the institution were not was all about weird purely personal factors, like who goes to who's wedding etc. (Yes, I believe social factors are important, that it's important to be cordial and genuinely friendly and positive and empathetic... but there's a point where all of that normal "being a good person and colleague" doesn't cut it anymore, and might actually be a detriment).
Around Series B is when the bureaucratic crap starts piling up. And before Series A there's just not enough money.
Status at stake, yes. Power? Power over what? Another “microservice”? And money, an extra 50% bonus maybe? That’s not “money”. Employees are getting rich absolutely nowhere. When real money is at stake you’d know. People get serious, quick.
I have a hypothesis that post-industrial-era management-as-a-profession is going to become such a disadvantage that 30 person companies with 28 ICs and 2 exec/founders are going to become the norm, upsetting companies many times their size.
Already half of white collar jobs could be automated with two weeks dev effort (per role). That assertion is based on hundreds of conversations with “business” people at my clients. You’d sadly not be surprised how many people forward emails or update spreadsheets for a living.
I think the solution is to bite the bullet until you can work in a smaller company (either by accepting less money or by starting your own)
I socked away and invested everything I could during my career in Silicon Valley. I retired just a few months after my fortieth birthday.
Why most of my colleagues didn't do the same and instead 'leveled up' their lifestyle to match their income is beyond my capacity to understand.
There is also the problem that many bought real estate far before it was as fiendishly expensive as it is now, bought stocks and were part of companies during wild bull runs, and act like you can reproduce their success trivially. (You can’t)
Also, I think of spending in your youth as an investment in memories. What is the point of getting all your best trips in at 65 (just before dementia sets in) when you have at best 30 years to enjoy them. If you did the trips when you’re 30, you’d have decades more to enjoy them and could actually go on them. Living for when you’re senile is a scam.
Everything's more fun when it's new and you're learning fast, but less and less seems new as you gain experience. A lot of "new" things are obviously reincarnations of things you learned long ago. Others just seem obviously stupid according to whatever biases you've accumulated (and we all do). Over time, you have to roam further and further afield to find anything truly new and not stupid. Sometimes that's so far afield that it's beyond anything that would have ever interested you even when young.
As for teams, well, some things are just pretty constant. What job is not going to have tedious planning sessions, testing woes, source-control and deployment drudgery? Only one where you're a prima donna pushing all of that onto other people, or one headed for disaster because you're all incompetent cowboys. If it was all fun and games, they wouldn't pay so much for people to do it, and liking your immediate team only gets you so far.
Neither burnout nor retirement is like a light switch, going instantly from love to hate of the entire profession. It's a gradual weakening of the attractions and strengthening of the discontents, until you reach a tipping point. It might seem sudden or unexpected, but quite often it really isn't. It's something people can plan for, and that many more should.
As for what to do after, why do you assume that not wanting this career any more means not wanting any career (or hobby) at all? Second careers are not uncommon, and often one of the things that's frustrating about "always on" tech work is being pulled away from something else one enjoys. "Software development or nothing" seems like a really bizarre dichotomy.
Knuth has a wonderful take on how he is spending his retirement that I find inspiring: https://www-cs-faculty.stanford.edu/~knuth/email.html
...my role is to be on the bottom of things. What I do takes long hours of studying and uninterruptible concentration. I try to learn certain areas of computer science exhaustively; then I try to digest that knowledge into a form that is accessible to people who don't have time for such study.
Do you publish your digested knowledge anywhere? Do you have a blog?
To be fair, while I do think the tech industry has some problems (which I've expounded on elsewhere), a lot of my misery was self-inflicted. I might have been able to put up with a lot if I were the kind of person who uses influence to cherry-pick the most enjoyable tasks, but I'm the kind of person who takes the most important unclaimed tasks - which are often unclaimed because they're unpleasant. I'm proud of that, but it's not conducive to happiness. Failure to find that balance is mostly my own fault.
So my advice to anyone reading the OP (or my own first paragraph) and thinking along the same lines is: spend some time figuring out what kind of role or specialty within tech would actually make you happy and work toward it ... or toward a comfortable exit if that's your conclusion. Chasing dollars (especially FAANG/VC dollars) might work out almost by accident, or you might end up damaging yourself. Just drifting along, doing what everyone else does or says you should do, will not cut it.
I feel you. I've always been one to fill the gaps on the team. You need someone to learn this new tech/process/etc - sure, I'll do it. It's hurt my career. Now I'm 9 years in and I'm not an expert in anything (anything that matters - they outsourced the tech/system I was an expert at), just average/passable at a bunch of stuff. I'll be an intermediate developer permanently.
For example, I learnt the basics of Blue Prism, as I was asked to. It's really just an automation stop-gap until the underlying system can be updated or replaced to handle the target scenario. Then I was told we wouldn't even be using it, so I learnt it for nothing.
we try not to execute on that in the sense of rewrite it every 6 months, but it is typically a signal for individuals who possess some level of humility, patience, willingness to get trained up, struggle a little bit, etc. - all very important things for technical staff.
Of course a candidate's flexibility is attractive, but it doesn't seem to be appreciated once they turn into an employee.
My most hated thing about the industry: the amount of people who do not give a shit.
These people try to do the least amount of work possible. They actively try to stretch a day's worth of work into a month. They do not want to learn anything, even on the company's dime. They have zero passion and pride. Often they are vicious; they will act so kind and diplomatic but they are sneaky snakes that will take credit and control communication. They would shoot their own mother to look good (apologies for the morbid exaggeration). I know that this might be common elsewhere but I feel like our industry has seen such demand, and 90% of that demand was filled with awful people. The poor visibility of actual work done allows these people to continue feeding of the flesh of true, honest, hardworking devs. I've been eaten alive once too many and I'm sick of it.
Is Your Boss Narcissistic? [Signs of Narcissism at Work] https://www.youtube.com/watch?v=2P-5q0C31m4
(the video also talks a bit about coworkers)
Dr Ramani is a PHD psychologist specializing in narcissism, she has great yt videos. I also recommend educating yourself about gaslighting, manipulation, invalidation etc. Don't take everything you hear at face value.
Signs of gaslighting: https://www.youtube.com/watch?v=FISZshe9L3s
(My hypothesis is that large companies turn to crap largely because they eventually end up recruiting toxic but charismatic people, not really because of their size.)
That said, I agree with you that large companies are worse because there's a higher chance of a manipulative person being hired and acquiring company.
I also think that the more money to be made, the higher the likelihood such people will show up.
That's also why governments don't work, they're just the largest companies we have in society + monopoly on legal violence.
This is why they're not burned out.
And IMHO, this sounds a lot like sour grapes. To be rewarded for good work your management needs to know you're doing good work. For them to know you're doing good work you need to tell them. This is just a basic fact of life. And it's not super hard. You just need to maintain a relationship with your boss and ideally your boss's boss.
So your solution is to just not give a shit like everyone else? The reason that I've become so good at my craft is by giving a shit. The reason that my projects always succeed is because I give a shit. Not giving a shit puts a ceiling on your career as a developer. Not giving a shit will prevent you from learning. The irony in my situation is that I am investing in myself by doing the work, I am learning and improving myself while others stagnate. I try to remind myself of that.
> And IMHO, this sounds a lot like sour grapes. To be rewarded for good work your management needs to know you're doing good work. For them to know you're doing good work you need to tell them. This is just a basic fact of life. And it's not super hard. You just need to maintain a relationship with your boss and ideally your boss's boss.
Sour grapes? Only one or two sentences complained about recognition. I'm talking generally about the majority of developers at big orgs. Deal with management? I work in a global org that already has plenty of communication issues, people don't want to be bothered. Moreover I don't want to deal with politics as I am a long-term contractor. I try to remind myself that I just need to bill my hours and forget about it, but I'm essentially treated as an employee and my insane efforts carry a team of 8 people (including other contractors) that literally do nothing while reaping the pay and recognition. They run mouse movers all day and enjoy their paid staycations. "Spend the budget" -- since I provide 10x the value then give me 10x the pay, the other guys are doing nothing while it's expected that I work my ass off. A manager that I befriended once told me "yeah that's usually how it goes, team of 8 but one or two guys do all the work. typical" How is this acceptable? If I give up like the others then I am no better, I become the person I despise and I contribute to the horrible culture that has taken over the industry in big orgs.
I'd say give a sustainable amount of shit directed at tasks rewarded by management.
You shouldn't see your coworkers as different from you. They're just further along the path to enlightenment. The ending points of this path are effectively:
(1) Finding work that you're passionate about and pays
(2) Finding work that allows you to do something you're passionate about
Unfortunately the opportunities for (2) are far more abundant than the opportunities for (1). The lucky/smart/motivated ones can attain it. For the rest of us there's just (2).
You're climbing burnout mountain now. At the top of that is a long slide called Midlife crisis that ends in the valley of enlightenment.
I give a shit about what I do. I know my employer does not give a shit about me though. My advice: keep a timesheet!
It's amazing how much unpaid overtime people give their employers if the employer doesn't make you fill a timesheet. It's awesome to look at your own timesheet and see that you really really don't need to feel bad about stopping working at 2pm on Friday because even that still keeps you in overtime territory. It doesn't mean you don't give a shit. You gave it your everything while you did the work, you cared about the code you wrote and you still got way more done than the people sitting in the office for 60 hours a week while goofing off on Facebook. The whole WFH thing makes this much easier because you don't have to dread people's turning heads when you leave the office that early.
The other thing is "unlimited vacation". If you have that at your job, make sure you check how much vacation you are actually taking. Companies actually like unlimited vacation policies, which should be enough for you not to like them. People tend to take less vacation under such polociee. Nobody wants to be the one that took the most vacation for some reason and companies exploit that. So keep track and just take the amount you think you should take (within reasonable limits). E.g. 30 days a year is completely fine. If you work in technology in Germany then 30 days is very likely the amount you get, even if you are fresh out of university.
I think employee life will always be a source of anger for passionate people like you.
Have you considered finding business partners and starting your own company?
1. You're valued more the older you get (Opposite of engineering) 2. Your job is to talk to customers and collaborate with your coworkers to get a deal done (No more internet explorer bugs) 3. You learn an awesome skill (sales) that helps you navigate through the bs politics of not only work but life.
If anyone is interested in my transition from engineering to sales, happy to chat! Email me at ju.lee@segment.com
I work for a non-software company and don't have to deal with tests, I solve problems with software. I can use the tech I like. I am measured only by results. If I have problems that negatively affect my performance, I get opportunities to get my energy back, be that another project or some free time. There are these companies out there. Maybe not as prestigious, but there are advantages if you like going to work.
Don't ever work for people with an inferiority complex, they will constantly try to throw themselves against you and you should know your own worth. There are enough jobs for softies out there that you can leave that behind.
For the last 6-7 years, I work at a much more relaxed pace, am respected and appreciated for the work I do, and am able to separate home/work life. I don't get to work with the latest technologies and there isn't as much opportunity to move up the ladder, but ultimately, the joy for me comes from solving problems and making fellow employees' lives easier in their daily jobs.
I think another factor in all of this, is that I live in flyover country and the mindset seems much different here than on the coasts.
The only problem I have with the post is that they have the luxury of quitting. People like myself are trapped in the job. They're likely making 5x many people's salary if they are a principle engineer at a large tech firm.
I dream of quitting everyday, but I know I have to deal with this job for the next 2 decades at least (about 9 years in). I'm miserable and know I'm wasting my good years, but I have to support a family.
Try not doing everything for a while.
I'm personally offended.
I've had my job outsourced, been subjected to office politics, been passed/screwed over for promotions, seen the company violate its own rules to my detriment, etc ect.
I'm completely fucked. I'm basically on bad day away from ghosting my job and living off the dime of you working people.
I mean, I've seen all those too and that was only like 2-3 years in. So?
It's normal workplace behavior.
I think most of us are just upset with capitalism, tbh.
"It's normal workplace behavior."
It sucks to see that you don't care at all about integrity.
It's why many of us try to rise up the ladder to get some level of "control" in a company to fix those frustrations. But then many miss solving the problems they previously worked on and realize that creating change isn't so easy after all.
So that leaves us in search for a company that one can be themselves, provides a feeling of accomplishment, and creates happiness. That's a tough mix to find.
For me, the only solution to this problem has been to start a company of my own. Sure it brings it's own problems, but the satisfaction and happiness it brings is well worth it.
I spent a month on unemployment, looking for my Next Thing. Ended up doing more programming than I had done in the previous year. Went freelance. Suddenly, most things were better.
Started to hate things a little bit again. I was never very good at finding clients, so I got stuck at a single, long-term, full-time one, and was feeling stagnated. Changed my focus from webdev to VR. Loved the work, but couldn't find clients. Ended up an employee again. Right back into the same, old shit.
Eventually ended up at an established, non-tech company that decided they wanted to start doing their own R&D on improving their offering. Everything is great. This company has the best culture I've ever seen. People work and are happy to work, but it's not a cult that fawns over the company. The company is small enough that everyone knows everyone else, but not so small that we're constantly rushing around, looking for money.
Moral of the story: never trust an MBA who has studied the tech industry. My boss now has an MBA, but it was more "this is what I'm going to study to help out in the family business".
> I'm sick of everyone being on Adderall.
Is that really a thing? ie What proportion of software folks are using it?
i’ve seen a lot of people i know, from preschool teachers to principal scientists, get an ADD or ADHD diagnosis in their later years. the acknowledgment of a disability is much easier now.
all of that said, the use of adderal, vyvanse, and concerta has skyrocketed in the last few years in high school and college and most people just carry the habit forward at this point. my experience with interns and software engineers who define themselves by their job has been a high use of methyl salts to enhance productivity. i’ve mostly worked in the bay area though, and before moving there did not see that pattern as much in non valley workplaces.
Continuing medication is not really "carrying a habit forward".
A major shift in thinking in the last 15 years is to realise that ADHD is not a juvenile condition. It lasts into adulthood, but the symptoms change because the brain has changed and because of acquired coping mechanisms.
"Adult ADHD" is just ... ADHD. The medications continue to be a useful treatment.
i would’ve used a term like “continue the addiction” to emphasize my disagreement with that action. i appreciate the insight and will work on clarification in the future.
Are you saying a significant part of human kind has been disabled for the past couple of thousand years and we are only now acknowledging this?
I am old enough to remember ADD/ADHD did not exist. We were outside a lot.
Mild ADHD was less of an impediment before industrialization. It's less of an impediment if you have a secretary at the office and a wife at home. Self medicating can help.
What does a severe case look like if you don't know what you're looking at? Maybe shiftless, maybe dim, maybe accident prone, maybe hot headed, maybe a drunk.
Do you think people didn't get PTSD before the name was invented?
It existed, but it was undiagnosed and untreated.
But did it 'exist' at this scale? I don't think so.
Neurological understanding of ADHD has advanced enormously in the past few decades.
I'm touchy about this subject because it's hard not to take the implication personally that it's somehow a recent invention.
My guess is that software development is a field where it is more common for folks with the ADHD hyperfocus to excel, but if there is a problem brewing it should be addressed.
When did ill people start taking antibiotics?
> My guess is that software development is a field where it is more common for folks with the ADHD hyperfocus to excel
Your guess isn't quite right. Hyperfocus is not something that can be turned on and off, and the subject of hyperfocus is not chosen at will. It's a symptom that demonstrates that "attention deficit" is an unfortunate misnomer. The problem in ADHD is not a lack of attention, it is reduced ability to govern attention.
> When did ill people start taking antibiotics?
It is kinda implied that it is PED abuse right? Not medication.
More recently, one of LessWrong’s favourite topics is nootropics for intelligence enhancement.
Less recently, Terence McKenna’s critique of caffeine and the industrial revolution and the concept of a “tea break” to give tired workers stimulating caffeine to boost productivity, and how easily that became the norm instead of a siesta or a marijuana break or knocking off early for the day.
But yes, there is also an issue with abusing these things. I don't know anyone who does this anymore, but I also don't work in a particularly fast-paced environment, nor do most of my friends.
It’s more likely that he is struggling with a common psychological distortion - minimize his accomplishments and maximize his failures.
The only opportunities were web development for local businesses so it looked like a bad financial move at the time but I enjoyed it that much and not many people were interested in it back then.
But it feels like something went seriously wrong along the way. The industry seemed to have turned into some kind of giant ponzi scheme which attracted all kinds of crooks... People who don't give a shit about coding; it seems that these people managed to get themselves promoted into all the decision-making positions.
The industry is so rotten. Luckily, I managed to get into blockchain space which also has a lot of rotten parts but somehow I managed to secure an income from working on my own stuff so I don't have a boss anymore. Now I'm building a sane/intellectual community from the ground up and being extra careful about what kinds of people we allow in.
Maybe not scrum and CI/CD stacks. Talking-head managers and various byzantine process decisions stemming from that and from management-resumé-driven decisions they did have; in fact, the agile movement was a reaction against that. CI/CD was a reaction against often heavy manual testing and endless bug hunting fromm bugs discovered far downstream (often, in prod) and the attendant pressures. Sure CI/CD may suck, but getting a ticket from support because the installer for your enterprise product with license cost starting at over $100K/year shipped to customers with a syntax error in the install script and the accompanying pressure from customers (and thus from sales, and thus from engineering management) that go with it isn't great, either.
At least I imagine it wasn't for the dev team; when I experienced it in 1999 I was the support engineer who identified the problem...
Usually if scrum is failing is because of a lack of trust. Someone wants to know every detail of what is going on and will use the only process they have, scrum, to bash it out of you. They end up backing waterfall into scrum and thinking they are 'agile'. I am currently watching a perfectly functioning set of scrum teams being torn down due to a rethinking of what scrum is. Adding in 20-30 mins more work per story. Just to get the 'paperwork' right plus 4 different review processes before a story can be worked on. That does not sound bad until you realize the org is popping hundreds of stories every 2 weeks.
Then toss in 'devops' where you have no responsibility to change anything but get all of the 'responsibility' of being yelled at because it is broken. Hanging out with a pager just incase something breaks. And it will, usually at 3am on a sunday and the tech support guys just call you without even opening the logs because that is what it says to do in their RTS guide. But it turns out you need the guys who wrote the code to look at it because they just checked in something 2 weeks ago and the whole thing just went O(N^N^N), and his phone is on mute. But you have no auth to check anything in or change the machines but the dev does.
He would get back the joy of coding and still be a programmer, without having to deal with any of the corporate system.
I can fully understand where he is coming from, it's not the job itself, it's the whole system that makes it unbearable after a while.
This is the reason also why there aren't many people over 40 in tech. They have usually by then accumulated enough money and found an exit strategy.
Absolutely this. I'm in my mid thirties and I've been working professionally since high school (worked full-time through college). I still love the craft but I've had a hard time finding companies I enjoy working at long-term. Thought I found one, then we got acquired and the work and culture changed. The acquisition was probably a good thing as I don't know if we could have weathered COVID as a small company, but that fact only makes me lament the more the inevitable unbearability of it all.
I say this to underscore my agreement. It's not just one job. It's the whole system that seems unbearable. After a while you give up on finding the mythical company that fits you.
I truly hope my company will not turn out like that, because I don't think I'll survive that. I've been in the game for a while, but I'll need to survive at least another 30 years of working. God help me.
Early in my time at the university I started to feel again the way the author describes. When I started to attend local tech meetups and started to take university CS classes out of interest, I started to feel rejuvenated. About 3 years ago, I changed to a team of much younger developers. They used modern tools, had less bureaucracy, and developed distributed applications, which I had little experience with. That was the step I needed to get excited about development again. Now I'm working extra time on my own because I enjoy the work. I'm also taking up niche areas, like language design, in my personal time.
To anyone reading this who might feel the way the author does, I give the advice to focus on finding your cultural fit and figure out the priority of your values. When I worked for startup companies I loved the absence of bureaucracy and the rapid adoption of new technology. But I hated having to wear a lot of hats: I really despise desktop configuration and system administration. My current team has some bureaucracy but we have teams to handle the things I dislike. So it's a compromise that I feel works in my favor.
It was hard to find such a position but I’ve bumped into quite a few others like me who are “crypto coders” who do their work that’s really only possible with software. In some ways I actively don’t want people to know I can code as then word gets out and I might be “forced” to code.
Although I’m probably a terrible programmer compared to really good ones, I did support myself for a decade or two.
There’s a lot of data product people who can’t code. My org doesn’t buy or sell data so it’s really just about figuring out ways to link stuff together.
I've dealt with basically exactly what the OP described, but have had a very different takeaway from it. I don't let it affect me at all, it's something I do for 8 hours a day (extremely rarely more than that) and then don't ever think about it or talk about it.
I develop software in my spare time because I love software, hardware, and building things, but in my day job I might as well be a janitor for all the similarity it has to making things.
It sounds like OP puts too much stock in being fulfilled at work (which is great if you can find it), but I have a more pragmatic "I give them 8 hours of my day in return for money (and some growth) and that's it" attitude, which I find helps my mental health much more.
If my job gets to a point where I think that spending 8 hours a day isn't worth the money or that I'm not learning enough, I quit.
I've been there before. I burnt out as a teacher and almost burnt out on software development, too. What has worked for me is to spend a lot of time introspecting my own motivations and needs, and then working hard to identify places that are good candidates. This took longer than it sounds like it should. But it's hard to break out of the impressions I built from my lived experience of what it seemed like work had to be like.
I'm really happy with work now. I don't have the Thank God It's Friday or the Sunday Scaries, which characterize a job I have to endure, rather than one I mostly enjoy.
I'm glad I tried it, it's unfortunate I didn't do well as it really knocked my confidence down but I'm happy to have found a supportive and good environment after that back in SWE. Lots of bad companies/jobs, but there are some good ones.
I'm hoping the same story goes with tech sales at some places and that ship was just on fire and I didn't realize it because I had no prior experience to look back on.
edit: And then the culture. The enterprise sales culture. I'm sorry but I never want to encounter it again. The amount of slack messages I got that were "hey" and waiting for me to respond there was wild. But the biggest was nobody at all cared about what I had going on. Just a worker drone to shutup and generate revenue no matter how close to burn out you get.
I'm curious if being in person would have helped me, though. I'm not sure how much it it was zoom exacerbating my anxieties or my own anxieties/introversion burning me out.
(or the terrible company)
edit: I was a PSE not really tech sales, I did have to do engineering and got the hard technical questions all day long. It's not your run of the mill sales job, the sales person used me as their tech arm. It was mentally exhausting.
I had a role similar to what you are describing at one point. I got to the point where I was basically mentally exhausted and short-tempered all the time. I had a lot of in-person meetings and strongly preferred web meetings. With web meetings you only put on your game face for the length of the meeting. With in-person meetings you travel to, you need to put on your game face for much longer, including before and after the actual meetings.
IMO the way to not destroy yourself in PSE roles is to basically be the type of person who is okay with having a very superficial technical understanding of the wide range of things you see at customers. Otherwise there are an infinite number of technical things you can become an expert on, and other people in your team and sales people will absolutely crush you under the weight of all the different questions your customers have.
At least for me, I was an technical expert in a bunch of enterprise level technologies and duct tape stuff that basically translated into nothing if I moved a bit out of the software I was responsible for. Some people are okay with that. I was not and it really crushed my mental state after a few years.
Sure, some SWEs at are making $500K a year, work 2 hours a day, and get their underwear washed with free laundry service.
Some sales people have a royal life that they pay for by traveling like crazy and working crazy hours to deal with internal and customer politics. But a lot of sales people don't have unlimited expense accounts and their job is a slog to try and convince people to take a second meeting and buy something at some point.
In software engineering, the gains are much more equally distributed and the contribution to society is more valuable.
As for contribution to society, I don't agree. The big winners is software make some pretty toxic stuff.
The interview was mostly about making sure I mixed well with other people. There was a coding challenge, but not leetcode style. I had to write a program that solved a real world sort of problem. A surprising number of people do fail this, even though naive O(n2) solutions can still pass.
The transition was a bit of a shock. They just threw me in the water. Like many of you, I have impostor syndrome. Being put forth as a expert on a system I knew little about was very awkward. It took about 6 months for me to be comfortable with what I am doing.
I do not spend all day on Zoom like others in the comment section. Instead, I deal with a smaller number of high value deals. That distinction in probably key to whether the job is better or worse than SWE.
[1]: https://gavinhoward.com/2020/08/the-software-industry-is-bro...
So, I'm adding this as another reason to keep avoiding co-location as much as possible.
[1]: And, well, online meetings discussing what to code and how to do it; they're often pointless, particularly the daily ones, but bearable.
While it's arguably more stressful, it's at least good stress. Everything you do is about making a good product and making money. There's no politics, just users and clients. The act of software development turns into the craft that you wanted it to be at the corporation/startup, instead of monkey work with little to no stake in the outcome. I'd rather be poor than waste my life.
Another good thing about it is that I decide when the product is finished. Every time I've gotten a job at a startup, I built the product in about a year then was forced to stick around for the endless revisions, updates, new features, etc. It seemed like work for the sake of work. What happened to the lazy developer trope? I believe 90% of it is superfluous, and the main product + good marketing is what's actually important for revenue and satisfying users.
A dog-walking app should be finished in a few months. The end. It's not like the software somehow erodes over time (unless you keep screwing with it and adding stuff). If the users are happy, just cash out already.
Finally, you decide who you work with - as a partner, not an employee. That changes the dynamic a lot. You can say when you're done, and you get a real stake in the outcome.
Since the coronavirus, working as an employee in software has lost its lustre. You don't get the big beautiful office with bean bag chairs, you don't get to socialize, you don't learn anything, and you sure as hell don't control your hours.
The only way I've managed to solve any of these qualms is to just tell my boss, more senior engineer, director, etc, "No". Work is a relationship just like any other and your job will treat you exactly as you let it, and if you never say no or stick up for yourself and say I don't like this or that, of course it's going to grind on you.
Just like everything else with life, there's going to be some bad with the good, just be sure to draw a clear line in the sand as to what you're willing to put up with and when it gets crossed, stand your ground.
It really sounds like the root cause is hating working for a large company.
I do freelance software development work and I experience none of those issues in my day to day. That includes never having done a coding interview in ~20 years of freelancing.
> I'm sick of wasting time writing worthless tests
You can find a codebase to work on that aligns with your testing preferences
> I'm sick of endless meetings and documents and time tracking tools.
I found a gig without heavy process. It was one of the main criteria in my job search.
> I'm sick of reorgs.
There are well organized, flat companies that don't suffer from endless team reshuffling.
> I'm sick of everyone above middle management having the exact same personality type.
Tech lets you work remotely and choose who you interact with. I live in a middle class Colombian neighborhood. When I finish Zoom calls with Americans, I can walk out my door and am transported to a different world.
I'm glad OP found a new city and job that work better. Not sure they needed to leave tech. They could have started a bootstrapped small company (no VC), or gotten a corporate sponsored open source gig, or whatever.
- some kind of manual labour or any kind of movement, sitting at a desk all time is boring and unhealthy
- some kind of social interactions, I don't count tech-talking as one
To anyone else reading this who has felt the same, the entire industry isn't this way. Yes we have many issues in the tech industry. My current rule is to only work with people I believe in, and on problems I believe should be solved.
There's a lot of software development out there and a lot of different companies. Sometimes it's better to not work for a pure software company.
For me, it has not been possible to avoid corporate stress and BS and still maintain a high salary. I moved to another country.
Trying to retire within the next decade. I don't want a boss period.
TLDR: Two kinds of work are doing and justifying. Those of us used to doing are really bad at, and demotivated by, the justifying.
Sorry, I should have book marked it.
--
Finally listening to Graeber's Utopia of Rules. It's kinda blowing my mind. Like a firestorm in my head.
Graeber's The Democracy Project has even more radical, useful explanations. His distinction between "rational" (following the rules) and "reasonable" (doing what's right, fair) gives voice to something that's been plaguing me for decades.
Graeber supplies more of the puzzle pieces for how capitalism (in the USA) came to mean corporatism, and how these paradigms necessitate the Kafka/Brazil (movie) style bureaucracies we all hate.
It's really an amazing time to be alive. I came of age reading Peter Drucker, Buckminister Fuller, Donald Norman, and many other humanists. (The conclusions of the proto-libertarian stuff never made sense to me. I always thought of myself as whatever the leftist version of libertarianism would be. Same complaints, different conclusions. I had no idea that makes me an anarchist. It took me reading Graeber to finally start understanding what Chomsky's been talking about.)
Looking back, I truly didn't understand how far out of the mainstream their notions were. The humanists made sense to me and I guess I assumed everyone was on the same page. Alas, I've always been an outsider in my own land.
With the rise of post-capitalism and renewed interest in direct democracy, empathy, participation and so forth, my world is finally starting to make some sense.
I decided it wasn't really working and that they were probably going to figure out that my way of thinking wasn't a good fit for their context and we'd part ways on good terms. Instead of just waiting around for this, I decided I would try to use my remaining time and 'rope' to try to learn as much as I could about why my previously successful patterns didn't work in this context. So, I essentially stopped trying to do what I was 'supposed' to do and instead looked at the organization's objectives behind my tasking - and try to actually help deliver what they really wanted. Technically, this could be considered insubordination but I tried to be as subtle about it as I could while still being effective. I figured I might get myself fired faster but instead, I was actually partially successful in getting "good things" happening. So, I doubled down on this approach and escalated. I got reprimanded by my direct manager (a very senior exec) for not following specific orders but no one was too upset because it was clear I was trying to act in the best interests of the company. Those of you with relevant experience can probably guess what happened next. I got promoted because leadership decided I was just "difficult but getting stuff done". This led to nearly a decade of my constantly escalating my efforts to "do the right thing", even if it wasn't exactly in the order or approach I was instructed to take. I managed to continuing to deliver enough success (along with some failures in-between) to not get sacked. Eventually, I escalated my "do the right thing" so far, we did end up parting ways but it was mutual and they were very nice about it (by this time I'd pretty much told everyone around me what my approach was). I'm happy I stayed and did it this way. In the end, I worked my ass off, delivered good value for the company, made really good money and when we parted ways both the leadership and I felt the net of my service at the company had been a success.
In short, I think the OP could have possibly stayed around to figure out the "meta" game of that BigCo. Maybe a good mentor would have helped. Alternatively, maybe it was just a lousy company or a 'broken' group within the company.
I think as an industry we need to look at tests, particularly unit tests, and Test Driven Development (TDD) through critical lens. Writing unit tests is seen as a virtue while in reality how much value an individual unit test adds given the cost of writing, running and maintaining unit tests.
What baffles me the most is TDD. I have seen front end teams of startups doing very simple apps following TDD. I have delivered complex data pipeline project without writing a single unit test. I wrote functional tests and lot of monitoring tools for the pipeline. But not a single unit test. It worked perfectly fine in production. For technically simple projects I just don't see any value in following TDD. And the value of unit tests for simple projects should be very carefully thought through.