Has anyone else here felt the same? Or felt like being done with Software engineering? If so, I would like to know when did you figure this out and what are you doing right now, and how did you end up doing what you are doing?
Asking for Software Engineering in particular, because I have seen people from other professions find coding as a passion and wanted to know if there are people who went the other way.
Unfortunately I don't have any answers but as the other responses point out software is a gilded cage because it would be very hard to get anywhere near an equivalent salary doing anything else.
I had become increasingly disillusioned with software, mainly the maddening bureaucracy, problematic management and lack of teamwork over my previous two jobs. But I also had something of an existential crisis when I realised I think that so much of what we do is just rewriting or updating apps to use the new hot tech in order to have something to do. I feel like so much of what's exciting people at the moment are solutions in search of problems, if StackOverflow can run on a few servers to serve an incredibly high traffic site why do we need k8s and serverless and firebase and microservices and kafka and whatever else (granted I have no idea what most of these things are or do)? Why in the name of God do I need an entire build pipeline and SPA framework to deliver some static HTML to users? I feel like Rust is interesting and potentially worthwhile but I don't have much interest in the domain of problems Rust excels at. Granted all this is coloured by the burnout I'm recovering from.
I think I will probably end up going back to software, maybe as a contractor, but I'm tempted to try something new. My belief is that it would be easier to do something socially meaningful in another field but even in scientific research most work is pointless and the reward/funding system is entirely dysfunctional.
In my current job, we have a globally distributed application that can handle 1000 times more load than expected. We have a sufficiently complex CI / CD process that took almost as long to develop as the application. We have a developer whose job is to fill out TPS reports. The application could have been much simpler, but we had to use certain technologies. Then we have so many ceremonies around it, such as daily surveys, meaningless waterfall style planning and then the use of tools for agile practices for waterfall style releases. It takes at least one hour to create tickets for the approval of the commercial process before each production boost. All the time, they told us that we needed CI / CD so that we can release code more frequently and easily.
Now in my forties, I have a hard time changing and I have probably stayed too long in my current job. It's not that I'm not receiving offers, but I feel that all jobs are the same, at least, for web developers. Basically, create things that help with sales and marketing, either directly or indirectly.
Sometimes I think that my feelings are what some people call midlife crisis and that I should do something typical of people in their 40s, like buying a sports car.
Not sure what the answer is. I felt that I should also share my frustration.
At this point it’s become a kind of joke for me because anything else would be too depressing.
It's comes from leadership and trickles down to individual engineers. If your leader is deep into this mindset of completely over engineering things, you are screwed. I quit a job like this because the system was just too much. It was making me hate my profession and that's when I knew it was time to go.
You can get so far with a simple monolith, there is no need to suffer the whims of someone justifying their position.
It's insane how many companies scale for growth that they will never achieve. Even if they are successfull.
It's not that you can, that you should do it is my living mantra.
For me the disillusion has more to do with feeling like working at a "unicorn" tech co is no different than any other corporate environment, where you have people who are optimizing for titles and influence doing anything to achieve those things, and feeling like playing those games is just not compatible with my personality.
The other part of it was the cognitive dissonance I got between hearing "this is changing the world" and thinking to myself "is this really that innovative and is this a net benefit to the world?"
I guess 6 years in tech is about the time when both you've saved enough and seen enough to decide you want to not do anything for a bit anymore...haha.
At the same time, the “change the world” rhetoric is even harder to swallow when you look at things this way.
But I came back with different goals. I wasn't pushing myself to be the best engineer in the world... I just did the work. I wasn't trying to make software used around the world... I just took jobs and did my best.
And I found that with a more relaxed attitude, I was better. My work was better, my performance and satisfaction overall was vastly improved. And my career went to a better place. I still don't have the passion for it that some people do, and won't miss it when I retire. But I have solid skills, a solid work ethic, and a solid career.
There are often real disputes, between real companies, on patented ideas that are incredibly similar. Having a solid technical foundation is necessary to fully understand what's going on. As a patent litigator, you generally get to work on 2 or 3 cases at a time, often involving different technology, and you get to become the expert in them. I personally worked on Bluetooth, H.264, and crazy image processing algorithms, among many others. The downside of course, is that while you deal with tech and learn about it, you're now on the outside. You don't make anything, and the job is stressful, but for the right person, it can be a good fit.
Yup, for me, it was the right balance. If you want to start a company, learn engineering, then learn something else, then build something for that something else.
> Apparently, it is Django-based, though I'm curious about what are other components of your stack
I use Django, jquery, elasticsearch, and google app engine 4 years ago. For analytics, I have used so many platforms and have built a bunch of custom stuff. Sadly, no native mobile app, but the site is fully responsive.
I'm pretty skeptical of taking my past decisions and re-applying them today. Today, parts of it (especially jquery) seem outdated, I'd probably choose vue. Even Python, which is generally great, is causing pain today (moving 2.x to 3.x; performance for a number of corner cases). App Engine used to be an incredible platform, but google has stripped so many features from it that it's hard to describe it today as a real PaaS.
I have never felt that I had to stay stuck doing something that I no longer enjoyed. For me learning new material (and enterprise scale networks was a big challenge) and facing new challenges has always been more inspiring than merely picking up a fat wage. The biggest problem being that, for most people, their spending increases faster than their income. Exercising a small bit of restraint and having some savings opens up so many great opportunities and adventures.
I can understand the fear of starting from zero. But that doesn't need to be the case. What I have always done is to focus more on domain knowledge and then segueing from one area to a adjoining one. Technical knowledge, alone, quickly becomes outdated. But domain knowledge continues across multiple generations of technology.
I'm a lot happier now that I can outsource some of that work to other people. Maybe in the future some of the boring 90% can be automated away, but the human factors remain.
I was first inclined into software before deciding on civil in college after the dot com bubble burst.
I recommend all software inclined engineers do anything but software. Software Programming is a very powerful tool in most industries but is least required in the software industry.
So I recommend you pick up another skill. And start working on it from a software perspective.
Do you mind if I ask how he achieved that? Did he go back to college? I ask because I've been thinking about transitioning to mechanical engineering, but going back to college for 4 more years and racking up 10s of thousands of dollars in debt is off putting.
Try to see if you can find a more interesting domain to apply your skills in. For me, moving to a senior role offered a more interesting scope and facing more design work and advising mixed with some coding, mentoring, etc.
If you’re tired of the field entirely, maybe there are non technical roles where you can apply a set of your skills in something like management.
p.s. I believe all software engineers should be factoring in a year out for every five years worked.
I would hazard to guess that as much as you had many challenges, you always felt a sense of accomplishment when you completed a particularly difficult bit of tangible work.