Diagnose Needs
First step in the Self-Directed Learning Model is to identify your needs. At the time three needs immediately came to mind.
- Encourage my team to take more ownership of their professional development.
- Learn to cope with the stress of my job in a more effective way.
- Increase my skill with JavaScript to the same level as my skill with C# and Swift.
The reason I was creating a development plan in the first place was to lead by example. It had the additional benefit of organizing my professional development in a more systematic and structured way.
In the last quarter of 2020 my sympathetic nervous system became over stimulated flooding my body with adrenaline and cortisol causing insomnia, stress and exhaustion. I needed to control my stress levels by engaging in activities that activated my parasympathetic nervous system. Fortunately I already had a good idea how to do this. Over most of 2020 I had been studying positive psychology and the science of wellbeing, so I had a wealth of both theory and practical advice to draw upon. It was just a matter of customizing that advice to my situation and putting it into practice.
I have been using JavaScript for almost a decade, however I had learnt it in ad hoc manner and my understanding is not as thorough as most other technologies I used on a regular basis. My understanding of many JavaScript Frameworks was more comprehensive than vanilla JavaScript. This is the very situation I warn against when I mentor and coach other developers. Also my JavaScript code tends to be less structured or modular than my C# or Swift code. Therefore my skills in that area needed an upgrade.

Formulate Goals
After using focusing questions to narrow down the skills I wanted to target, I decided I wanted to balance my attention between people and technological skills and also between concrete and more abstract skills. I came up with a two by two matrix and filled it in.
Focus | People | Tasks |
---|---|---|
Abstract | Learn to Learn | Category Theory & Lambda Calculus |
Concrete | Reducing Stress & Refocusing the Mind | JavaScript & Knockout |
To help me make the most of my development plan I decided to study learning strategies as my abstract people skill. I decided that developing my intrapersonal skills to control my stress counted as my concrete people skill and JavaScript counted as my concrete technical skill. To fill in the remaining area I decided to concentrate on mathematical theories that would help me utilize functional programming in a more effective manner.
Identify Resources
It was reasonable easy to find online resources to support my learning, there is a wealth of online courses that are freely available. I even wrote an article a few years ago about available online resources. I added the resources I identified as relevant to this particular effort to my Self-Directed Learning Matrix.
Diagnose Needs | Formulate Goals | Identify Resources |
---|---|---|
Learning Strategies | ||
Learn to Learn | Professional Development Course Learn to Learn Course | |
Wellbeing | ||
Reducing Stress & Refocusing the Mind |
sleep - 8hrs exercise - 30min meditation - 5min play music - 15min |
|
Happiness & Wellbeing | The Science of Well Being Course | |
JavaScript & Frameworks | ||
Generic JavaScript | Advanced JavaScript courses MDN Coursera courses JS for web devs JS, jQuery, JSON web programming |
|
KnockoutJS | https://knockoutjs.com/ | |
Functional Programming | ||
Category Theory | Category Theory for Programmers Book | |
Lambda Calculus |
You would think that meditation would be the most effective activity for reducing stress, but it turned out that for me, practicing and playing music was the most effective method. Not everyone can use music this way. However most people have some sort of activity that calms them and helps them focus their mind, whether that is drawing, golf, chess, music or some other hobby.

Choose Strategies
For Learning Strategies and JavaScript I used the 70-20-10 rule. I filled in a Learning Action Matrix to divide my learning activities between deliberate practice, social learning and self study.
For controlling stress I used WOOP to help establish new habits. I filled in a WOOP Matrix to plan my approach.
For functional programming I delayed planning out my approach until the other topics where finished.

Implement Activities
I used a study tracking board to track my progress in learning JavaScript and track my progress in applying Learning Strategies.
I used a check list to track my adoption of stress relieving habits. If I missed an activity on one day I focus on achieving it on the next.

Evaluate Outcomes
Conclusion
The Learning Action Matrix organized the development plan in a simple to understand structure.
Many of the learning strategies that I learnt came together to form a synergistic whole.
The Adult Learner by Malcolm Knowles
No comments:
Post a Comment