As developers, learning is an important part of the job. Often times I see people reading books to learn; this is a good idea, but that is not enough. The most effective way to learn is a combination of reading and practical work. To learn a new framework, technique, or anything requires an interaction with it first hand. As individuals, we can do slightly better than just reading books. Let me explain how I go about learning anything in the tech area.
Work On Side Projects
The most effective way is to learn from side projects. By working on projects, we can get a more first-hand experience with the framework, technique, and more. As we write the code, test the application, think of new features, it’s a learning experience that is more powerful than reading any book. Now, if you notice many times tutorials on frameworks or techniques include a project of some sort. I will explain why.
We learn the best as humans when there is a physical trial and error component to the learning process. For example, you can’t really learn how to pitch a baseball simply by reading a book on it. Proper form and technique come from actual practice — hard work. Now, you might think this only applies to physical sports and activities, but that is simply not the case.
Software development is a complex task that requires a lot of different disciplines in order to build a successful application. Each discipline requires some practice and work because if you do not, you will only have a theoretical understanding of the project. Writing code is just as physical as it is mental; you could compare the act of writing code to learning Math. Math is a language, and you need to learn the syntax before you can solve the problems presented. As developers, you’re always going to be running into new problems when working on a project, or edge cases you don’t know how to solve without thinking of solution with the tools you’re given. A book may not be able to cover all the edge cases that you will come across in the learning process. A keen understanding of the project is a requirement. Furthermore, it is better to find multiple sources to fill in any gaps in your knowledge while learning something new in the development process.
Remember this when trying to learn a new framework or technique. Don’t just look for the answers to all your problems online; figure out the logic behind it to solve the problem for yourself in the long-term.