HACKER Q&A
📣 zikero

I’m falling out of love with coding


I spoke to a lot of software engineers around me and the feeling seems common.

I remember the days I started coding, and how much I enjoyed that. I was able to create things with just the power of my thoughts, and it felt like a superpower.

Nowadays, I feel like I have to jump so many hoops and spend so much mental bandwidth just to get the permission to code. It would be fair to say that on avg I spend less than 20% of my time coding or solving problems.

Any project I work on is connected to a million different tools, workflows and services, that all do things their own way, and everything lives in a totally different place, where it’s hard to monitor what’s going on.

I feel like anything can break at any moment and ruin my day. I don’t understand any of the tools well enough to be confident that it’s stable, and the worst problems are the silent ones. This is giving me anxiety.

I work mostly with Javascript — and that doesn’t help. All the frameworks/libs I use insist on being too flexible, to the point where I don’t know where to start and how to do things. Just show me the “right” way, and let me figure out how to opt out if I want to. Oh and every 10 minutes there is a new tool that pops up that does things differently.

I wish I could go back to the days where I spent most of my day in the IDE and at the end produce something that was (to me) amazing. My most challenging moments were when I had a tough logic problem to solve — but I enjoyed those immensely. I’d rather fight with my brain than with the tools I use.

I wish I could just use an IDE that takes care of all the crap for me and just lets me code and write business logic.

I now understand why there’s a trend of developers who want to go live in a farm or take up woodworking: tough(er) problems, but with less variables & easier to reason about. If the wood breaks, you can see where and can probably guess why. Making a table is a mostly linear set of steps, and the basic tools you use don’t change much throughout the years. There is no invisible ghost that lives in a separate realm (dev environment) that can ruin your work at any time and leave no trace.

Any insights? Should I just switch careers?


  👤 digitalsushi Accepted Answer ✓
The red tape is garroting us.

My wife's dev environment VMs are 'remediated' at 8pm regardless if she's using them or not - there is no override policy - and the company is singing the success story of saving 40 dollars in licensing.

At another corporation, it can take several weeks to learn how to fill out the IAM role and permission boundaries to allow a new app to run - and a governance board has to review it and allow it.

We have weaponized Agile and Scrum - loathsome coworkers will write stories to write stories. Upper management is pushing us to mark "out of office" one day a week, but to then work through it, due to superfluous meetings dragging the productivity down.

A 4000 dollar, maxed out macbook pro boots up directly into a load average of 20.00 and upwards, as antivirus software scrubs every interaction and files open and even at rest deep on the SSD disk. Teams videos run at 3 FPS and lag constantly, making one look like they dont understand the conversation.

All of this, to dabble in code, the thing we're passionate to do, to try and help these places exist.

I didn't fall out of love with coding. I love it deeply, but there's an abusive guardian at the front door with a shotgun, oblivious that I'm here to help


👤 actsasbuffoon
That doesn’t sound like you’re falling out of love with programming. It sounds like you’re frustrated with the red tape at work.

Try working on something fun on the side. Make a game, or a mobile app, or something you’ve always been curious about that doesn’t have anything to do with your job. You might be amazed by how productive you feel when you work on something ambitious that doesn’t involve all of the corporate machinery.

I’ve been getting a nice dose of that with game development. Sometimes I sit down on a Saturday with a big plan that should last me through the weekend, and I get it done before dinner that evening, and I feel like some kind of programming wizard. It’s been a great reminder that I am a talented programmer, but I’m just feeling burned out on all of the tedious process that’s involved when coding professionally.


👤 mouzogu
2010: edit html button

1. install ftp/sourcesafe

2. connect to url and authenticate

3. edit button

4. upload

2023: edit html button

1. install git

2. setup git credentials in terminal

3. setup git ssh key in terminal and browsers

4. use internal bootstrap tool to install node

5. macos no longer supports bash, spend 10 mins switching everything to zsh

6. install npm

7. try to clone and install the code with npm i

8. 20 different node js errors, deprecation and dependency warnings

9. embark on a bunch of side missions to resolve all the node issues

10. try to start local environment

11. local requires docker

12. install docker

13. docker requires sudo permission

14. request sudo from IT

15. fill an IT form explaining why you need sudo

16. get lectured by condescending IT dweeb about how you're being monitored and to use sudo ONLY for approved things, have to try drag in manager to explain why sudo is needed

17. finally install docker (requires a giga f*ckton of ram to run and slows down your machine)

18. start the local environment

19. docker starts installing a bunch of crap and updating

20. try to edit the html button

21. the local server not refreshing or your change is not reflecting

22. turns out this repo is just for the button only, to update the copy requires another f*king repo (go back to step 7)

23. finally done, try to commit changes

24. your changes are 10 commits behind the branch

25. try to merge automatically, cannot be merged

26. make a PR

27. smug know it all "senior" developer with 2 years experience, gives a bunch of nitpicky comments on the PR and refuses to merge it

28. stare into the abyss


👤 mattgreenrocks
I'd argue the current culture is set up to create this very scenario.

You've realized that your work is stripped of many elements of creativity in the name of making you replaceable. Of course, we can't say that last part, so we instead talk up how great tooling is, and how quickly we can onboard people (Nobody asks why there is such a need to onboard people so often, or so quickly.)

When your pursuit of mastery is thwarted by guardrails everywhere, you're not going to feel like you're progressing. And people have to feel like they're pursuing mastery.

To move forward here, you need to think hard about what you want from a job. It goes beyond just "being able to use my brain and an IDE to solve problems." What domain are you interested in? What type of stack would you like to work on? What would your ideal day look like? What type of people are your coworkers like? What markets do you want to serve?

I made a similar leap in 2012. I ditched webdev because I determined the culture at large to be toxic to the craft of engineering. Started self-teaching myself compilers because it seemed far enough from webdev that I wouldn't get sucked back in. 10 years later, doing similar stuff still. 10/10, can recommend. Now contemplating specializing in another domain to spice things up again.


👤 kardianos
> Any project I work on is connected to a million different tools, workflows and services,

I was just skimming and read that, and I thought "he is working in Javascript" and yep, later on that's it.

I stay away from the Javascript/TS ecosystem (npm et al). I program mostly in Go, but also quite a bit in Typescript.

I would learn/use (even if for personal projects) more boring tech stacks, like Java/C#/Go/PL-SQL/T-SQL. For myself, Go has extremely stable tools that just work and have well-known limitations. Consider a lateral move within tech.


👤 _trackno5
Take this as constructive advice: stop expecting your job to be fulfilling.

Yes, most jobs are filled with corporate drudgery. Business doesn't generally require tough (technical) problems to be solved. The point of business is always to make money by serving the customer.

You need to find a way to thrive in that environment otherwise you'll just drown.

I work on boring-ass bank payment stuff. I spend my days writing google docs and convincing PMs that their ideas are totally out of whack and hold their hands as I explain how things need to be done to not code ourselves into a corner. I barely code and when I do it's mostly some stupid API calls and shoving that from one DB to another.

Instead I look at my job as a way to make loads of money and get better at my social skills, and outside of work I do the hard cool technical work I want to do.

And I am able to do that because I really, really want to code. I don't waste time on social media, games, etc. Coding is more fulfilling than that for me so I do that instead.

If you can find a job that lines up with your interests, great! Go for it! But there's no ideal job and there will always be stupid work that someone needs to do.

As someone told me early in my career: different company, same shit


👤 taterbase
What you're describing sound like the challenges that come from working at a big company. In my opinion you have a few options; each better suited towards different levels of burnout, which I believe you might be experiencing.

1. If you're severely burned out take some time off, as much as you can. A few weeks would be nice but a month or more would be even better. I've found that after spending the first few days (or even the first entire week) being a sloth on the couch I'll begin desiring to program again. Working on personal projects or just learning something new without worrying about work often helps me out of these valleys you're describing.

2. If you're moderately burnt out you may want to consider joining a smaller company or startup. The need for code is much greater and the agency you get at a smaller company is incredible. No need to ask for permission, they want you to code.

3. Finally if you're not quite burned out or if switching to a new company is not an option I'd honestly recommend reading some books like Peopleware, Mythical Man Month, Coders at Work and others. This will give you some respite as what you're experiencing is not uncommon. Learning how others have experienced what you're experiencing and how they push back or fight against cruft like this will embolden you to hopefully make change within and push back intelligently.

I hope you feel better and that the joy of coding comes back. And if it doesn't I hope you ultimately find happiness, wherever that may be.


👤 redleggedfrog
I'll contribute by telling an anecdotal story.

Our company was hired to take on a project that was failing. It was an order export and update system between a website and an ERP system, neither to be named for the obvious reasons, and of fairly significant mismatch between the data in the two systems.

It started with some visual tools for the data flow, got a shit-ton of node and random libraries piled on, running on a hosted service with a deployment system for faster updates cause it broke constantly. It lost data 5% of the time or just failed to export the orders. It was shuffled around to different groups which changed up how it worked.

If I had to work on it I'd have quit. Instead I rewrote in 3 days in .NET Core C# as a console app running on a schedule using Json.net, XElement and hand written transforms and it was fun. Copied it up, got it running, buffed off a handful of rough edges for about 2 more days of work and it's been running fine since. No updates needed no data or orders lost.

My point? Reject all that shit that is just bad languages and bad systems and poor choices. Do it with what makes you and the client happy. Clients don't care what it's written in the just want it to work. So choose what you like and gets the job done and lets you move onto the next fun thing. If you don't enjoy your work you're trading your life for money.


👤 okaleniuk
You can write in JavaScript without any frameworks and libs. The language itself is pretty self-sufficient.

5 years ago I started https://github.com/akalenuk/wordsandbuttons to focus on interactive writing. Just text and JavaScript to make interactive illustrations. There are no dependencies in principle. Nor external, neither external. Only text and code. Tons of fun, no red tape.

You might think that this works for small projects only. Well, there are more than 50 interactive pages now (would have been more, but I spent 1.5 years writing a book), and things haven't started to fall apart yet.

I strongly advice vanilla programming for hobby. JavaScript or not.


👤 nicbou
You hate work, not programming.

I left programming as a career, and now use it in support of the website I run. I went from dreading going to work to skipping meals because I can't lift my hands from the keyboard. The passion came back, and it's stronger than ever.

You know what's fun? Just building stuff on our own terms, and going outside when the cafeine wears out. I overengineer or hack together as I goddamn please, and boy howdy does it feel like a million bucks.

Get rid of Agile, meetings, red tape and fixed work hours, and I guarantee you that you'll feel the magic again. But ditch programming and keep every other part of the job, and you'll hate it just the same.


👤 rzzzwilson
> Should I just switch careers?

You certainly seem to be in a rut, but before you take up woodworking or glassblowing try branching out and do some programming in a totally different area. This could lead to a change of career focus but you would have to start in a part-time/hobby way. I can't make any concrete suggestions since I don't know you or your circumstances, but make radical changes. Choose a new language, get into a totally different programming area, think of your own projects where you have total control.

Personally, I work in the scientific area doing a lot of varied work including visualization. I have an embedded programming hobby in the Arduino world using C/C++. I have been making measuring instruments for ham radio but currently I'm in the middle of three clock projects. All of them are designed to JUST WORK™. They guess the current timezone, take time from the internet and try to handle daylight savings changes automatically. Configuration, to set access point and password, is done through a web server that runs on the clock acting as an access point. I cut acrylic cases for them and they are good enough to make nice gifts. It's very satisfying to take a project from the back of the envelope through to completion, and it appears that is something you are missing.


👤 ta988
Switch to work for a small company where you can focus on your code and choosing your solutions. I've seen a lot of people around me working for large companies being well payed but also really unhappy with their jobs. Money will not buy you happiness.

👤 modernerd
Explore switching development focus away from front-end.

I recommend trying Swift/iOS/macOS development. No more editor or framework hopping or megatrees of unmaintained dependencies spewing dependabot hell. You will be using Xcode with Apple's APIs to build exciting things that often weren't possible with web tech alone. SwiftUI is easy to learn if you know React. The skills are in demand. The Swift/iOS communities are mature and supportive. Apple's hardware isn't going to become less interesting or less popular any time soon (Apple VR/AR products are on the horizon). Swift is a very nice language; much more fun to use than JS/TS.

Downsides are ecosystem lock-in, general lack of openness when you run into bugs with Apple's APIs, having Apple as a gatekeeper between you and your customers, and not being able to use latest Swift language features or APIs due to minimum OS versions, but if you're prepared for all of that it's a satisfying ecosystem to work in.

Others here are recommending backend, but having been in a similar position to you I get the feeling you might not love it. Large modern backend services are often just as over-engineered and prone to cargo-culting as frontend. You will likely spend more time writing YAML than you feel you have the emotional energy for. The cloud certificate courses people will send you on will feel like sales and marketing systems designed to lock you into building end-to-end solutions with a provider's stack; not satisfying education that promotes personal growth. You will probably have to be on-call, which is not as common for frontend or mobile/Swift devs. By all means explore it, but I'd be a little more careful on that path.

Good places to start are:

https://exercism.org/tracks/swift to learn Swift.

https://www.hackingwithswift.com/100/swiftui to learn SwiftUI.


👤 gaoshan
I'm an older developer and I do feel much of the pain of what you are talking about, especially with regard to frameworks/libs getting so abstracted as to be painful to learn and deal with effectively.

I realize that many of the practices of the past either won't scale or are not sufficiently secure but I sure do miss the days of, for one example, builds and deploys being simple things that anyone could reason about and accomplish in a matter of minutes (with maybe an easy to learn tool that helped automate even those simple things).

Now we have tools that require domain experts to configure and manage effectively, processes that are arcane and convoluted, services that are so flexible and abstract that you can't easily determine how to use them and their documentation has to be so specific that after a bit of time and evolution half of what you find online is wildly out of date, "Oh, yeah... don't follow those instructions you found on our site. Try this Github repo instead".

I miss just building cool things but I also feel so burnt out and worried about income that I have fallen into a rut myself.


👤 Pet_Ant
This reads much like "I like welding, but I hate working on an assembly line". Those things you find annoying are things that help make the process streamlined, trackable, repeatable, and you fungible. Of course things are more fun when you are guided by your own flow and direction... but how does that scale to hundreds of employees? It's the independent flow of programming that I fell in love with, and that I now realise I'll never really get in a workplace.

👤 acjohnson55
I feel you on the pain of coding. It's a big reason I shifted to management. And it turns out, after a few years of getting my feet under me, I quite enjoy it.

The reality is that in many businesses, the job of software engineering past the entry level is a lot more than just coding.

This isn't a dynamic that is limited to software engineering. I'm renovating my house, and it has been extremely frustrating at times to work with my architect. It occurs to me that those frustrations are typically around the aspects of her job that aren't design oriented, and I can see how those other things probably dominate her work.

Coding is very creative, and I suspect that's what drives many of us to get into the career. But the deeper you get, the more you find that the highest value things you can do from a business are bridging your creative work to all of the systems and processes. This is how you can create a business that harnesses the work of hundreds of producers to meet coherent goals. And unfortunately, this can't be completely externalized to all of the administrative people, like PMs and managers.

What you wrote also speaks to another dynamic, which is that over time, there is a divergence between the platform and the real business needs. More and more time gets spent working around that mismatch. There is no silver bullet solution for this. You can shrink the platform (e.g. microservices) but then you will feel the pain in increasingly complex integration and operations.

But the good news is that platforms are constantly improving, and I think we're getting closer to the point where we stop solving all the wrong problems. For instance, server-side rendering is having a renaissance, getting us away from all of the emergent complexity of client-side frameworks. Tools like Temporal, Airplane.dev, Trigger.dev, Patterns.app, etc. are creating platforms for writing operations and automation tooling with far less operational overhead.


👤 vbtemp
I'm in a job now that mostly involves bare Linux network programming in C. The only dependencies are CMake, VS Code with C/C++ plugin, and the regular Linux libraries. No "sprints" or "Agile" or "tickets" or cruft like that - just delivering incremental value to customers at a reliable pace. Gosh I love it and it brings me straight back to my happy place. I once worked a job adjacent to modern web development and front-end stuff and man, that stuff just sucks and is not fun.

👤 sparsely
I don't have exactly the same problems - our dev stack if pretty old fashioned but works well (dotnet). I don't enjoy it as much either though, most business problems are either easy + tedious to resolve, or involve making a complexity tar pit even worse. Naturally you'll end up spending almost all your time on the latter. Add on top a lot of interpersonal tension from there being a bunch of almost equally good ways of doing any one thing and it's easy to see why programming can stop being fun (while still being a decent profession).

I thought this was well put: > I now understand why there’s a trend of developers who want to go live in a farm or take up woodworking: tough(er) problems, but with less variables & easier to reason about. If the wood breaks, you can see where and can probably guess why. Making a table is a mostly linear set of steps, and the basic tools you use don’t change much throughout the years. There is no invisible ghost that lives in a separate realm (dev environment) that can ruin your work at any time and leave no trace.

There's not many things less starting an implementation and discovering a series of hard to anticipate incompatibilities between your implementation and the rest of the system. I'm sure this happens in other professions, but perhaps it's easier to work around?


👤 coldpie
I think it's perfectly normal to want to do something else after you've been doing one thing for decades. Humans like variety, the "mid-life crisis" is a thing for a reason. I think IT work in particular is tricky to escape, because it's such a large step down in pay to switch to another career. People end up stuck here for longer than they ought to and burn out or coast, because they don't want to take the pay downgrade to find a new career path.

👤 agentultra
Consider that "being in love with programming," is an odd thing to say. Love is an emotion best reserved for the people in your life that you could never live without. The act of programming is a means to an end.

The act of creating art is a means to an end. It doesn't keep you up when you're down, it doesn't check in to see how you're feeling; creating something is often emotionally draining. You have to dig deep inside to create something, take the risk of putting it out there in front of others, be vulnerable, realize that your first attempts won't live up to your expectations, that the real work begins once you start editing and refining... and the final result may never be what you initially imagined; and so you seek to put yourself through it again, one more time.

Don't fall in love with this process! It's way easier to remain impartial and you will retain a lot more of your creative energy when you do. You will be able to take constructive criticism and be more productive with it. It will help you refine your work and get closer to that ideal form you envision.

Programming is very much a creative endeavour. It has similar ups and downs. Don't fall in love with it!

It seems to me that you're not giving up on programming but perhaps are not enjoying something about the process. It could be the tools! It could be that you don't see that what you're building is worth the effort. Maybe you need a new project? Maybe you will enjoy embedded programming or systems programming more? Maybe there's some problem you would rather be working on?


👤 davbryn
You aren't fed up with coding, you are fed up with implementing someone else's idea of coding. Frameworks are helpful. They allow you to get up and running; to leverage other people's work. But you aren't solving anything. That's why it isn't fun.

Which is more fun? importing graphics.draw as g and calling g.lineto(x,y) or writing your own lineto(x,y) function?

Don't switch careers, but take a side project doing your own cool stuff. Get your pen and paper out! Draw thos lines; write that code. Will anyone use it? Probably not. Will you enjoy it? Totally!


👤 lampshades
I doubt you hate coding. You probably just hate your job, I know I do. In fact, while it has taken me 8 years, I have come to the realization that I hate all jobs. I hate that someone is getting richer off my back while at the same time destroying any passion I have for something that I have always been passionate about. I hate the entire industry. I hate working with other software engineers. I hate having a manager. I hate having OKRs. I hate everything about having a career.

That’s why I’m going to get out of it, I’m going to make sure of that.


👤 atlantic
I work at a small software business run remotely and staffed mostly by older workers (50+), myself included. There are very few processes to speak of. We meet a couple of times a week, we have one application to hand out tickets, and another to clock in hours worked. That's about it. The pace is leisurely, the tech stack is a bit old-fashioned, but we build solid products, and the company stays afloat. And I get lots of freedom to build things the way I like. Not perfect, but good enough.

👤 davnicwil
It only addresses one part of your concerns, but I seriously think in javascript/web land the pendulum really is starting to swing back the other way.

I started my career in the server rendered 'rails like' monolithic web framework days, where only sprinkles of JS using libs like jQuery and prototype were being used for a bit of UI dynamism.

I saw (and partook in!) the rise of what I'll call the 'client-rendered' era with libs like Angular and React. This is often also referred to as SPAs, but SPA really is just an implementation detail. The important bit is that most responsibility for rendering, data, and state management, takes place on the client - be it in a single-page bundle architecture or no.

I saw that happen from the ground floor and so I know what momentum building for that kind of paradigm shift looks like. It takes years, and goes through various stages of hype cycle. I remember 2-3 years into this cycle many companies and parts of industry not yet taking React seriously, or believing it was or would be something very important in the industry (regardless of your opinion of it we can all agree it is important).

The point being that these changes and turnarounds are very, very slow indeed. I believe we're now about two years in to a shift back the other way, to a fundamentally more server-based approach taking only the best ideas of the client-rendered era and throwing away the bad ones, or at least the tradeoffs that weren't worth it.

We're seeing it in frameworks like Remix, and NextJS, and even some of the edge-based ones like Deno's Fresh (indeed, edge compute is one of the new things that exist since 10 years ago that I believe will help drive the transition back to server-based rendering).

The full transition back may take another 2, 3 or even 5 years. But I am confident now that it is happening and that it will happen. So you may want to get involved in driving this forwards!


👤 aatd86
It's okay. Soon it will all done by A.I. /joke

Try another language if you're burnt on the ever changing ecosystem. I would consider Go (golang) for instance.

The tooling is much simpler, so much so that you might not want to go back to javascript.

There is not a big story around building UI with it but some people are working on it (including me). :)

I got fed up with the ADHD of javascript back in 2013 and made the switch. Probably won't ever go back. Bare js is fine but the frameworkitis and build tool-itis, I can't deal with.


👤 baremetal
>I now understand why there’s a trend of developers who want to go live in a farm or take up woodworking

I own a farm and a carpentry business, both since the start of covid. And I do freelance development. I have no plans to return to corporate coding. Life is great, never been happier or more fulfilled. But that is just me, your mileage may vary. Also it is a lot of hard physical work, at least during building and growing season. The grass is always greener. I code in the winter.


👤 steve1977
> I work mostly with Javascript — and that doesn’t help.

Yup. I would even say it's probably the root cause. Stop working with JavaScript.


👤 oofta-boofta
The day I opened my own business and started doing C2C work was the day I was able to deal with the whole "red tape" thing.

Burnout doesn't come from working hard, it comes from there being a dichotomy between the level of effort you're putting in and the reward you get back. Programming itself is very rewarding but dealing w/pedantic micromanaging bosses, writing emails, etc sucks.

As a consultant, I bill by the hour and I get to command a certain rate within my niche. My employers can inhibit my progress as much as they like, I'm going to bill them either way. The amount of fun drives I've taken in my Porsche while waiting for a blocker to get unblocked or a product to compile is hilarious.


👤 majikaja
I don't live in the US nor work in tech, but I am wondering - have the big tech firms been doing much juniorization lately as part of the recent recruitment spree?

In my industry there certainly was a lot of jobs being dumbed down and hiring standards falling, with the indivisible challenging work being concentrated into the hands of a small number of people.

Personally, I don't find technical implementation any more interesting than creating Excel spreadsheets - it's just a tool for me. Maybe some applications require very sophisticated implementations, but I don't think that's the majority of cases. There's no high-tech feel about IT in 2023 to me.


👤 pharmakom
This is how I felt until I started doing functional programming. Not FP like category theory and such, just working with simple data and functions. Less powerful languages like Elm or more pragmatic languages like Clojure are great for this.

👤 halfmatthalfcat
Are you sure it's the code and not the organization? I love coding but everything about shipping software makes the programming feel so devalued. Coding is an art and companies don't care about art, they care about money. Mix that in with Agile and office politics and everything seems to be about the act of shipping instead of the software itself.

👤 blastonico
I'm 40+ yo, work for a faang, and feel the same.

Problem is that, at my age and experience, this bureaucracy is expected from the industry.

I'm learning - psychologywise - to deal with it. But, I'm frustrated to be honest.

My "side job" is to invest the more I can, aiming to be able to retire in my early 50ies and, finally, be able to be a programmer again.


👤 neilv
One of the things that bothers me lately is that the "tools" (libraries, frameworks, documentation, toolchains, baked-in enforced brogrammer conventions, questionable service lock-ins, etc.) are usually in many ways poor-quality, poorly-designed, and inferior to what I've used in the past.

I won't itemize all the ways here, because I started, and had to delete them, because it would take hours and ruin my day (and some communities would never speak to me again).

Another thing that bothers me is that Web search hits are mostly SEO, posturing, or otherwise low quality or negative.

It's no wonder, if a lot of people are seeing software as an unpleasant and poorly-effective corporate BS activity that one only does for income and ladder-climbing/job-hopping. Because that's what it's being made into.

Another thing that bothers me is mostly symbolic: so many open source projects now base much of their communities and support around Discord. Despite nominally being about open source, it seems they've somehow missed the ongoing lessons of the last few decades in that space.

There was a time when this would be glaring sign of bumbling corporate effort that didn't "get it"; now it just means ordinary programmers or brogrammers who're just mimicking what they see around them (which is self-perpetuating).

If you're feeling discouraged, I don't have a good answer right now, but I guess look around for like-minded people, and how to carve out a less-BS oasis.


👤 ryanianian
Moving to a farm or giving up on the industry for this is basically saying the tools are hurting more than helping.

Tool fatigue is real. Most companies and developers do not invest in their SDLC. So you end up with a system where even a small change can require outsized effort leading to burnout. Tool fatigue is real.

Many libraries/languages/frameworks encourage a simple, vanilla SDLC. Think `rails` or `poetry` or `make`. But rarely does that scale once a project gets more than two developers, more than one repo, or more than one way of declaring dependencies. Everything turns into a snowflake script running a build-system integrated with hundreds of yaml files spreading out over repos and toolchains. Good luck doing fast end-to-end iteration on a change to something three layers deep in your dependency stack.

I wish the industry would try to solve this in a way that doesn't have vendor, language, or cloud lock-in.

Maybe some combination of containers, nix, asdf, and bazel or something. It doesn't seem that hard to be honest, just requires some innovation and resources to find and execute on an extensible and sane SDLC toolkit.

Until then: Find a way to iterate on your core problem. Become a jedi in at least your smaller domain. Focus on developer productivity. Make it easy to make a change. If it's not, find out why, and solve that problem exactly once rather than having to solve it for every change. Easier said than done. Often times it's politics and momentum that you'll have to overcome. Hopefully your company values this work.


👤 flambojones
I’ve completely been there. I burnt out hard, not from overwork, but from this type of stuff. I started to think maybe I enjoyed software engineering but not the business of software engineering.

I took a break and did a lot of reflecting. I bought a workbook in career changes and started working through it. After a bit I started getting the itch to code again, so I did a Udemy course in a programming area I had done previously and really enjoyed but had gotten away from.

After a while I realized I was ready to go back to work. Before I did, I tried to figure out what made me so miserable previously. In my case it was the poor decision-making processes with unclear ownership that made me feel like I was always seeking permission to get things done. I also decided I didn’t want to work on large projects with untyped Python. When I started interviewing, I decided not to be picky or make too many assumptions in the early stages of the process. Once I started interviewing, I really honed in on these things and asked a lot of questions about it. I ended up at a small startup that’s doing reasonably well with really high velocity. I feel like I have a conversation about some design thing in the morning and I’m well on my way to implementing it in the afternoon.


👤 zX41ZdbW
I recommend doing "minimalistic software engineering" - an approach when you use as few technologies as possible and prefer something simple (that is easy to accommodate in your intuition) that works out of the box.

I've made a presentation about this approach at FOSDEM 2023: https://presentations.clickhouse.com/fosdem2023/

(the video will be published soon)


👤 bookofjoe
"Beware of looking for goals. Look for a way of life. Decide how you want to live and then see what you can do to make a living WITHIN that way of life." —Hunter S. Thompson

👤 btbuildem
There are plenty of ghosts in woodworking, some will ruin the piece you're making, and some will ruin your day and send you to the hospital :)

How long have you been at this? As in, is this frustration with the org / current tech stack, or is it maturity and moving past just pushing bits around?

The JS ecosystem is notorious for what you describe - piles of busywork nonsense for its own sake, wheels regularly reinvented. I do some UI work, I manage to stave off 99% of the bull by using vanilla JS, vue, functional css and absolutely no build chains, no npm, no node. And for the love of all that is holy, keep JS out of the backend, only use it where you have to (ie, the browser).

It sounds like your org isn't that well organized. Perhaps it's not a career change, but a place-of-work change that's in the cards? Making a living as a woodworker, a tradesperson or a farmer is -hard work-.


👤 brightball
About 6 years ago, I was in a very similar place and it motivated me to get into management so I could focus on cutting through that red tape for my devs while escalating the problems caused by it to higher ups. I realized that if I could help people work 5% more efficiently at even a small company, it would outpace the value of me trying to work 24 hours a day as a single programmer.

I do consulting now and when I get to see the response from dev, product and QA teams when they get to experience better first hand it's rewarding. Hearing excitement about the changes from execs first hand is wonderful.

If that's not your cup of tea though, try learning something that makes you think differently. For me, this was getting into Elixir and Phoenix. I binge-read Programming Phoenix in about 24 hours and my colleagues will tell you I haven't shut up about it ever since. :-)


👤 kurtbuilds
You are anxious about things constantly breaking, and you work in Javascript. No surprise.

Try learning Rust.

Your anxiety of things constantly breaking will disappear.

I've been coding for about 20 years. My joy of coding would be gone if not for Rust. Instead, writing code is my primary hobby today, in addition to it being (part of) my job professionally.


👤 noufalibrahim
That's a stupid piece of advice floating around "Choose a job you love, and you will never have to work a day in your life". That's the problem.

The correct approach is to keep your love and job distinct (though perhaps intersecting). This keeps your love your love while still allows you to work.


👤 tipiirai
I hear you! Transpiling, bundling, CSS in JS, image imports, hooks, dependency hells, huge stack traces, the list goes on and on.. Such a mess.

👤 bamazizi
I can totally relate to "keeping up with the Joneses" when it comes to new tools, frameworks and trends. JS world is full of new crap to "compensate" for the lacking of older crap. I wish there was some sort of a consortium or standards body to review and sponsor new initiatives. If you have a new idea for "better" JS anything, great, apply to the consortium first to get grilled and polished before being able to release your thing. Sometimes red tape is a good thing.

There's a reason why we have a review panels behind protocols. IF you leave it open to people working in their spare time, you end up with the current chaotic world of JS!


👤 shoshincl
Hello mate. I learned to code at 13 like 20 years ago as hobby. 15 years ago I started building digital product/startups but sadly no one took of the ground. 10 years ago I started my first job in software development and yesterday was my first day as pizzaiolo. It was a hard take, my income is now cut by at least 5 times but my happiness is higher than ever before. I closed down the door no to coding but working on tech. I need to shut down the computer for a while to feel back the love for programming/building digital stuff. I ll be back to coding to work on some side hustle while having fun and not for a f*cking salary.

👤 kostarelo
I remember vividly the times when I was so much impressed of every single line of code I've written that day. I would stay up late at nights just to make the perfect piece of code, the perfect UI, the perfect architecture diagram, etc etc. To me, that feeling was life-giving.

Nowadays and after lots of years of experience mainly in early-stage startup environments, I don't even care about the code or the low level stuff.

I'm trying to embody my self to the mission. I'm looking for the right metrics to watch and when these metrics are impacted by my actions (or my teams' actions because these environments tend to be very team-driven) thats when I get the same feeling as when I was writing those Visual Studio LoCs and was building those grey UIs with MS Access for data storage.

With the right mission and metrics, comes a problem. With the right problem that will motivate you and excite you, comes the solution. And the solution will be a package of the right code, the right UI, the right line of communication, the right team policies.

I've stopped using the term software engineer for my self, I prefer the term product engineer. And building the right product is my mission.

If you haven't explored that path, of changing your perspective of what gives you that feeling, maybe it would be helpful before deciding to go live in a farm. :) All the best.

I would also like to hear from people that went through that path and where that lead them because I'm still early in my career (in my 30s now).


👤 rafaqueque
I'm currently fighting with poor README instructions on how to get a project up and running locally. It's been a couple of hours already and I just want to code, not fight with these tools.

👤 lightbendover
I moved back to an IC/Architect position at a BigTech co and I now have the opportunity to code again if I so choose but I honestly can't stand to work through the boundless configuration and plumbing hell it is. If I decide to take on a personal project in my free time, I feel 100-1000x more productive than I would ever feel in the corporate setting. I would say I fell out of love with enterprise code years ago and I would almost certainly have remained a manager if that was my only option as an IC.

👤 martinald
Honestly try out dotnet, especially on Windows VS (which actually works really well with Windows Subsystem for Linux these days, so you can run it easily on Linux).

Usually libs in the dotnet ecosystem are pretty clear on how to use them, and the stdlib of dotnet is huge - so you use a lot less 3rd party dependencies than other enviroments.

Personally for webapps I prefer MVC to Razor Pages, but that is personal choice and probably because I am so used to it.

I also do a lot of JS/TS work and really know what you mean with "fighting" the ecosystem.


👤 0_____0
I met a guy in the forests of Canada who was riding around on an ATV with his dog close behind.

We talked for a bit, he works in Forestry for the provincial government there.

He was going around gathering data from wireless water temperature logging devices, data which would enable analysis of the effect of logging and other extraction operations on trout migration patterns.

He left me with a hot tip - versus the groundwater fed ones, surface-fed rivers are clear and cold, perfect for taking a dip on a hot July day.


👤 RomanPushkin
You're mixing coding with industry. Coding (aka "happy hacking" - RMS) is so much fun you can't fall out of love with it. Industry often boring. Once you make this distinction you won't go back.

I felt a bit upset with coding as well. Then I found that most of that comes from management failures, random people in industry, companies that don't care about employees, and pretty much what they do (except money).

So advice is stop "working", start happy hacking.


👤 bartread
> I feel like I have to jump so many hoops and spend so much mental bandwidth just to get the permission to code.

This comment speaks to me very deeply.

It isn't like this where I work now, but I've worked a couple of larger enterprises that were exactly like this. Everything was set up to prevent developers from sitting down and coding. I haven't worked enough different places to know if there's a clear pattern here, but in neither of these companies was tech their core business. One was an tech-based offshoot of a financial services company, and the other was a very large retailer.

Not everywhere I've worked where tech isn't core business has been like this, so that's why I hesitate to draw a general pattern. However, I've worked at four different software/tech companies over the years and, whilst they all had their flaws, in none of them did I ever feel like I had to get permission to code. Actually, that's not quite true: I did work at one for a number of years where latterly it did start to feel like that, and it was one of many reasons I left. But it definitely wasn't the norm for the majority of the time I was there.


👤 jameal
There's always the risk of losing that passion when you do something for money. It's an old cliche. It's especially difficult in an organization with all the red tape and other constraints.

In my experience, you have to have a hobby outside of coding. Whether it's wood working or something else. Now, take that hobby and combine it somehow with coding. If it's music, make your own synth. Make your own tools to learn music theory. If it's exercise, make your own workout tracking app. You might even just build tools to empower your own dev workflows. Maybe it's a bookmarklet or user script to taylor your favorite websites to your liking.

Don't do too much planning or thinking ahead, just let yourself get into a creative flow state. Flow state is key! And it sounds like that's what you're missing in your day job.

I wrote about this idea on my blog if you want to read about my experience. I combined my love of hiking with coding and discovered a newfound enthusiasm that I hadn't experienced in a long time: https://jameals.com/essays/build-for-fulfillment


👤 mettamage
> I work mostly with Javascript — and that doesn’t help.

I read it really quickly, but different language, different org that's more flexible? Try out a few different ones?


👤 edoceo
We're all suffering from vendor-driven-churn. That is, Apple or Microsoft or $BIG_DOG says you have to do $THING. Somehow your early stage business got caught using $COOL_FRAMEWORK and now, rather than coding logic you're fighting the framework. Some folk blindly follow the "never build what you can buy" but then spend so much time fighting what they've bought.

Yea, it sucks to build your own framework for your own app -- but also, the patterns of this model are well known and visible in 100s of other frameworks. You don't actually have to use $COOL_THING to get the specific advantages of $COOL_THING that your company/project needs.

It's very hard to weigh the issues of cost in a) how much unknown cost will there be fighting our framework and b) how much unknown cost will there be in building our own framework.

It's been my experience that discipline in choosing these vendor-packages, and choosing fewer, and choosing more to build in-house has, over a longer period of time, been a better investment. However, it also requires a good architect to be around for a long time. When team-leaders are bouncing around on short time-frames (<2yr) the in-house route is not stable (but it's not the codes fault, your house is unstable anyway). Folk think in that case it will be easier to ramp-up new staff on $COOL_THING but, guess what -- you're using $COOL_THING_V0 and the new hire has only been using $COOL_THING_V15 -- so now, rather than learning a little syntax for your custom solution to common problem -- they're going to spend the first months on-staff migrating your $COOL_THING forward -- and fighting unknown demons the whole way.

Too much vendor-driven-churn and bloat -- YAGNI!


👤 xwowsersx
> Nowadays, I feel like I have to jump so many hoops and spend so much mental bandwidth just to get the permission to code.

> Any project I work on is connected to a million different tools, workflows and services, that all do things their own way, and everything lives in a totally different place, where it’s hard to monitor what’s going on.

It sounds to me like it isn't coding you're falling out of love with. It actually sounds like you still love coding and you're bemoaning the fact that you never get to do it!

Without knowing the specifics of your situation, it could be that you're at the wrong company or in the wrong role. There absolutely are companies and roles out there that let you spend the overwhelming majority of your time writing code.

> I work mostly with Javascript — and that doesn’t help.

I bet it doesn't. Not to rub it in, but this is why I don't work with JS/frontend. I think you might be onto something here, I bet the JS ecosystem and the way it all shakes us out is a large contributor to why you feel the way you do. I think changing careers right now might be rash decision (though, of course, you should remain open to anything). Why don't you start to devote some energies to moving into a different branch, such as backend/API development? I used to work on mobile apps and, while not as bad as the JS world, I found that I didn't enjoy how much of my time was spent perfecting pixels and the workings of the UI (some people do enjoy that, just not me) so I moved to working on larger distributed systems and APIs. There's no UI to content with and there's a lot of writing code. If I were you, I'd start devoting some energy to looking into that, assuming, of course, you have any interest in it.


👤 xswhiskey
Been there, felt that. Have you tried learning a new technology just for fun? When I got tired of PHP, switched to Ruby and the love and feel of wonder was there. When I got tired of my corporate job tech stack, I looked for a freelance side gig where I now spent most of my time and weekends because the challenge is fun.

Maybe finding a side project you actually like and understand can help.


👤 whizzter
I had that feeling about a year ago, sat down with some fun hobby project and the love was there instantly.

I do know some people that had to switch careers entirely, but often it's the job tearing one apart.

If you think there is anything worth salvaging, just go to your boss and tell them that this ship needs righting or you're gone. Preferably with some things you feel could be done right now.


👤 kirso
It seems like the type of coding you do at work is the problem.

Why not try and hack something on the side in your own way? Experiment with new stack, build something that solves your own problem? Thats what fun coding is about?

I see a lot of my friends being disgusted by their jobs because it took their permission to be playful. In the end code can be creative (based on your ideas and obviously with some constraints).

I started learning a few months back but I never plan to make it a job. I learn slower as I don't practice it on a daily basis, but I really love it and love building small things.


👤 brnewd
As a solo founder with a TypeScript/Next.js site I feel the opposite. Going from coding to production almost feels like cheating. Edit, test, publish. No red tape, only facing direct feedback on success or failure. I realize you probably cannot debloat your stack or procedures but there is still joy and productivity in web development.

👤 leetrout
Something shifted in the last ~5 years in a big way and devs are infantilized in a big way. Product and project managers trying to over plan and over control has been something I have dealt with.

Yes the ecosystem is unstable in all languages but I accept the technical challenges willingly over being shoved into a "work tickets and dont think" box.


👤 holler
Have you tried consulting? There are tradeoffs but when you get to make your own decisions about the tech being used it at least lets you have a sense of agency and control, and you can pick whatever makes you happy and gets the job done.

I feel you though, it seems more and more frequent that I dream of moving to Montana and living on a farm.


👤 zxcvbn4038
Programming is tedious when your implementing someone else's vision, thats why I stopped doing it professionally. I still write a ton of code to make my life easier but since I'm not a developer by title I can pick whatever language and tools I want. I often use SQLite just to keep the DBAs out of the picture also.

👤 awkward
There's a big swing back and forth between software as an empowering tool and software as a tool of control. I think in the age of big platforms we swung hard into institutional control, and the swing back to individually empowering tools, if it's started, hasn't reached momentum yet.

👤 pearjuice
I've completely detached coding for fun and coding for a client/employer. For fun? I write (almost) everything in a single file or however I seem fit, git commit -am "asdf" and use a bare-bones deploy script on a 10$-or-so VPS on which I can ssh and update an nginx config manually if I want to. For work? I jump through whatever hoops the latest CI/CD Kubernetes configuration expects from me, combined with a multi layered microservice architecture and write enterprise-grade Java with Amazon Managed Grafana monitoring in HIPAA ISO SCAMPI compliant environments.

I'm not saying working can't be fun but I have a mental model of what "most fun" I can extract from "coding" and whatever nets me the highest amount of money in the shortest amount of time.


👤 jrvarela56
The comments have covered red-tape/bureaucracy pretty well - and I agree that could be a big part of the problem for any programmer.

In my case, my joy for coding is greatly enhanced by interactivity. Across the stack, I try to remove friction: hot reloading is sacred in my frontend work (I make sure to fix it whenever I notice anything funky going on); click to run in VSCode and 'rich text comments' in my files to have a better REPL workflow; shortcuts, snippets, scripts to automate; faster tests; autocomplete using types and Copilot. Overall, stuff that gives me Thinking in Principle vibes (https://www.youtube.com/watch?v=PUv66718DII).

Making my workflow more interactive has made me enjoy programming more :)


👤 akkartik
Find a side project. Something not involving web stacks and Javascript. I recommend one of these platforms, which trade off complexity for power to varying degrees:

* https://www.lexaloffle.com/pico-8.php

* https://100r.co/site/uxn.html

* https://love2d.org (shameless plug: http://akkartik.name/post/roundup22)

I never work with raw pixels at my day job, and it's been enormously satisfying to take control of a whole app and build things nobody else will ever build.


👤 arka2147483647
Imagine you want to build a City

a. You come to a green empty field. Nothing is done, everything is possible.

b. You come to a town. A lot has been built, a lot of space used, but there are still many fields around the town to expand to, and build new things.

c. You come to a City. All the space is used. Everything you build must work with has already been built. Some things can be built, but only if it does not inconvenience what is already there.

Software as a whole is approaching/already in stage C. Sure you could make something that does not connect with anything that exists. But what use is that to anybody. People want to connect with the thing they already use.

This metaphor works with a lot of things. Operating Systems, the Cloud, even things like Game Libraries, ala Steam. To produce value, you need to work with what's already there.


👤 WorldMaker
A couple of simple suggestions:

1. Learn a new language. Even if you don't expect to use it on the job, it can be exciting to spend time learning a new language and working basic practice examples in it. Depending on your employer, you may even be able to convince them to allow you to use some "professional development" time and resources at work to do this. Check to see if your employer has things like PluralSight access and if your manager would be interested in giving you 10%/20% time to professional education/learning. You may need to be able to market whatever language you pick as "potentially useful to future projects", but good managers often encourage a small bit of "professional development" time because it keeps you sharp (and that is good for them).

2. Find some reason to code for fun outside of work if you need it. Be careful with any attempts at moonlighting because the failure case is burn out (and possibly dangerous levels of burn out at that) and work/life balance is generally a good idea. As others have suggested you could build a hobby project of some sort, perhaps a game idea you might want to explore. If you want more "guide rails" (which might help to avoid some burn out by narrowing your focus) there are things like attempting Project Euler problems [1] or also a small category of Games on Steam where playing the game encourages/requires writing some of your own code. For instance, I've been playing some Bitburner [2] lately. It uses JS to "play" but you can start from a very stripped down "no toolchain, no frameworks" place and just explore/learn the game's API at your own pace with end goals already encouraged by the game structure. It may be an interesting anecdote to some of your current work struggles.

[1] https://projecteuler.net/about

[2] https://store.steampowered.com/app/1812820


👤 blululu
From the sound of it the problem is less about making software and more about your job. A piece of advice that I have seen crop up a few times on this subject is to figure out how to distinguish what you do from where you do it. Programming can be a job and and it can be a hobby. In this context it is easy to let your hobby become your job and then your job become your hobby, which can quickly lead to burn out once your job starts to suck.

As someone who got out of farming and into programming I would suggest looking into other options before pulling weeds for the next 24 months. One option that you may want to look into is Recurse Center which is a great place for software people dealing with burn out to reconnect with what brought them into coding in the first place.


👤 onion2k
Nowadays, I feel like I have to jump so many hoops and spend so much mental bandwidth just to get the permission to code.

Join (or start!) a startup and this problem will go away. It'll be replaced with a heap of different problems instead of course, but you will find them more exciting.


👤 gavinhoward
This is exactly why I can't work at a job in the industry.

I work on my own code ([1], comments at [2]), and it is exactly why I do this; I wouldn't enjoy it otherwise.

For me, I just decided to forego jobs and work on my code the way I want to until I eventually make a business out of it. Or to keep it as a hobby and do something else as a job. (I have a CDL for this reason.)

I don't know if that will work for you. But something else might.

[1]: https://gavinhoward.com/2023/02/why-i-use-c-when-i-believe-i...

[2]: https://news.ycombinator.com/item?id=34662666


👤 moomoo11
Join a start up or start your own company.

You’re gonna have this issue you’re talking about at any company that has more than like 200 engineers. At that scale you’re solving both technical and organizational problems. Remember. More people, more politics. They don’t send in a Marine battalion to get Osama, they send in a few highly trained Navy SEALs who can do the quick, efficient, and dirty work.

As for “complexity” don’t confuse actual software design patterns with shitcode that 99% of average software engineers shit out.

Read Clean Code, Clean Architecture, and Designing Data Intensive Applications if you’re serious about becoming a better software engineer. Otherwise anyone can write some garbage code that solves the problem at hand. That’s not hard.


👤 twodave
Others have mentioned this being a Javascript-specific problem, but it really isn't. I think there's probably a lot of money in building realistic software models for learning. Maybe not full-production but at least realistic use cases beyond todo apps and author/book examples.

Some of that is "build it and find out" kind of stuff, but I'd pay cold hard cash in a lot of cases to have a well-documented git repo to look at and learn best practices from (even if they're a bit opinionated) rather than have to stitch together my understanding from some diverse collection of "getting started" code, crappy toy examples and SEO-optimized blogs that have way way too many words per useful bit of information.


👤 shanebellone
"I’d rather fight with my brain than with the tools I use."

This is why I prefer reinventing the wheel. I have exactly zero desire to learn someone's mental model when I could instead learn how to perform actual work.

Although, I don't consider connecting APIs to be coding either.


👤 at_a_remove
You haven't fallen out of love with programming, you have grown disenchanted with The Love of the Toolchain. The almighty toolchain, long and powerful, and you Cannot Program Without It (nevermind actual history). The check-in, check-out. The issues and the Jira boards, or any kind of boards. And then there's probably a lot of Agile junk to go with it.

I shifted into a job where programming enhanced the role. Now I expend mental effort on coming up with novel algorithms. My struggle is to express how I think in terms a computer will understand, rather than wrestling with the Jormungandr of what the profession has turned into.


👤 eastbayjake
You're describing a set of problems that are very narrowly about Enterprise IT and the React ecosystem, not about "coding" writ large. If you want to build things instead of integrating SaaS, go work for a cashflow-constrained startup where engineering time is an easier constraint to flex than buying expensive multiyear SaaS licenses. If you feel like your JS tools are too opinionated, try working with Angular where there are stronger guardrails about the "right" way to architect things.

And if you try that and still hate coding, I highly recommend plumbing!


👤 ChrisMarshallNY
I became a manager, and my company actively tried to get me to stop coding, when that happened.

I coded anyway, but on my own time. The company missed out on some pretty awesome software, but that was their loss. I don't think they cared.

Being an active coder, helped me to be a better manager.

That said, I hated being a manager, and jumped right back into coding, when I left that job.

Couldn't be happier.

An important caveat to all that, is that I code the stuff that I want to code, at my pace, and on my terms. That makes a huge difference.

But I learn, every day, write Swift, every day, and take great joy in my work.

WFM. YMMV.


👤 kdmitry
I am self-taught and have been working as a software engineer for about a decade. I have this feeling come up a lot as well. I miss the days of when I was working on projects for myself, learning new stuff constantly, spending hours trying to figure something out and the mental rush you get when you finally get something working.

Working in software development as a profession does take some of the joy out of that over time, but I've found that trying to learn things outside of working and working on my own projects is still very enjoyable.


👤 alesrosa
Not forcingly. You may switch to a different language, not plagued by what it is called Fragmentation. Give yourself this chance. I am experiencing your same feelings since long time. And I found a new job that will bring me back to my lovely days of IDE and coding. Good luck

👤 ricardobayes
Middle management usually doesn't grasp this complexity and apart from safety critical applications things are usually not tested enough. Being an embedded C programmer I didn't have this feeling at all, where every small feature was tested for 3-4 months in a simulated setting and another few days in-car. Being a web dev is completely different mentality (management and testing wise), since generally there are no real-life consequences. Add monitoring, and test some more on your own.

👤 ipaddr
Get out of javascript and start enjoying life again. A different language would be a different community / different types of jobs.

Out of all of the languages javascript roles has been cargo culted into the daily standup, the 5 layer approval process and the unnecessary meeting. I've never wanted to leave the field until I spent a year in a true javascript role. Happiest for me are full stack roles where you control both ends and have a smaller teams and less demands for meetings.


👤 vidanay
This is one of the reasons I have stayed at my company for 21 years. Many times I have been tempted by the greener grass on the other side of the fence, but it seems to be such a random crap shoot if a company is going to be a good experience or not. Is my company perfect? Of course not. They do allow me to actually focus on "real work" without an excess of ritual. I am able to work 8 hours and have a clear mind at the end of the day.

👤 pabs3
You're at the very top of a deeeep stack that reaches down through the browser, out to system libraries, into the kernel, out through proprietary firmware to hardware devices. There is a lot of diversity in tech, maybe it would help you to explore the full depth of that ocean and reach down to the sea floor and up to space. Most of the stack now has open alternatives that explorable by individual developers.

👤 jconley
I feel the same way when I'm in a position like that.

It's why I gravitate toward small pre product market fit startups as either one of the first employees or founder. There is only process where I make process and everyone is executing as quickly as possible. I get to learn a ton and feel productive. I'm much more motivated by intrinsic factors than things like a large salary so it works for me.


👤 mar1n3r0
I feel the same and think that globally no industry is the same even compared to 5 years ago. But most importantly programming became from a niche job to a mainstream one which translates to more bureaucracy, less freedom, less ideation, more following the rules. At the same time dev tools became new business niches so rather than following standards its now a commodity.

👤 weatherlite
I know its difficult but we should all try to appreciate our jobs and look at the bright side of things. I know its not all roses but consider that with the tech recession, budget cuts, offshoring and now tools like ChatGPT/AI one cannot take for granted being hired as a developer and getting a decent salary (in some parts of the world way more than decent).

👤 nickd2001
If you're American, and getting only 2 weeks vacation a year, all you might be in need of, is a month or two road-trip and a new role (whether a new coding job entirely or just move team). Maybe ask for a short sabbatical in that case? So many Qs like this on HN, it often sounds like people just haven't had the right , decently long, vacation in ages.

👤 jeremychone
It might be good to decouple the work coding environment vs. the coding activity itself.

Secure the income stream by doing what is expected of you, and use your personal creativity on side projects with a potentially new language (e.g., Rust, ...)

On a personal note, the older I get, the more I code, so it was those work environments that made me doubt.


👤 _fizz_buzz_
Maybe try to transition into a different corner of the industry. E.g. Something like embedded programming. The tools there have become much better over the years. And it is not as much of a moving target as JavaScript. Totally possible to understand every aspect of a microcontroller (or at least know where stuff is in the documentation).

👤 tflinton
I left frontend engineering for similar reasons. There was a lot of hype in a culture that seemed obsessed with the next big thing to what end I couldn't quite figure out. I blame webpack.

But seriously, you may just need to switch things up and tackle a new line of work or find a new employer that isn't so rigid in their SDLC practices.


👤 specialist
> ...spend so much mental bandwidth just to get the permission to code.

Spot on.

Ditto being compelled to lie about everything. What David Graeber calls "justifying" labor.

Breaking out the crayons and finger paste to show PHBs how stuff works, clearing tech debt on the down low, estimates, concocting status reports, performance and peer reviews, etc.


👤 olaf
Maybe you want to try out Assembler programming/assembler-alike-freedom or write your own prog lang

👤 DotaFan
I would suggest to switch career to embedded or mobile development. As a mobile dev, I feel like my environment is quite solid, and will not change that fast, and I don't have to track that many external tools, yet, I code daily, and mostly think about code and architecture.

👤 do_anh_tu
You should try to dive into Math and Statistic. Maybe you can find comfort in the beauty of simple and elegant. To be honest, programming is a lot more interesting after you learned maths.

👤 l5870uoo9y
if i were to read a bit between the lines here, i would say i detect a code smell and that the real problem isn't so much that developing, testing, and deploying code requires multiple services, not to mention gathering analytics, but that the basic code structure is unmaintainable. you have a lot of badly structured legacy code that has broken before? that causes developer anxiety.

as a freelancer i have fled from one project due to code base complexity, consistent need for hot fixes, and developer anxiety


👤 dohman
Hey there, it sounds like you're feeling the burnout from being a software engineer, which, after working with lots of engineers in the past, isn’t that uncommon. It's totally understandable, given how fast the technology and tools are changing and the amount of time and effort you have to put in just to get things working.

I’ll drop a small plug here since I was in the same spot as you a couple of months back (I worked as a PM consultant in the software industry, rather than as a software engineer). That’s when I decided to make my “last call” in the PM world, and set a goal of getting back into engineering, because I’ve burned out in the PM role.

I’ve decided to pick up Rust since it was (and still is) a very loved/trendy language. And the fact that it’s difficult to write shitty code sealed the deal.

Since I’ve had some background in Javascript, I’ve naturally opted-in for web development in Rust and just the sheer amount of knowledge you need to soak in was overwhelming, let alone everything else that revolves around backend development (mainly infrastructure/devops).

At that time, I’ve stumbled upon shuttle (cloud development platform for Rust) which takes that whole devops layer out of the scope, letting you focus only on writing clean & efficient Rust code, without any residue. Fast-forward a couple of months; I work at shuttle (hence the plug mention), as part of a "new career" and I'm finally happy again.

I feel like this might be something that might spark that love towards engineering and problem-solving, if you are willing to put in the time to learn a new language.

But let’s disregard that ‘potential solution’. Remember that it's important to prioritize your mental health and well-being. If the stress from your job is getting to be too much, it might be worth exploring a different career path or taking a break to recharge. What helped me is a 2-week long trip to a village in the mountains without any technology; just nature, air, and calmness. It really changed the outlook I have on everything and it got me in a better state to do some much-needed decisions.

I wish you the best


👤 jitl
If you don’t like the JavaScript vibe, why not try a different domain? Work for a bigger company, or a much smaller one, doing something else. Maybe get into data engineering?

👤 flippinburgers
Well you should probably start by running far and fast away from shops that use languages like javascript :) The "tooling" around javascript is just horrendous.

👤 blncxsqrhnn
> I wish I could go back to the days where I spent most of my day in the IDE and at the end produce something that was (to me) amazing.

Then go do that bro. Life is short.


👤 f731d3a6-1e22
DevOps does this with me. Code = happy. DevOps = disgust.

👤 awesomegoat_com
Try JIRA, once you implement JIRA in your org and set-up some company wide policies on fields and tags, your will to live will return.

👤 js-j
I absolutely agree and feel the same, but you sound like you still enjoy programming, and I think you should not switch careers.

👤 JSavageOne
Those sound like problems specific to big corporations. Maybe you'd better enjoy working for smaller companies.

👤 jevgeni
What you are experiencing is the post-2000 tech world metastasising into enterprise. But now in Corporate Memphis.

👤 frabjoused
Sounds like you need to work for a smaller company. Why don't you look to get hired in a startup?

👤 boredemployee
It happens in ALL industries and fields, from art (music, design, painting) to software development.

👤 dbrueck
Do some fun projects on the side. Or switch to a small company. I did both and am much happier now.

👤 734129837261
I was working on my own project. Medium-sized, a full-stack web application that I'll release somewhere this year. It's a Next.js front-end, I did all my own CSS and optimisations, semantic HTML, accessibility, load performance, TTI optimisations. The CMS is a headless one that I use Next.js to connect directly to the database with. It's hosted on a server I manage myself, and I set it up so that a git push to the main branch would build and deploy the entire thing.

Setting all that CI/CD stuff up took me maybe 6 hours. Building the website (front and back-end) took me a few weeks. It's a complicated piece of software, but fun to build.

I avoided using unnecessary tools. I only added what was absolutely necessary. And based on my 22+ years of experience (including some FAANG companies and the likes), in any professional setting, this project would've taken 5 front-end developers, 3 back-end developers, 2 testers, 1 project manager, 1 scrum master, 1 product owner, 1 UX and 1 UI designer, and perhaps one or two interns.

And it would've taken 2 years or longer.

I've done projects with teams like that in the past where trivial work was drowned in red tape, office politics, endless opinions and meetings, weekly time-wasters (Scrum... fuck I hate Scrum!), endless "documentation" that nobody reads...

And I remember being put on a dashboard page. The team was taking 4 hours to plan all the stories. During that time I just started working (remotely, muted, camera off) and I finished the entire dashboard completely to specs, no bugs, in the time it took them to write the stories and tasks and estimate them.

"Done."

"What?"

"I'm done. It's all done. I pulled all 18 tasks to myself, verified them, and the entire story and epic is now done."

"What?"

"I also wrote all the e2e-tests."

"What?"

"Scrum is a huge waste of time."

"Actually, I disagree, because..."

Yeah, consultant who is paid by the hour. It makes perfect sense to pull all 20+ people into a 6-hour long retrospective every single week. Because 12 of those people are from your employer, and that's a lot of money for doing fuck all.

When I worked at Apple, we had a small team and we just did standups on Slack. Just write "I did X, I will do Y, no impediments," and that's it. No scrum bullshit, no sprints, no retrospectives. We just communicated using words (written, preferably) and got shit done.

Now I'm working for a large corporate company that follows all the things by the book. And the book sucks. I counted: 16 hours per week in unnecessary meetings. Then another 10 hours in meetings where most people are unnecessary. And when I speak up against it, people don't trust me. Scrum is their God.

I hate my job so much.


👤 mouse_
Coding has been embraced and extended. Has it been extinguished?

👤 hknmtt
tl;dr you probably just work on projects you don't like, not that you don't like coding. Been there, done that. Nothing new under the sun. Those people who say that you will never work a day in your life if you do what you love are foll of crap because having an option to do something and having to do something are two very different things. And having to do something you like doing is the fastest way to hate it. My advice is switch company and look for work that interests you nowadays. Like instead of working for a company doing e-commerce, go work for a company doing IoT, banking, healthcare or anything like that. Just change the type of work you do.

👤 clbrmbr
Go work for an (early stage) startup?

👤 kerkeslager
A few scattered thoughts:

1. It doesn't sound like the problem is actually that you're falling out of love with coding. You said, "on avg I spend less than 20% of my time coding or solving problems".

2. I feel ya. Reading stuff like TAOCP and SICP was what initially inspired me to pursue this career. But chasing the money for coming up on two decades has worked me into a position where I'm really efficient at putting different web skins on the same four CRUD operations on a database. The kind of problems that got me into this career, aren't the kinds of problems I'm solving on a day to day basis.

3. Having talked to lots of people in lots of careers, it seems like anything you do as a job is going to be less satisfying than if you do it for its own sake. I love playing guitar, but the reality of playing guitar professionally, even if you're financially successful, is that it isn't all that fun. Some high-level Go player (I think Cho Chikun, but I can't find a source), when asked why he liked Go so much, said "I hate go". People in the adult film industry generally have low satisfaction with their sex lives. Money ruins everything. Once you start basing your ability to eat, clothe yourself, live under a roof, etc. on something you do, you're no longer doing it for fun, and it stops being fun. Put in psychology terms, adding extrinsic motivation to an activity decreases your extrinsic motivation to do it.

4. Because #3 applies to every activity, switching careers may not be the solution you think it is.

5. That said, doing something you are intrinsically motivated to do as your job, does seem to be more enjoyable than doing something you're not intrinsically motivated to do. So finding coding jobs that let you do more of the part of the job you like, the actual coding, might help.

6. JavaScript's ecosystem is the obvious, abjectly terrible result of decades of "move fast and break things". That's a controversial opinion, I'm aware, and I'm not going to argue with people who disagree because no one will be educated or persuaded. It's possible to write good code in any language, but I think it would be difficult to even learn to write good JS, because the culture is all about introducing a massive amount of dependencies on bleeding-edge garbage and antipatterns like global state are the norm, not the exception. The problems you mention, "I feel like anything can break at any moment and ruin my day. I don’t understand any of the tools well enough to be confident that it’s stable, and the worst problems are the silent ones"--that's at least partially a problem specific to JavaScript's ecosystem. You might find better luck in a better ecosystem. But unfortunately the disease has also infected other ecosystems: if you pull all of pip into your Python project and use a bunch of global state you'll run into the same problems.

7. Returning to why you're doing what you're doing--the real, underlying reason--is helpful. I know people who work truly horrible jobs, but feel happy about it because their work lets them provide food, housing, and education for their kids. I'm not saying have kids (I don't have kids) but to some extent being aware of what I'm getting from my work keeps me from being too frustrated when I have to work. And if you can't find a reason, then maybe find ways to work less, until you're only working as much as you need to.

8. The subtext of #7 is that satisfaction probably isn't going to come from your work. Few people dream of doing labor.


👤 joxel
You don't dislike coding, you and all your coworkers work at a shit-tier company.

Get a job doing something else that involves coding. Do you know advanced math and physics? There are tons of opportunities in the applied sciences and you'd be a god-tier coder among men at federal research labs etc.