esigning My 2021 Professional Development Plan
At the end of November 2020, I created a professional development plan for the upcoming year using Malcolm Knowles’ (1975) Six-Step Self-Directed Learning Model. My aim was twofold: to lead by example and to bring more structure and intentionality to my professional growth.
Step 1: Diagnose Learning Needs
The first step in the model is to identify learning needs. At the time, three key priorities emerged:
-
Encourage my team to take greater ownership of their professional development.
-
Learn to manage stress more effectively.
-
Improve my JavaScript skills to match the level I had achieved in C# and Swift.
My motivation for building this plan was to model good development practices for my team. An added benefit was that it allowed me to organize my own growth in a more systematic and balanced way.
Toward the end of 2020, I experienced the negative effects of chronic stress—my sympathetic nervous system had become overstimulated, flooding my body with adrenaline and cortisol. The result: insomnia, exhaustion, and burnout. I knew I needed to engage in activities that would activate my parasympathetic nervous system to regain balance.
Fortunately, I had spent much of 2020 studying positive psychology and the science of wellbeing. This gave me both theoretical knowledge and practical tools to draw on. The challenge was to tailor those tools to my needs and turn them into daily habits.
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.

Step 2: 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.
Step 3: 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.

Step 4: 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.

Step 5: 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.

Step 6: 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.
Related Posts
- Goal Setting
- Deliberate Practice: Programming
- Deliberate Practice: Music
- Positive Deviance
- Double Loop Learning
- Growth Mindset
- Learning by Doing
Related Artefacts
- Learning Area Matrix
- Learning Action Matrix
- Category Theory Tracking Board
- Lambda Calculus Tracking Board
- WOOP Matrix
No comments:
Post a Comment