Software development is changing far too fast for *anyone* to keep up. Every developer is expected to keep up-to-date with the latest trends and fads. Learning how to effectively learn new languages and concepts will make your life a hell of a lot easier throughout your career. Funnily enough, it's probably one of the least talked about aspects in software development blogs.
From my experience there are generally two types of scenarios when you want to learn something new:
1. You're building something and you need to learn something to get you nearer the end point
2. You're deliberately learning something, maybe for fun, or to potentially help your career in the future.
When it comes to learning something new, it's really important for you to understand which cycle of learning you're in. The reason for this is because you should tailor your learning style accordingly. There are different techniques to learning. If you want to master a subject and become an expert , then you need to concentrate on high-
Learning new things can be tough so make your life as easy as possible when you want to master something. Mastering a topic may take weeks or even months to reach. We all have lives outside of programming and sometimes it's just not feasible to focus all your energy on learning new things.
If you're anything like me, when you know you should learn something that difficult then it's easy to start procrastinating and putting off picking up that book or writing that code until tomorrow. As learning a new language can be really tough, I advise you to make your life as easy as possible. I think a lot of us have a tendency to jump straight in. When you want to learning something new, you go full balls out to the wind and try to learn it. You might be tempted to buy the go-to book on the subject. The go-to book might not necessarily be the easiest book to read. I've spent many an evening banging my head against the wall, trying and struggling to understand technical books.
The biggest example that jumps out to me in my life was when I wanted to learn design patterns. I didn't have anyone urgently jumping up and down for me to learn this and this was definitely more of a long-term solution. My preferred learning style is to read, so I went to Amazon and did some research. Everyone quotes the GoF book as the go to design pattern book. As someone who's read it, it can be a very hard read.
Instead, I found the entry level book, called head-first design patterns. This is a great book if you haven't read it, with easy real-world examples. It's quite a big book but I got through it and understood the concepts well. It was only after understanding a bit about the subject did I go back and read Gof. Reading that after I had a basic understanding made learning the subject so much easier.
If you want to learn something, make your life as easy as possible, as it's highly likely that you'll give up. How many people reading this have made a new year's resolution to learn to play a musical instrument and then never followed through?
Starting simple means don't jump in and get the biggest and worst book on the subject. Over the years I've found it a lot easier to start with a maybe not so well rated book that explains some of the simpler concepts before undertaking the full monolithic thing. If you want to learn something I suggest you start with the introduction book, an idiots guide etc.. It sounds silly or obvious but I failed to do this for the first five years of my career and until I 'got it' I pretty much gave up on reading technical books as they were ALL too complicated. After you have some basic concepts, it's a lot easier and less frustrating tackling the harder points.
Software Architect, Programmer and Technologist Jon Jones is founder and CEO of London-based tech firm Digital Prompt. He has been working in the field for nearly a decade, specializing in new technologies and technical solution research in the web business. A passionate blogger by heart , speaker & consultant from England.. always on the hunt for the next challenge