Choose a Learning Path

Choose a Learning Path

My interests are wide-spanning and although they reside within the broad area of technology, they usually require different skills.

Each interest also requires time, planning, and organisation.

I've been considering recently how to best optimise my learning so that I can build up momentum. After watching a video from Devslopes I realised that I'm having challenges with learning because my learning is not done towards a path, a singular goal.

Background

Like most people I hated school. It prescribed too much of what I had to learn and didn't do a great job of relating that with why I'm learning it and how it can benefit me.

Most of the topics I loved were topics that had decent teachers. Those teachers were in equal parts educators and actors, they knew exactly how to spark curiosity and wonder whilst also allowing me the freedom to make my own mind on it.

I was glad to finish school because finally, at university, I was pursuing something I liked. In hindsight university is where you first encounter the idea of learning for a path: you enrol in a course, you set your target on an industry and you slowly find a sub-category of work that you enjoy. This freedom meant that whilst following a business degree I could also pursue learning Japanese, sociology, service design, and advertising.

In university I started joining different clubs and branching out my interests. This helped me avoid boredom, fight off the loneliness of being a foreign student, introduced me to new people, and helped learn some valuable life skills.

It did have a negative impact: I started to identify myself as a polymath.

The challenge

A polymath or a person with multiple interests believe that they can be good at a few things. They are 'Jack of all trades'.

I read once that a huge chunk of learners never become experts in a field because they become too addicted to being a beginner. As soon as they come close to mastery, they either start misjudge their experience or find new topics to learn.

The main issue I have is that having multiple interests, although exciting, leaves me with too much planning. If I were to focus on electronics, I could focus on this until I reach mastery.

Ultimately it comes down to choices and the more choices you have the higher the cost of making decision.

Inspiration

Devslopes was tackling the question 'Should I learn Python in 2021' and the conclusion was 'No' because learning Python isn't part of a path that can get a beginner into the industry.

Tools and process

Because of the multiple interests I've already developed some systems to manage my interests.

The most useful tool for validating new skills has been the 'learning radar' inspired by the Thoughworks Tech Radar.

Every year I decide what skills, tech, tools, practices, languages & frameworks I want to hold, assess, trial, adopt.

For each entry in the radar I plan quarterly goals, and from there I set a mastery target. Eg. By Q1 2021 I want to get an AWS certification.

The quarterly goals then get slip to weekly time slots. I time-box a lot and I find it really useful when learning.

Assessing the process

The biggest issue with the process is that my 'learning radar' is huge, which has a knock-on effect on the amount of time I can allocate to each entry.

This mean that it takes me longer to reach mastery for each entry.

Some entries, like calculus require vastly more energy than something like web development because of the ratio of skill/complexity for that entry. I'm a lot more experienced at web development so it's easier to complete goals for that entry.

Refactoring the process

Started by zooming out from the 'learning radar' and considering the 'paths' of each entry.

  • 'Learning Python' aligns with 'Machine Learning Engineer' and 'Web Security Engineer' and 'Automation Engineer (Network or DevOps)' paths.

  • 'Learning Rust' aligns with 'Embedded Engineer' and 'Robotics Engineer' paths.

  • 'Learning Calculus' aligns with 'Machine Learning Engineer' and 'Robotics Engineer' paths.

After mapping each entry to a path patterns start to develop.

I realises that some entries are shared by multiple paths, so I settle on the rule of only adding something new to the 'learning radar' if it aligns to 2 or more paths.

As hard as it is I decide to drop all other entries that don't match the above rule.

A small sample of learning entries I dropped:

  • WebGL
  • Vue
  • Electron
  • Flask
  • Swift
  • Kotlin
  • Flutter

What paths am I following

  • Software Engineer with focus on Web and Cloud
  • Machine Learning Engineer with focus on economic models and satellite imagery
  • SysOps Engineer with a focus DevOps and Networking
  • Security Engineer with a focus on Web Security
  • Embedded Engineer with a focus on human machine interfaces and sensors
  • Robotics Engineer with a focus on autonomous systems for land / air vehicles and soft robots

Remaining work

The paths themselves also need some prioritisation based on success rates. For example there's not as many 'Machine Learning Engineer' roles in my area as 'Software Engineer' roles.

I also need to factor in the difficulty of a particular field and how far do I want to get down that path.

There seem to be a lot of paths so there's more work to do here to whittle these down.

Summary

Don't learn anything that doesn't align to a path. I might feel nice to play around with an obscure knowledge but your time is limited.

Settling on a path / paths makes it easier to choose what you should learn next.