yuecen's blog | about

Learning new programing languages with real problems

I was learning Vue.js last weekend. The reason I learned is that I not only wanted to know a programming language but also wanted to solve my real problems from one of my friends. Some of my friends work at department stores, they’ve been facing the same problem of calculation. So I made a web page with an algorithm to fix this problem. They were so happy, their time can be saved by what I made.

I felt that I learned this programming language effectively. I was highly focusing on how to solve the problem more than just learning a program language. The problem led me to a learning mindset so that I was going to be passionate to continue it.

Usually, you might be interrupted by so many things during learning. I probably talked to myself “you just rest a while, and then you will come back to finish your learning.” That was totally bullshit. I will not come back if I jump out to do other things or rest. If you use real problem to solve something, your friends or you might be very anxious after you are distracted, and want me to get back to solve it.

After you made a prototype to preliminarily solve the problem, your passion rapidly decline. How to spur your passion again? If you focus on the real problems, your friend probably might give you feedback that will be a good motivation to push you again. You are going to improve your prototype become solid and robust product instead of just feasible one.

I have a notebook to collect ideas or thoughts in life intentionally. Here I clearly decline the problems I want to fix. I always want to convert these problems into actions, so I give specific tags with, like coding, writing or speeching that let me directly do something next time. I hope this trick is useful to you.