I am falling behind on my blogging. The reason is that I struggle with work-life balance.
In addition my life is a balance between family and personal time. Personal time can be broken down to (in no particular order):
- Procrastination (TV, Gaming and Twitter)
- Reading books (non-tech)
- Running to keep fit
- Hobby - which is working with open source software
My hobby can be broken down to:
- Acquiring tech information by reading articles/newsletters, books, listening to podcasts and watching videos and streams (all often feels like procrastination)
- Blogging about tech
- Learning and improving coding by making PRs to existing open source projects or by doing coding challenges
- Coding on existing projects (mostly yak shaving)
- Developing new projects for learning new stuff
The above points are ordered by difficulty/time drain.
Juggling all of the above introduce even more challenges:
1 Remembering what point you got to, when time is split into small parts
2 Remembering points from articles/videos/podcasts
3 Remembering useful resources
The problem here is the magnitude and you end up with tonnes of links/bookmarks, that you would like to process.
I try to break stuff down to bite-sized parts, so they can be squeezed into a busy week trying to balance everything above and you can do something in a sensible timeframe.
I have attempted with notes in varies tools and formats, but it is hard to organize and keep everything organized.
What I have found works best for me (in significant order):
1 Work with the acquired information, code something, adopt a tool into your toolbox/toolchain etc. Do it consistently, meaning repeat it until it seems natural and you almost cannot remember what you did earlier
2 Write TILs / Notes to capture links in a form that is easily accessible, like problem description, solution outline and deeper explanation
3 Blog about it to set a larger context and reflection. I have often thought about doing either podcasts or live-streaming, but I have not had the time to set up something, which would deliver a product of satisfactory quality
We all work differently, I am a very visual person, so I often prefer diagrams to walls of text or at least that long pieces of text are accompanied by graphics. I also seem to learn best by doing and I often remember things more easily if I write them down - but what works for me, might not work for you.
As I mentioned in the beginning I run to keep fit, I have used to do it a lot more and I learned a lot from it and I was able to get to a level where I could finish a marathon.
Everything boils down to discipline. The discipline to practice and put in the sufficient effort to reach your goal. Running worked for me since I was able to simply tie a pair of running shoes and run whenever I felt like it. Which brings me to the next point: motivation - and I was highly motivated. I prepared for a year to reach my goal of finishing a marathon.
Now I have to find a similar simple way of working with my hobby, which balances with my work and life.
1 Set up a goal
2 Make a plan to reach the goal
3 Execute the plan
I have tried to learn to program Rust (see: "TIL: Setting Up a Rust Development Environment" and "Blog post: A Little Hacktoberfest Fairytale") and there is so much more I want to accomplish and learn.
Learning Rust is however not as easy as running, so I have decided to include some of the different practices I have listed above, since I am interesting in learning and internalizing what I learn.
1 I need to acquire some information on Rust via articles, books, podcasts and video tutorials
2 I need to do a lot of coding challenges to practice Rust programming to get a sense of the language, it's extensions and idioms
3 I need to write up TILs on different aspects of Rust and it's toolchain
4 I need to define 1 or 2 larger projects I can either develop myself, alternatively I can make PRs for existing projects that spark my interest
and finally I want to blog about it - wish me luck, send me pointers and links to articles, stuff to read, hear and see.