What a lot of people are experiencing as "burnout" is what I think is totally normal for human beings. Society has been lying to itself about what work life should be. As a millennial, we were told by our boomer parents and teachers to find our "dream job", that "every degree is a good degree", and to "follow your heart and the money will follow." When we reach the point where we inevitably settle in to our careers, have pretty much figured most things out, and perhaps have even realized said career has internal issues that are hard to reconcile, we see a failure in ourselves for not having that same energy and spirit we did when we were young and green. But it's like anything. Do you really play that video game with the same intrigue and vigor you did back when you first discovered it? Of course not. Maybe you play an old game to this day, but you don't experience nearly as much excitement. Other similar games are probably collecting dust because you "burned out" on them.

The idea that anyone should sustain focus and interest on any given thing for years on end, whether you're "neurotypcial", or ADHD, or ASD, is pretty ridiculous. We are more or less designed to be able to specialize but also grow into other things. The problem I see with tech is that we like to pretend that there's a variety of roles to grow into, but they're all more or less the same, and we're not all destined for management. Coding jobs fundamentally suck once you get beyond junior level because it's not the juniors companies need to fix bugs but seniors. Yet no one became a software developer because they wanted to fix bugs for a living. Sure sure, we all work on features at one point or another, but even those features are fraught with the caveat of navigating all the mounts of fixes to keep an insanely complicated system running. It makes about as much sense are having a committee write the next great American novel all while having two-week sprints and Jira tickets for plot holes.

At the same time, as an industry, we've made things very hard for ourselves. I'm of the opinion that all the tooling we've invented and all the "gee whiz" we've added to our apps kills the efficiency and enjoyment of working on them in the long term. The more tools we add, the more disagreement over those tools we can have, hence everyone is constantly in a flux of learning and considering tools that were written just yesterday "obsolete" or "antipatterned." Way too much time is spent on stupid shit like making web apps appear native, SSR, test coverage, preprocessors, transpilers, package managers, runtimes, whether a thing should be rewritten in Rust, whether a codebase should go back to vanilla JS, and so much more. To be fair, this probably isn't as true for iOS developers, but I'm sure they have their own self-imposed challenges.

So how do I manage it? I stopped caring so much. Jobs are supposed to have a level of suck, else they'd be hobbies rather than jobs. If you can tolerate the level of suck at a job, and the pay is worth that suck, then don't beat yourself up when you can't perform any better than you already are. Yes, you'll probably have to face that fact in performance reviews. But performance reviews are usually bullshit. Why? Because there's "always room for improvement." I've never experienced anything meaningful from a performance review. Whether the manager knows it themselves or not, performance reviews mainly exist to keep employees gaslit into thinking they've got to try harder. So I mostly ignore them. And if a company wants to let me go because I'm not productive enough, well, fine then. I'm actually trying my hardest. My hardest may not be good enough for them, so I'll take it elsewhere. I just don't have the drive to perform highly anymore because the "burnout" is here to stay. I can't restart my brain back to the state it was in when I got my first coding job. It is what it is.

Transitioning into another career is always an option, though it may be the most difficult option.