| This is wrong on so many levels. I've been writing code commercially for more than 30 years. > This is also what Software Engineering has become: you memorize, regurgitate and participate in agile the masquerade. Creativity is shunned. Tried architectures/patterns are what is expected. Not necessarily. If it feels like this, you may be in the wrong bubble. And that bubble is going away, too, because these tasks are the first that will be replaced by AI-assisted code generation. In the meantime, you can always Google an algorithm if you know what to look for. There is almost zero usefulness in an ability to regurgitate boilerplate patterns, but there is tremendous usefulness in executing good judgement, creative problem solving, and a solid understanding of fundamentals. Programming is about solving problems that are interesting to you personally, in a way that satisfies you (and ideally your customers). The hard part is finding that niche. > I used to think this job was a creative one, since writing frameworks and libraries for further use, documenting code and extreme programming made me think that I was building something new and useful. You had it right the first time. If you enjoyed making these tools, that means there is still an internal drive in you to solve those kinds of problems. Even if those tools happen to be terrible, apply lessons learned and repeat! Spoiler alert, everyone else's tools also make trade-offs at the wrong points, even successful ones. Don't be fooled into thinking that the big things are already solved. In the end it's about finding gainful employment doing something you enjoy. The good thing about programming is that you get to choose your environment and the nature of your work from a very broad spectrum. > I wish I had practiced law for the past 7ish years instead, because at least all of my skills would still be relevant. If you chased framework specifics and arcane patterns for the last few years, then yes, some of that work is not relevant anymore. Learn from that, stop chasing ephemera. You may be better served by doing deep work on a specific thing for a long time, as opposed to perpetually playing catch-up with JavaScript frameworks to impress the next fickle startup that thinks it'll change the world by selling ads. I would advise anyone who doesn't absolutely need it for an interview to stop spending time on LeetCode and such sites. Instead, invest that time in a project that is relevant to you, and learn everything about a specific domain as deeply as you can. Pushing up a score counter on LeetCode doesn't compare to actually making something competently in the real world. ADHD can trick you into believing that solving artificially parceled-up and pre-defined problems for points in a few minutes at a time is progress, but it's not. Work on something meaningful that doesn't leave you with an empty feeling. |