The only constant in this world is change, and change in the IT world tends to be whole lot quicker than anything else.

New frameworks, languages, and updates feel like they appear every day.

Therefore, it goes without saying that coders need to be at the forefront of keeping up with change.

By Reading

It shouldn't surprise most that I firstly suggesting subscribing to some popular blogs in the technologies you're specialized in. They're able to keep you up to date in a way books can't with regular content releases.

Most of the development studios themselves will maintain their own blogs/media/newsletters where you can subscribe to have the latest info concerning their content, such as Microsoft.

The same applies to social media, see what pages/groups are on Reddit, Discord, YouTube, etc.

If you do prefer a good book, try to make sure it is not older than a few years. (Unless it's dealing with a foundational/theoretical subject) Academic journals are another good option to look into!

By Listening

There are a tonne of podcasts out there, what I love about podcasts is that you can listen to them during your commute or as you work. Personally, I find putting on an hour long podcast to be less distracting than flicking through music.

Check out SoundCloud, Podbean and Spotify, among other platforms for your preferred technologies.

Take up an actual project

"What I hear, I forget. What I see, I remember. What I do, I understand." Xunzi Confucian scholar (340 - 245 BC)

Reading is beneficial, but if you want to truly understand a programming language/library or technology, you can only do it yourself.

Completing a project and applying the skills or characteristics you want to learn is a very specific and measurable goal, whilst "learning a certain language/library/technology" can be a bit too general.

I actually take the liberty of testing new technologies in this blog, which acts as a sort of playground for me to improve my skills.

It doesn't have to be anything substantial. You can test out a technology by building a simple project or even play around with something someone has already come up with on GitHub.

On the subject of GitHub, are there any open source projects that are using the new technology? You will find that making a contribution is a good opportunity to learn how something works and a bit quicker that starting a project from scratch.

If you do make a little something of your own, consider it part of your portfolio (uploading to GitHub) and write it down on your resume to demonstrate your cutting-edge skills.

Learn while teaching others

At work, I often wrote explanations and presentations for my fellow colleagues whenever I learn something new that I think could benefit them.

This an excellent way to familiarize yourself with emerging advances.

It also looks great in the eyes of your colleagues/superiors.

Keeping your own blog and writing your own tutorials is another good way that encourages you to learn new things. I find that I really have to get into a topic in order to structure a tutorial that's easy-to-understand for an online audience, who may or may not already be familiar with the subject.

Join a meet up

You could look out for local software development communities focus on your technology stack.

Mixing with like-minded individuals could help you to soak up their knowledge and also helps build up a network of contacts in your newly adopted industry.

Do Courses

Many companies are willing to pay for new trainings if you're able to demonstrate the benefits to them.

There are a lot of online sites where you can find e-courses. If you prefer the traditional classroom approach, your local city should have various colleges/universities offering adult evening courses.

Be a Proactive developer

As it's probably the most surprising, I've left this one to last.

You'll learn just by being a diligent and proactive developer. You're going to regularly encounter obstacles, and figuring out some of which will force you to learn, (whether you realize it or not!).

I've found that the most valuable learning experiences have come when desperately solving a problem on my job. It's when I've had to turn to online developer forums such as Stack Overflow to come out the other side. During your quest for the solution, you'll read various input from different developers as well as unrelated content which increases your overall knowledge.