It's incredibly frustrating, as a developer, how much our jobs keep ballooning to encompass more and more stuff.
I'm expected to be able to work in the backend, frontend (in two DIFFERENT frameworks no less), database, and also to fully understand the infrastructure the code runs on, how to manage and control that infrastructure, how to manage access to that infrastructure, how to interface with that infrastructure in the software I'm working on, and how to do testing from unit to integration testing, and to do ALL of it as well and as fast as it was done 5 years ago- when there was a guy on the team who was the "frontend" guy, a guy who managed everything about AWS, and a dedicated tester.
It's all a scam from management; they cut down on costs by cutting a bunch of jobs and offloading those responsibilities onto the rest of us. But if things break, it all comes down onto my head. And also they don't pay me more for the added responsibility.
Oh, and the real kicker is that all of it is intermittent. Sometimes I spend 3 months doing all backend work as we set up a new microservice. Sometimes, I spend 3 months doing all frontend work as we create a new UI. That intermittency makes it EXTREMELY difficult for me to really master any of it, because I'm jumping around often enough that I don't get enough time to really build a deeper skillset. Then, I'm quietly shamed by management for not spending my spare time developing my skillset to make them more money.
I'm expected to, somehow, keep up to date on 4 different languages, all of the new shortcuts and capabilities of those languages, and also all of the infrastructure that we are using to deploy and manage our code. When I joined the workforce 7 years ago, we were right in the middle of this transition- so, not only did I never get the time to really master any of the languages I work with, I have perpetually felt a kinda strong imposter syndrome- and talking to other developers online and in person, I'm not alone.
The result is that myself and everyone around me are more stressed, producing less optimized and less reliable code that could be WAY better if we had more time (but we don't get more time, because timelines keep getting tighter while management keeps doing what I described above) and are not feeling like we are really learning how to do better.
I know I'm not the only one who feels this way either because I see the same sentiment literally everywhere. It's incredibly frustrating.