Constant Learning. How do I do it?

Constant Learning. How do I do it?

If there's one thing that we can be sure of in this ever-changing tech world, is that there will always be something new or better. Something that'll either improve an existing process or will open up avenues for new tasks altogether.

So in this fast-paced world with an ever-changing technological landscape, how does one move fast enough to stay relevant? What do you you have to do to:

  1. Stay on top of your skills
  2. Get better at new skills

A simple enough question, with mostly a simple answer: Practice

If one can devote just one hour per day to learning a new skill or revisiting a familiar skill, they are bound to get considerably better. But as with every other thing in life, consistency is key.

First, let us set the assumption that there'll always be something that you need to get better or stay better at. Be it an existing skill or an entirely new one. So what you need here is to inculcate a habit of practicing that skill daily.

Try to find time for this learning activity in your schedule, as you'd do for any other activity. Sooner or later, you'll find it to be a natural occurrence in your day-to-day activities.

Laptop with notes diary

For folks having a flexible schedule, like freelancers or students can find this activity to be slightly easier than once who sort of have a fixed schedule, like office-goers. For them, I'd say the current working from home scenario is somewhat a blessing in disguise. Granted the work hours are getting a bit stretched, but it has also become easy for one to squeeze in a good amount of self-learning tasks in the day.

Let me give you a personal example.

Starting this year, I thought of benefiting from the lockdown by doing something productive and try to make good of this situation.

I decided to:

  • Get better at existing skills
  • Pick up new skills
  • Brush up on skills I knew but lost touch of.

I made a list and it turns out that I have a lot of ground to cover. Be it the tools & tech stacks that benefit me at work or the stuff that would add a completely new dimension to my profile.

I've been wanting to increase my skill level in self-service BI tools which I work with daily. As well as I wanted to level up my python programming game, which would lead to a broader career path in machine learning. Apart from that, the world of full-stack web development & responsive web design was always a distant dream of mine. All in all, it was pretty overwhelming. So much to do and so little time!

This wasn't going to be easy. Nevertheless, I decided to give it a go.

I've decided to devote an hour of learning to a subject before getting started with my job. That way I can easily squeeze in some good learning without getting distracted by the numerous emails & pings.

I started with a plan, learn the basics of HTML & CSS, and use that to create my portfolio. So I started with that. I browsed the web looking for the sample portfolio designs and noticed that to create a smashing website, I need to know JavaScript as well. But nowadays, only simpletons use Vanilla JS. A framework is the way to go. That made me add React & Angular to the list. Now since I wanted to learn the entire stack, Node & Express made their way into the list as well. With the tech stack finalized, I thought of the content I'd put on my portfolio. It turns out, apart from the projects I'd done at my office, I do not have any side projects to showcase my data analytics abilities. So what's the point of my portfolio?

I need to go to Kaggle and do some stuff before I can showcase the same on my portfolio. But in order to do good stuff on Kaggle, I should level up on python & machine learning.

Do you see what is happening? I was getting stuck in a vicious circle of learning and a pretty bad case of tutorial hell. I figured I need to have a plan before I begin my learning.

Now for folks who aren't spread as thinly as I am, can focus on one tech stack & create your learning plan. But covering such varied topics uncovered the problem of setting the learning path. E.g., JavaScript is different from Power BI and can't be clubbed. What do I pick up first?

Just deciding what to study on a particular day took up a considerable chunk of time, which could have otherwise been utilized doing something productive.

And then I did something. I employed a quick shell script to assign me my learning task of the day. No more time wasted in thinking. I just execute the script & load up the topic for the day.

Shell script code

Though this may seem random and off-putting, the rapid context switching is working out great for me!

Not only am I now saving time, I now clock in a good 90-120 minutes of learning before I start my work. I am more attentive in my learning and have transformed into an avid note-taker. I believe this has helped me convert my short-term memory stores into long-term memory quickly & better.

Now I am in no way saying that this is a one size fits all method. Your requirements may be different. Your learning style may also differ. Most importantly, if you don't suffer from the shiny object syndrome as I do, you'll find it much easier to formulate your learning plan and stick to it.

But the main thing over here is that you need to make a plan and stick to it. You have to stay motivated throughout the journey and celebrate the little things.

If you're completely new to web development, don't focus that your website looks nothing like the ones you see on Awwwards. Instead, be happy that you can now do stuff that you thought was impossible a week ago. Make small, attainable goals and stay happy. The rewards will soon come.

Happy learning!