HACKER Q&A
📣 Trasmatta

Career paths when you've been disillusioned by the software dev process?


I'm 10 years into my career, and I'm very tired of team based software development. I still enjoy programming but I've come to dread almost everything surrounding it.

My work / life balance is decent, I work for a pretty good company on a cool product, and my co-workers are good people. I have suffered from mild to moderate depression most of my life, but I'm doing my best to take care of the basics there, and I'm seeing a therapist. I'm beginning to see some of the classic signs of burnout, but I don't think this is strictly a burnout question.

I work well on teams, my teammates like me, but I've always preferred solo work. I think this is a stable personality trait, as I remember feeling like this as early as kindergarten. Other factors include the already incredibly complex social problems that come from developing software with a team of humans, the monster that Agile / Scrum have become, bizarre and poorly thought out technical decisions, failed projects, endless meetings, and being told what to do by people who have never written any code.

Anywhere, here are some of the possible ideas I've come up with, and my thoughts on them.

Make the most of what I already have - I'm fully willing to admit that I may be in the best possible scenario already. The Hedonic Treadmill is real, and the grass is often not greener. I might just need to reframe how I think about it.

Find the perfect team - Maybe if I job hop enough, I'll land on the perfect team that actually fits my work style.

Consulting / freelance - I'm not sure if this is any better, because you have the constant pressure of needing to find and work with clients. There's something to be said for having the freedom to only take on the projects that interest you (or pay the best), and to not be shackled to them forever. The freelancers I've talked with all seem to agree that your happiness in this path is largely contingent on your ability to find good clients.

Solo Founder / Indie Hacker - It sounds like a dream to have a small product that you build entirely yourself, that makes $100k-$200k/year. There's a lot of cool stories in that space, but I've also read a lot of stories of people working tirelessly for years on a project that never makes over $1k MRR. The thought of putting that much work into building something while also working full time just feels like too much to me.

One idea is to combine freelancing with being a solo founder: do enough freelancing to cover living expenses, then use the rest of the time to build your own things (with the hope to sell them).

Optimize for salary, and FIRE as quickly as possible - I could just grind to get a job with the highest total compensation possible, work it for enough years to be able to FIRE, and then just code on my own terms. It mentally exhausts me just to think about doing this, though. I don't want to go through the interview hazing followed by months of learning a company's internal politics.

Get out of writing software as a career entirely, do it as a hobby only - Maybe, but at the moment I don't have anything else that I'm either skilled enough at to get a job for now, or interested enough to put the work into. But it's something I can keep in the back of my mind.

--

The "freelancing part time while working on my own product(s)" seems like an interesting path to pursue. I'm being cautious though, and I don't plan to make any big changes for 1 or 2 more years at least. I may find that I'm already in the best possible spot, and that this is just the Hedonic Treadmill at work.

Has anyone else here been going through a similar thought process? Or decided to take one of these paths (or another I haven't thought of) already for similar reasons?


  👤 dtagames Accepted Answer ✓
I'm 25 years in and have the same problem. I feel like I could have written this. I have a side project (which has a software component but doesn't require that), but it's not monetizable yet. Like you, I still have to sell my skills in the marketplace -- one that has changed dramatically since I entered, and in all the ways you pointed out.

Software development used to be fun, and many parts of it still are. But a sad new dev culture has taken over which I think hurts both developers and the products we create. This leads to junky software that no one likes.

I wonder how much of it is due to the VC-backed philosophy of "selling to the next greater fool." As long as a company is just waiting to sell out to the next round of investors, the folks at the top have little incentive to make a great product or a great work environment. After all, those things are not counted in company valuations.

In the enormous list of job postings on HN this month, I can see many companies which are obvious failures from the get-go. And many others which are clearly scammy, purely opportunistic, or vulture-based business that simply tax others and profit from their misery. I'm sure those places make money -- for a while. But I can't believe that these are sustainable product ideas or places to work.

What's to be done to fix our industry?


👤 nine_zeros
Developers are attracted to software engineering because of autonomy.

As it turns out, the industry has figured out how to remove that autonomy in favor of old fashioned management and processes. This includes scrum, meetings, badly implemented code reviews (not everyone is a good reviewer), badly implemented coding standards, ineffective Dilbert driving projects that need inspirational leaders.

It's sad but I have decided to take the path of FIRE and say fuck you to anyone who imposes their will on me without considering alternatives.


👤 kentrado
I am the in the same situation as you. This has been what I've identified is the main thing that ruins my life. Every day it takes me about 30 minutes for me to convince myself to get out of the bed and continue doing senseless grind with no end in sight.

I have zero autonomy over what I do, because I joined a extreme programming shop where I'm supposed to pair 8 hours a day. Do you know how hard it is to program all day without listening to music because you have to "communicate" all the time? The only thing I've been able to device to reduce this sense of dread and lack of autonomy is to focus on developing my own tools to work. But now, I can't even do that because some dolt complained that me using non-standard tools made him "confused" during our pair-programming sessions.

The standard advice for this situation is to get another job. But I know, that will not fix the main issue. The previous job I had, was a legacy tech debt nightmare, we were understaffed and management didn't want to address any of the issues while expecting us to do over-time support.

The job before that, had beautiful code but the code-reviews were insanely political and if the reviewer didn't like you, you would get 400 comments on a PR.

This industry has managed to take a beautiful thing like developing software and turn it into a nightmare. JUST LET ME CODE IN PEACE YOU IDIOTS!

As for solutions, the one that seems more rational to me is the "freelancing part time while working on my own product(s)". That's the one I'm betting my life on.

Wish me luck.


👤 alexfromapex
This is crazy because I am 10 years in and feel exactly the same. I actually just put in my two weeks because I got sick of our scrum team doing cargo cult agile and I’m going to take some time off to reset and then maybe look for a 4 day work week remote job doing architecture mostly solo. If I can’t find my perfect software job I’m going to branch out into something else I can do outside software that I like. Life is too short to be miserable.

👤 burntoutfire
It's interesting how this question resurfaces on many (most?) weekends, but is rarely posted on weekdays. It shows that we pretty much only have time for some introspection in the two free days in a week allotted to us - the remaining five are just a grind.

👤 tobbob
I'm in exactly the same situation, feeling exactly the same way. I don't have an answer, but I do have another option to add to your list which is to take a year out.

I share the dream of making my own product, but I lack imagination, and probably skill and work ethic too. But, if I intentionally planned to take 12 months off, especially if my employer is happy to take me back, the opportunities are endless. Get fit, travel, read, start your own side gig, learn a language, find love, and most important of all, unplug from the system, become human again. I don't know if I'm trying to persuade you or me at this point, but it's something to consider if you have the cash to cover it.


👤 roeles
Have you looked into working at a non-agile company?

I thought working in waterfall projects would suck, but I think it is a large part of why my current job doesn't require much interaction and why most of my colleagues have a calm air around them.


👤 zer01
I highly recommend the solo founder + consulting path. Look around you and find a problen you want to solve, and try to solve it well. Maximize for being able to spend time on that thing. Do consulting work when you need money or want to change things up a bit. Eventually along the journey you’ll find other bright and motivated people who you will want to work with (as friends first), and possibly form a team of cofounders to build stuff together. I was in a similar spot about 5 years ago and not only has this path given me numerous ways to hone my skills across a broad spectrum of disciplines and stacks (not to mention dealing with very real “business shit”), but you meet wonderful people as part of this, gain a “see it with your own eyes” perspective of how dysfunctional most orgs actually are, and you forge a lot of good contacts and in-roads who can potentially be future customers of a product you build. Selling things is so much easier if you have people championing you internally, and people will happily champion you if you prove your competence and truly solve their problems. You also get real agency with this path - if you’re doing consulting work to pay your bills but maximizing for your free time to build products, you can also just…not build products for a bit. I’ve learned many skills, do personal research projects, and get to spend more time with people I love as a result. Obviously I’m incredibly privileged to be in this position but I truly believe if you’re competent and maybe a bit clever the opportunity is still there and very much alive. The best part is that if you no longer find it palatable, it serves as the best resume fodder you can possibly have - just go back to the “normal” working world and kick off the cycle again later using what you learn on someone else’s time (while also being an excellent internal contributor because they may also be your customer some day).

👤 karmakaze
> I work well on teams, my teammates like me, but I've always preferred solo work. I think this is a stable personality trait, as I remember feeling like this as early as kindergarten.

This describes me for the first 3 decades of my career. I can now enjoy working together on solving problems. In particular full-time pair programming was brutal at first but then you hit a groove and it's great. No specific advice here, merely a self observation.

> Other factors include the already incredibly complex social problems that come from developing software with a team of humans, the monster that Agile / Scrum have become, bizarre and poorly thought out technical decisions, failed projects, endless meetings, and being told what to do by people who have never written any code.

My advice would be to find a company that has/does less of these things you dislike. The best setup I had was working on a 2-pizza-sized 'platform team' for a ~100 person startup. There was a good mix of developing new features, scaling, and firefighting (that we learned to reduce applying SRE practices). We could start with a problem, whiteboard ideas, start prototyping, finally end up shipping the solution in the same sprint for an unplanned issue.

> being told what to do by people who have never written any code

I wouldn't say this is a good view to hold and may be a source of discontent. The 'what' is really a product question answered by knowing your customers and markets. I wouldn't expect devs to be experts here. The how, at what cost, or when would be better to execute are areas that devs mainly contribute. I do get a sense of what you generally mean though, and my solution had been to work at smaller companies with strong technical management (preferably up to the CTO and/or CEO) and very little to no middle management.


👤 hancholo
I created an account just so that I could comment.

I'm not a dev although perhaps in a few years hope to pivot to the field in some capacity. I do however work closely with devs, product, etc and i'm n the engineering space. Having said that, perhaps you could use this as an opportunity to solve this problem. What does that look like? Writing a book on the matter to help others since you do have a lot of experience and could possibly partner up with others in the field in the same kind of situation, creating a course, an app (there are endless amounts that focus on mental health and wellbeing but how many that are more focused on those in engineering disciplines?).

I have dealt with depression and an anxiety disorder in the past. I have helped some friends and family members learn to cope and overcome as well. By no means am I an expert but I do have some insight that I share with anyone willing to listen so that they can better maneuver around it rather than avoid it entirely and make it more difficult for themselves.


👤 nicbou
I run a website that helps people navigate relocation to my area. I mostly write content but occasionally write code for the website. It's a lot more relaxing.

Writing software "when it feels right" is a very different experience. I quite enjoy it.


👤 Khelavaster
"There's something to be said for having the freedom to only take on the projects that interest you (or pay the best)"

Do you live in the USA with work authorization? You already have the freedom, probably...find another open position somewhere looking for someone like you, start working somewhere else


👤 ipaddr
Pick a different programming stack. Some stacks encourage large teams, agile and meetings about other meetings.

Javascript development with AngularJS or React lead to daily scrums and larger teams. Perhaps it's cultural but if you switched to Vue your chances of avoiding the daily standup go up. Environments with services that you are supporting include a lot of meetings discussing boundaries. A lot of services are written in golang.

Consider C++, Ruby, PHP, Perl and older tech like COBOL. These communities haven't fully accepted tbe daily standup.

Sticking to companies that are small (under 20 people) will force small teams and less meetings and more solo work.


👤 sylens
What about taking your development experience and using it to your advantage in a role in security or even sales engineering? Having ten years of experience in development means you could slot very nicely into application security roles, and I'm sure there are a number of sales engineer spots where you will code little PoCs and demo's but spend more of your time talking with customers and going out to dinner...even traveling if that is what interests you.

👤 BadCookie
If you find a team that is small enough (2-4 engineers), you might find that most of your work is effectively solo.

I can relate to a lot of what you are saying. I’ve thought about becoming an analyst / data scientist, but there seems to be more competition for fewer jobs that also pay less. And I’m not at all sure if changing roles would “fix” the problem.