Second Nature

26 Oct 2017

When I was little, my family and I used to go to a park that opens as cycling roads every Sunday. Since we did not have a bike at our house, I was always looking forward to go to the park on Sundays to learn how to ride a bicycle. At that time, my older sisters had already mastered how to ride a bicycle, and I was always trying to chase after them with my awkward bicycle-riding-skills. I always felt jealous of my sisters because they could go where ever they want with their bicycles freely in the park. Learning how to use Meteor to create an app reminded me of this time when I thought to myself, “I wish I could ride a bike like that.” Knowing how to create an app is something that sounds cool to me and makes me want to master how to do it on my own. But like bicycle learning experience was not a simple task, it is not that easy to learn how to create an app.

Bike Without Training Wheels

To learn how to ride a bike, I went to a training area where assistants would teach kids how to ride a bike. People at the training area would try to explain the important things to keep in mind when riding a bike, and they would show me how to do it. First, the assistant told me that I need the acceleration before pedaling, so I need to kick the ground to make the bike go forward. So the first step of learning a bike was to be able to kick the ground and balance myself on the bike without pedals. At first, I was scared that I would fall, so I remember I was looking down while I kick the ground. But the assistant person advised me to always look forward, and practice until I don’t have to look at the ground. It took me a while before I was able to master the first step because I would have to come back to the cycling place after one week to practice a lot. But every time I went to the cycling range, I practiced it doing the same thing over and over again.

Once I mastered that, the second step was to practice on a real bike, with pedals. This time, my assistant told me to incorporate what I learned when I start riding, but then pedal the bike to continue riding. Like the first step, the advise he gave me was to always look forward. This step became really hard all at once because I had to first kick the ground with enough acceleration, then pedal the bike while I was looking forward. I would come to the cycling range every Sunday and practice trying to do the same thing over and over again, until riding a bike became a second nature.

Learning Meteor is like Learning How to Ride a Bike

The learning process of creating an app using meteor was similar to this experience. In my software engineering class, we started learning how to use Meteor by creating an app called Digits, which has adding and editing functions for contacts, and also sign-in functions. Just like when I was learning how to ride a bike, we had all the resources to follow instructions, but being able to do it on my own is a different story. Even though I spent a lot of time trying to get the app work, I could still spend a lot more of my time to redo what we have learned over and over again until it becomes a second nature.

Just like how I started learning how to ride a bike without pedals, we started with the looks and created the home page mockup for our app. This first part was not too bad for me, since we learned about basic html and css skills prior to this assignment. The second step was to implement functions such as adding and editing contacts. This part was the real struggle to do it all by myself. The hardest part for me was in general to fully understand and connect which part of code is doing what. At the same time, I need to remember to import pages for appropriate files, and remember which file you are working on. Trying to remember which file you are supposed to edit was another challenge to me that was confusing, since a lot of files have the same names, but in different directories and could mean a whole different thing.

When I finally was able to ride a bicycle on my own, I felt like I have accomplished something really significant. Even though I don’t own a bike till this day, I can ride a bike now because my body remembers how to do it. Unfortunately, I have not yet gotten to this point yet for learning how to create an app with Meteor, but I know it in my head that I will be able to get it after repetitions and many practices. So all I have to do now is to remember how I learned a bike, and put enough efforts into making the skills my own.