According to Jones, half of the skills learned in a formal engineering education will no longer be relevant in 10 years' time. A decade into my own career, I have observed this principle to be true. When I first started working as web developer, the landscape was dramatically different - the capabilities of web applications were far behind desktop applications and mobile devices accounted for a minuscule portion of web traffic. This is starkly different from the current state of technology - mobile devices are ubiquitous, exciting APIs such as geolocation and local storage have come to fruition, and robust web applications are the norm rather than the exception.
To keep up with the pace of change and replace the stagnant skills with new ones, I use academic motivation, an instructional design principle, and incorporate it into my own continuing education, which I'll describe in this post.
There are many theories on how people learn and ways to support these ways of learning with instruction. One principle that is present in a number of these instructional design methodologies, such as Dick and Carey's instructional design theory and Keller's ARCS model, is learner motivation. Just as motivation is important in a traditional classroom setting, it is also a key ingredient for self-education.
Motivation in self-education
For an instructor in a traditional classroom setting, determining the motivational factors of an entire student population is difficult. One of the best parts about self-education is that you know what is going on inside your head and your own motivation for learning. Motivating factors that I have used to guide my own learning include obtaining new employment or a promotion, satisfying a genuine curiosity about a new tool, or learning in order to complete a project.
Tip: Be honest with yourself. Your motivation for learning is important in determining how to best meet the objective.
Relating motivation to the goals
Based on the reasons and motivation behind wanting to learn, you can begin to structure a plan that meets your needs. For example, if your desire is to make yourself more marketable as a developer, then you might take a look at the trending technologies on Stack Overflow, GitHub, Google Trends, or job listings to see what the current market conditions are and where they are headed. On the other hand, if you wanted to learn in order to solve a problem for a current project, your emphasis might be geared toward the quickest way to ramp up on a specific technique.
The execution of the former would require longer than the latter, and the path to satisfy the need would be radically different.
The importance of play
Learning through play keeps learning interesting and prevents it from feeling like a laborious task. One of the keys in my own learning has been quickly finding opportunities to engage with the content I'm learning so I can experiment.
For development, this can be as complicated as building a new tool and releasing it as open source, but it can be as simple as coding a "hello world" equivalent with a new framework or programming language. A great example of learning through play is this Functional Reactive Programming (FRP) tutorial. Sure, you could learn how to do FRP from a book, but the interactive tutorial is much more fun and engaging.
Tip: Invert the "read book, then code" approach. Even the best, humor-laden educational content can be hard to get through at times. Try gaining enough foundational knowledge to be able to play and continue to learn as you go. More involved theory can be learned from books or journal articles at a later point.
Be specific about the desired outcome
Tip: Keep the focus narrow and specific. A specific focus leaves no doubt what is being learned. You'll be able to demonstrate progress more quickly, and this will help maintain the level of motivation as you progress toward your goal.
while loops, I would like to be able to refactor these loops using ES5 Array methods, and ES6 Generators while maintaining the same program output without errors." It might sound like overkill, but a focus this narrow places your full concentration on learning and helps alleviate frustration due to lack of direction.
Learning new techniques and subjects is required to stay relevant in any career, which is especially true in web development. Staying motivated increases commitment towards learning, and applying the concept of academic motivation from the field of instructional design allows for a solid foundation for self-education.