The main constraint in software development is learning. This means that learning is a core skill for developers and we should not think we’re done learning after graduation. This post explores some different ways in which to learn.
Go To Conferences
Conferences are a great place to learn new things, but also to meet new people. New people can provide new ways of looking at things, which helps with learning as well.
You can either go to big and broad conferences, like Java One or the RSA conference, or you can attend a smaller, more focused event. Some of these smaller events may not be as well-known, but there are some real gems nonetheless.
Learning is as much about doing as it is about hearing and watching. Some conferences may have hands-on sessions or labs, but they’re in the minority. So just going to conferences isn’t good enough.
A more practical variant are workshops. They are mostly organized by specific communities, like Java User Groups.
One particularly useful form for developers is the code retreat. Workshops are much more focused than conferences and still provide some of the same networking opportunities.
Get Formal Training
Some of these course lead to certifications. The world is sharply divided into those who think certifications are a must and those that feel they are evil. I’ll keep my opinion on this subject to myself for once 😉 but whatever you do, focus on the learning, not on the piece of paper.
Learn On The Job
There is a lot to be learned during regular work activities as well.
Practice in Private
Work has many distractions, though, like Getting a Story Done.
Open source is an alternative, in the sense that it takes things like deadlines away, which can help with learning.
However, that still doesn’t provide the systematic exploration that is required for the best learning. So practicing on “toy problems” is much more effective.