In IT, it’s very difficult to keep up-to-date. A full-time job doesn’t give you a chance to upskill or try new things because you’re too busy dealing with legacy code, developing features, etc.
Yet, self-development is an important thing and I’ve tried my best over years to make it a habit.
For the few past years, I’ve conducted a few experiments towards self-improvement, and I’d like to share a few of those here.
I spent one year reading fictional books (actually not that many books in total, but way more than I usually read).
The result was controversial. I read a few interesting books, but found literally nothing useful for myself. Instead of answers I got just more questions.
Then I tried to read some books about processes. I thought that it could help me to be more productive at work and in making some decisions.
Unfortunately, it didn’t work well. Probably, I now understand about processes more than before, but to incorporate this into actual work one should have enough of influence (which is not necessarily the case), and you need other people to share your opinion.
I should say that this actually had two outcomes: 1) I became a bit more calm about decisions and how people communicate with each other, 2) I felt ineffective in my inability to change the way other people work.
Then I spent some time trying to fill technical gaps. And I think the information I consumed gave me the most boost compared to previous attempts, though anyway I felt a bit unproductive, as the way I tried to learn was a bit random.
After that I tried to come up with a more structured way of learning, which I will try to share here.
First of all we need a high-level plan, and then we’ll fill in some details. And with the plan, we need some tool to help us keep track on it.
I considered three frameworks:
Additionally, what resonated with me is the article about personal planning using GIST. I adapted it and improved in some directions to better suit my needs.
Maybe for you another framework will work better, it’s up to you to decide.
GIST a bit new framework, so not so many tools can be used to work with it out of the box. And it was actually a challenge to find what tool to use.I had few options:
So, I decided to use Airtable as a single source of truth.
There are different ways to learn something new. Some of the things should become a daily routine and some of them needs to be planned:
Books have essential knowledge on particular topic. It is good for dive in to some area or to systematize knowledge.Some books are just easy reads, some require thorough work.
find booksThere are different ways to find a books to read. You can look for some classic books on some topics (using GoodReads for example) or ask other people to recommend some. Also on GoodReads you can subscribe to other people’s feeds to see what other people read.
read on daily basisSelect one book you’re interested in and spend at least 1–2 hours per day on reading it.
keep track of read books on GoodReadsThis can help you to see the progress of the routine and later on review books you’ve read and ideas these books had (and refresh some thoughts especially if you leave reviews to books).
Articles are good for some quick dive-in, learning from others’ experience or understanding what other people are doing.
find articlesThe most effective way to find articles is to subscribe to RSS feeds for some blogs, aggregate websites, news feeds or Telegram channels.To manage feeds it is good to use some RSS management tool like Inoreader or Feedly.During the day look through the feed to not be overwhelmed by dozens of new articles.
save them to PocketYou’re not necessarily can have time to read some article at the moment you see it. Just save interesting article to Pocket and read later when you have time.
read on daily basisEach day spend at least 10–30 minutes reading articles you’ve saved.
Videos unlike books or articles provide additional visualization which is good for tutorials or presentations.
find videosSubscribe to channels which produce relevant content over time. These channels might have recordings of previous conferences sessions, tutorials and so on.Good source for such content is YouTube.
save to watch laterAs with articles not necessarily you will have time to watch some videos right away (especially long ones), so add them to Watch Later list.
make a plan to watchVideos might be quite long so you might not be able to watch them on a daily basis as with articles, therefore you need to plan to watch it (we’ll come to the planning later)
Podcasts are like videos. You can subscribe to some podcasts streams and save to listen them later.
Good way to learn something is to try it in action, investigate and then write an article to share your knowledge. Writing articles provides additional level of understanding the problem.
Pet projects is like advanced version of previous point. Instead of writing article on some topic you create working product or prototype and share it with the community. Sharing adds additional quality threshold on result which is very valuable.
Conferences and local communities besides talks themselves give you a chance to chat with other people and understand mainstream topics and issues.
It is very important to set up a concrete goal. “I would like to be a better programmer” for example is not a good goal, because it is not clear what you exactly should do and how later understand whether you achieved goal or not.
For setting a goal it is good to use OKRs.Basically you set Objective (Goal) and some Key Results (ways to validate your goal and set some measurements of success).For example I can say that I’d like to learn Dart programming language. This is the objective/goal. As a key results I will say that:
You can see that first KR is concrete — as soon as I write a “Hello world” program I can say that I achieved result.Second KR is vague as it doesn’t state what basic features I want to learn, what these basic features are and how to understand that I actually learnt them. So this KR is bad and you should avoid creating such.Create concrete KRs with clear outputs.
As you have set goals you should come up with ideas to reach these goals. Basically ideas should be easily created from KRs as they are heavily related.So, for “Learn Dart language” the first idea would be “Write Hello World program”.
Later create number of Tasks for each idea with some low-level actions. Tasks is actually what you’ll work on. For given example it can be: 1) download and setup Dart environment, 2) Find tutorial on basics of Dart (and read it), 3) Write “Hello World” program
I decided to use GIST as a framework. Though it is a bit difficult to implement it as is for personal development.As author of original article of GIST for personal planning said:
Often personal ideas can immediately be turned into tasks. For example if I chose to travel to Japan, there are no intermediate steps to accomplish this idea, just a list of tasks.
I extended this by removing Steps from personal planning completely. They provide more mess than help (again framework for process helps you to achieve your goals not rules what you should do).
I’ve created Airtable template for GIsT for personal planning.On Goals tab one can create a Goal and provide list of Key Results.Status of the Goal is calculated based on child Ideas.Also view hides all Done Goals as we’re no longer interested in them.
On Ideas tab one can create some Ideas and link them to particular Goal.As with Goals status of Idea is calculated based on child tasks (and done ideas are filtered out).As a homework you can also add ICE score fields for the Idea table in order to decide which ideas might impact your learning more.
On Tasks view one can create and manage Tasks. Actually this is the view one will use more than others. Also for Tasks Kanban board suits very well.
With all these you should be able to organize your learning and be more effective. Just do not forget to revise your Goals and Ideas over time (at least each month).
As a bonus this is my setup on a mobile device I use for organizing learning:
Try to add few high-level goals.Try to split them into ideas and tasks.At least each weekend try to take some tasks.And review your plan over time.
Learn and improve.
Happy learning.