Lifelong learning is a vital skill for software developers. Without continuous learning, I cannot imagine how could a software developer have a successful career in our days. But how can one keep up with the loads of information out there. The amount of information to be consumed passes far 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, perhaps it could be useful for you too.
There is a good saying I like: “Practice makes perfect”. If there is one thing that I would choose above all, it is the 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 I would say is the best way, but you may also work on your own or contribute to open source projects in your free time. Apart of full time serious projects, I find it also very 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 regularly their blogs, or you might be just the guy who goes to the events of user groups and conferences. Following trends will show you what you need to learn next and where should you put your focus so you are trained well to cope with future challenges.
3. Video tutorials
Video tutorials have become the common way we consume information today. Videos have many benefits. We can consume higher amount of information in a shorter amount of time. Also, most people learn better when they consume information 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, you have plenty of choices.
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 it is working, 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, present the information more completely and in a flowing order. Yes, 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 on a what you are good at, sharing your knowledge pushes you learn better what you know. Teaching challenges your understanding of a subject and helps you improve your knowledge. This is my main motivation why I write in this 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.