In the software industry, everything is always advancing at a breakneck pace. Everything around us is considerably new. Consumer use of the Internet started just about 25 years ago, Javascript about 20 years ago, Git version control 10 years, Stack Overflow 8 years, Docker 3 years, etc. Also at the same time, a lot of old technologies, practices, and frameworks become obsolete and are abandoned. No one can be sure that the tools and frameworks they use today are going to be in use 5 years from now.

So it’s important to always be learning something new, but some of you might be complaining that they don’t have time to read a book or sit on the school bench. We are lucky to live in 2017 where it’s easy to get access to a varied selection of ways to learn new things. In addition to heavy books and university lectures, one can improve oneself by listening podcasts during the morning commute, or watch conference talks or screencast videos on youtube in the evening instead of the 1001st funny cat video. Even for the books and lectures, there are easier alternatives as you load the books into a light e-reader device or tablet if you dislike the dead-tree editions. The internet is also full of effective free and paid online tutorials and courses on various topics.

From my own experience, I can recommend the long-running podcast “Software Engineering Radio”. In the backlog, you can find hundreds of episodes about various software engineering related topics. You can listen experts talk about programming languages, open source tools, software architecture, project leading, recruitment, etc. Also writing this blog post has been an important learning experience, improving my written communication skills. It’s easy to forget that it’s not enough to just know how to write code because for others to use efficiently you also need to document it in human language.