Sunday, May 30

Self-Directed Learning

A t the end of November 2020 I put together a professional development plan for 2021 with the help of Knowles (1975) Six Step Self-Directed Learning Model.

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 added them 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
Lambda Calculus videos 1 & 2
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 Activity


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.


No comments: