Lifelong learning is a vital skill for software developers. Without continuous learning, I cannot imagine how a software developer could have a successful career these days. But how can one keep up with the loads of information out there? The amount of information to be consumed surpasses our ability to consume and learn. How do we develop ourselves as successful software developers? What strategies should we use? Here is the learning process I use which may be useful for you too.
“Practice makes perfect”. If there is one thing that I would choose above all, it is practice. Writing code is the single most important thing you need to do to get good at software craftsmanship. You may do it in different ways and different levels. Being a full time software developer is the best way in my opinion, and you may also work on your own or contribute to open source projects in your free time. Apart from full time serious projects, I find it useful to work on a side project. Side projects can be fun and may give you the opportunity to learn and enjoy what you do, and often these projects can be turned to successful projects.
2. Following Trends
Following trends is very important to keep your skills sharp. Knowing what is coming next in your industry is of utmost importance to excel in your career as a software developer. Following trends can be done in several ways and you may find which suits you best. You may choose to follow the industry leads in social media, or read blogs, or you might be just the guy who goes to user groups and conferences. Following trends will show you what you need to learn next and where to focus so you are prepared to cope with future challenges.
3. Video Tutorials
Video tutorials have become a common way to consume information today. Videos have many benefits. We can consume higher amounts of information in a shorter amount of time. Also, most people learn better visually, and this makes watching videos a preferred way to learn new technologies. You may choose to subscribe to a learning site (e.g. PluralSight or Udemy), or you may choose to watch videos in YouTube. There are many options.
Although we have several ways to consume information, I think books are the best choice when you want to learn a technology thoroughly. Tutorials are good to get a glimpse on a technology for evaluation purposes or to get an idea how of the basics, but if you want to get a sound understanding of something I think books are still the best choice. They usually are more carefully written and present the information more completely in a flowing order. They take more time to read and they are larger in volume, but they give you a better understanding and full perspective of a big picture.
One of the best practices for learning better in my opinion is sharing your knowledge. Be it blogging, showing off your code in a user group, or teaching someone else, sharing your knowledge pushes you to learn. Teaching challenges your understanding of a subject and helps you improve your knowledge. This is my main motivation to blog.
The learning process of a developer nowadays might be different and adjusted to custom habits and requirements, however, in my opinion, these are some of the best ways to learn new technologies and always maintain your skills. What are your learning habits? Share with us.