You became a software developer because you love programming and couldn't believe people got paid to do this. You first learned programming at school, where somebody else dictated what you should do and learn. After you finished your degree, you finally got a job, and you kept learning fast about building software and your industry until you were up to speed.
Now that you've settled into a routine at your job, what is the next step? How do you keep learning and growing as a software developer? But you're stuck on an endless plateau, and can't see a way out of it. You maintain the same old legacy application and fix routine bugs day in, day out, since you're too valuable in your current role. You can feel your passion and motivation dwindling dangerously fast, but you don't know what do to about it.
You're on your own: nobody will tell you what to do.
Even worse, you're falling behind, slowly crushed by the huge treadmill of new frameworks and languages. All those kids fresh out of school are all about React, Rust and NodeJS, while you were learning Java only a few short years ago. You know you can learn new tools without waiting for permission but every time you tried it a fancier tool came out shortly after, making your knowledge obsolete. Silverlight anyone?
You could switch jobs, leaving your crummy legacy code behind to solve new problems. It's a valid strategy if you can't take it anymore, and it'll work for a time. Unfortunately, once you're over the initial learning phase, you're going to repeat the same pattern. If you're starting over as a junior every few years, you're never going to improve your craft.
But what if you could take control and grow without waiting for a boss to tell you what to do? What if you could keep learning, stay sharp and become passionate about software development once again? You'll have skills you're proud of, work on cool projects and be confident in your knowledge and expertise.
If you try to keep up with all the new frameworks and tools you come across on Hacker News, staying up to date is an overwhelming burden. Fortunately, you don't have to do it all: you can choose the skills to invest in to get the best out of your limited learning time and grow as a software developer.