Developers: how to remain relevant with self-training
As software developers in the midst of ever-changing technology, we are constantly faced with new challenges. Self-directed training allows you to keep up with the times and not become obsolete. Here are a few tips and tricks to give you the confidence and motivation to jump start or continue your self-training efforts.
The advantages of self-directed training
Pursuing your learning after you’ve joined the labour market is a good idea on several levels:
- Stay up-to-date on the technologies you already know.
- Discover new technologies and learn about the latest best practices.
Continuous learning gives you a professional edge by keeping your skills current, increasing your productivity, enhancing the quality of your code, and potentially easing your migration to new technologies.
One way to achieve this is through self-directed training:
Self-training is a means of learning that leverages the learner’s ability to work independently.
This autonomous, unsupervised learning includes, for example, attending a seminar, watching on-line training videos, or following any training course designed to complement your skills.
One of the great advantages of self-learning is its flexibility. Nowadays, on-line training resources are ever-more accessible, and you can find material on virtually any and every technology. You can set your own goals and schedule, and start training up on a new subject immediately. Then, you can adapt your learning program according to your goals and availability.
Self-training is a more active, faster and cheaper process than traditional learning (when it’s not downright free), making it the ideal learning solution for developers who work full-time.
Essential skills to stay motivated and productive
That said, the very flexibility and lack of supervision of self-training can be drawbacks, depending on your topic or your temperament. Without a concrete action plan, it can be difficult to stay motivated or, on the contrary, to stop exploring a topic and going in circles.
However, with the following qualities that make for a good developer in the first place, it shouldn’t be too difficult to stay on track:
- Curiosity: A thirst for knowledge, and the need to discover new things and take on new challenges.
- Self-confidence: Knowing your limits, and especially trusting your abilities.
- Patience and perseverance: Being able to sift through a subject, even if it looks daunting at first.
- Optimism: Never getting discouraged and always staying positive.
- Organisation and time management: Using your time wisely and staying productive.
Of course, you’ll also need sound judgment and even intuition to know what to study, i.e. to pick the topics that are most relevant and offer the highest payback over the short, medium and long term.
On the other hand, there is no wasted learning. Even a minor detail that seems irrelevant today could be the key to learning or understanding a new concept tomorrow, assuming you can remember it of course!
Tips and tricks to get started
All this certainly sounds good, but with so many new technologies, how do you know where to start? The learning process will vary from person to person and the options are endless. Here are a few of my own ideas to help you develop your learning plan.
The most difficult thing is finding time to learn. The least difficult way to do this is to take a few days between projects to explore a new technology. Obviously, this isn’t always possible; but it doesn’t mean that you must wait until you have large chunks of free time to learn. In fact, you’re better off taking a few minutes a day to read an article, or a few hours a week to take a tutorial.
Make a list of topics
Even when things are busy at work, you should still be on the lookout for topics to explore when you have a little down time. Jot them down for future reference; this way, you’ll have an idea of where to start when you have a few spare moments. Also, you should prioritize your topics by level of interest or complexity, in order to choose your next direction depending on how much time you have on your hands.
Besides your list of topics, you should also have a favorites folder with a list of articles to read, so you’ll always have reading material at the ready.
Define your learning goals
Before embarking on a topic, set yourself specific learning goals as well as a time limit. This will force you to focus your learning activity and avoid getting lost in minutiae. Furthermore, parceling your learning into modular blocks will improve your concentration and help fit your learning into your schedule.
Build a library of resources
There are so many on-line resources for developers: discussion forums where you can ask questions, tutorial sites, on-line training videos, etc. And let’s not forget official documentation, which is often the best source of information available to approach a new technology.
Categorizing and indexing all these resources is a great way to optimize learning, and to keep track of what you’ve already learned. For example, you can organize your favorites based on technologies or on topics, bookmark a forum page with the solution to a particularly tricky bug, or keep a list of useful, frequently-consulted resources.
Not only does this support learning, but it also makes it easier to review what you’ve learned and to access it more quickly as needed.
Even after you’ve joined the labour market, you should continue learning to remain relevant and to broaden your horizons. Due to its flexibility, self-directed training is the best and most efficient way to achieve this.
I hope this article rekindled your interest in learning, while giving you a few ideas to start off on the right foot. Happy learning!