Persistence

Posted on Sun 22 August 2021 in learning

Post #17 Persistence

The last entry was in February of 2021, 6 months ago. A lot has happened in the world, but I personally feel like not much has happened to me and I unfortunately stopped updating this blog. I returned to my workplace back in the beginning or middle of March and got busy. By not making this blog a habit or a priority, I stopped writing. I didn't stop learning how to program, but it did slow down.

Here's the current situation with some topics I talked about back in post #16:

Pandas + Matplotlib with Python -- I was going over how to use Pandas for a project at work, but instead prioritized trying to understand the Django framework that my workplace was using to collect and display data. A co-worker learned more about plot making while I dealt with Django. I haven't gotten practice with using Pandas or Matplotlib.

Data structures and Algorithms -- Tried starting multiple courses and did not continue with any of them. I'm not sure why considering they are important topics that most employers ask about in a technical interview.

Leetcode and Hackerrank -- Didn't make Leetcode or Hackerrank a habit. Have completely stopped doing them.

SQL -- Learned how to use SQL on a Udemy course, but haven't used it since.

Dragon Quest Monsters Database -- I've started making the website, and it's going slowly. More about it in the next post.

Identifying the problems

Things are not looking good for me in the consistency department. The only thing I was pretty consistent on the past 6 months is watching shows on Netflix everyday. I finished watching the whole Stargate series (including spin-off shows and movies), the latest season of Lucifer, and 9 seasons of Criminal Minds (currently on the 10th). And I also spend a lot of time on Reddit. It's a little embarrassing once I've listed all these shows, and I realize I have a time-sink problem. The first step to solving any problem is to admit you have a problem and identify them.

Current problems when trying to learn:

  • Easily sidetracked (even when writing this post I've started, stopped, and continued multiple times)

    • Reddit, reading the news, watching Netflix are sources of distraction
  • Trying to multi-task topics

    • I have found I am very good at starting things, but not keep up with it during this programming journey.
  • Not consistently learning or practicing everyday

    • It is better to learn one hour every day instead of cramming seven hours in one day
  • Not using the tools I've learned

    • I've learned how to use SQL and little of pandas and matplotlib, but haven't actively practiced it.

Tackling the problems

What can I do to fix these problems and find time to program?

  • To Do list

    • I've found that keeping a written To Do list has helped in doing chores around the house. I would do these task the day I put it on my list. Physically crossing off list items is satisfying

    • A written To Do list for programming tasks and goals was a little difficult to keep track of and typing it out was much easier to add in details and edit due dates. I've started to use a program called Kanban Tasker listed as a free app on the Microsoft Store. It looks like a stripped down Jira.

  • Budget time

    • Budget time on a calendar. Haven't tried a strict schedule yet, but it is an option. I would rather keep my schedule flexible

    • Pomodoro timer -- I've tried it a couple of times, but haven't consistently used it. Still get distracted by the list of major distractions above

  • Limit time-sink activities

    • Could I limit myself to one episode of Criminal Minds? The more important question is do I have the will to?
  • Sleep less, exercise more

    • Probably not the best advice to sleep less. Still need about 7 hours of sleep. Exercising more increases stamina and alertness/awakeness.
  • Active learning by doing a project

    • What's the point of learning from a course or tutorial if I don't use it? I've started a simple Django project to get myself familiar with its framework. More details about this project in the next post.

The major problems I need to fix is my motivation, persistence, and consistency. The Pybites podcast by Julian Sequeira and Bob Belderbos is an excellent podcast for programming beginners who feel stuck during their learning stage. One of the topics they cover is persistence (podcast #030). My main takeaway from this podcast episode is that there is no substitute for experience, and you just have to keep at it.

Julian mentions his experience forced to use a particular coding environment.

"...it seemed so ridiculously complex for what it did and it frustrated me. Every part of me wanted to just step around it, take the easy way out..."

"...it took me months to push through, persistence, I just kept it up of learning and every step was painful. Everytime I got to a new plateau, I celebrated, but it was really tough and I came out the other end feeling so much better for it..."

This same experience applies to learning anything. You will struggle and the road may look long. That doesn't mean you should quit at the first inconvenience or avoid it all together because it looks tough. In my case, I've delayed my learning, and I admit I was unmotivated for a period. What I've done to get back to motivating myself is listening to some of these podcast, reading about success stories, and thinking I can and will be able to do it.

The road may be long, but it doesn't mean it's impossible. Keep building brick by brick.