Short and concise stories, for software engineers.

Join 1,202 other busy engineers

Stay current with a weekly email of bite sized software engineering stories.
jamie@example.com
Subscribe

What I learned about self-learning in 15 years

What I learned about self-learning in 15 years
Photo by Tim Gouw / Unsplash

I love teaching myself new subjects. I have been doing it for the past 15 years, ever since I was 11. Having said that, I am a big believer in frameworks.

Over the years, I have been working on a framework for learning a new subject: GAMP. Using this framework helps me structure my learning and determine if my interest level in the topic will remain high throughout. Furthermore, it allows me to persist or otherwise force myself to quit if I find the subject unappealing.

Gain motivation

The first thing I do is to get myself excited about the new topic. I will start by searching for projects in the domain to see the possibilities. Whether it’s learning to play the drums or coding in Python, I want to see the end goal.
I might talk to people, subscribe to newsletters, join communities, and even buy equipment in order to increase my motivation and mental investment in the topic.

Assemble resources and requirements

In this stage, I will strive to understand how much of my time this new path will take. In order to gain this understanding, I embark on research: I create a list of all available resources that I think might fit my needs. It can be books, courses, articles, classes, and more.

I try to filter down as much as possible and based on my personal preferences, so I only have a few options to choose from. I find it useful to start with simple things, so I usually divide my resources into three categories:

  1. Straightforward, easiest things to get me going
  2. Thorough learning: books, courses
  3. Subscriptions: communities, newsletters, blogs

Meet up with a mentor

I have learned that having someone to learn from can cut my learning time by more than half. This person might introduce me to people, opportunities, or resources that would have otherwise taken me a long time to discover (if at all). While a mentor is a helpful addition, it is not crucial, especially if saving time is not a priority. I have done most of my studying without a mentor.

Persist and reflect

After all of this is done, it’s time for the actual learning phase. I will try to set a recurring calendar “study” event: it can be 10 minutes a day or 10 minutes a week, as long as it is persistent. The time can be determined from phase 2: the requirements. Every time I start studying, I will reflect on whether or not I actually want to do it still, and if I am still motivated. If the answers to these questions are negative, I know that I need to quit and choose a different topic to pursue.


The reflection process is a crucial one. Personally, I find it difficult to quit things in the middle, even if I don't like doing them. The reflection phase allows me to trust my intuition and “forgive” myself for quitting something in the middle, hence not spending precious time on something that I do not find interesting. It is significant to note that sometimes I will only discover my lack of interest after I start studying, which is a worthwhile outcome in itself.