Learning how to learn

I’ve recently taken on another big programming project, but without my mentor, Mr Sim. I’m working for AdaptAce on this project, creating an English test administration software.

It’s really a big jump from the last project I worked on. For starters, I’m not using the CakePHP framework. I’ve had to learn Javascript (JS) and Python, two new programming languages. On top of that, I have to learn Angular and Pyramid, the frameworks for the respective languages.

Also I’m messing around with XML, since we’re using XML files as our database, but it’s not technically a language; it’s just a plaintext format.

It’s now about two weeks into the actual programming work (the previous two weeks were for requirements gathering) and I’ve gotten the hang of Angular and JS. I was also introduced to Alertify.js, which IS SUPER COOL!! It’s just really sexy notifications so now I don’t have to use the browser’s ugly alert box.

I’ve come to realize that when you learn something new, there’s only three skills you really need.

1. Learn how to ask questions
Seems pretty straightforward and an obvious move for a newbie, right? The problem is, most of the time, the newbie doesn’t know what he doesn’t know.

Let that sink in a bit. If you don’t know what you don’t know, how do you know what to ask? The best way to learn what you don’t know is by immersing yourself in it. Eat it, drink it and breathe it for a few days. Study the ice berg. The questions will come naturally.

2. Understand the answers
Asking the right questions is not all. You’ll need to learn to understand the answers. By this, I mean you’ve got to know the lingo of whatever area your entering. Acronyms, nicknames, short forms and weird names, that sort of stuff.

You might want to make a list of all these words and phrases, so that you build yourself a small dictionary to refer to. After a while, (usually during the immersion stage), you’ll start to get the words and won’t need the list anymore.

3. Monkey See, Monkey Do
Sometimes, you just need to model someone or something in order to get off the ground. This is why step by step tutorials work so well; you’re essentially copying what someone else has already done. I find this part especially useful in areas where you have to develop your own style, like in art. Nobody has their own style of doing something immediately when they start learning it. It’s so much easier and more productive to start by copying someone’s work. First, this forces you to follow the process that the original person took and perhaps you’ll be able to understand why he/she did things in a certain manner. Also, as time goes by, you’ll start changing little bits here and there until eventually, you’d have developed your own style. It also works when you take bits and pieces from several people’s work and put them together, thereby creating a whole new thing.

Imitation is the best form of flattery.

For example, I learnt parkour from copying the basic moves like kong vaults, speed vaults and dash vaults. I never did anything creative with my moves until I saw this one guy jump on top of a ledge, do a leg sweep and shoulder spring off. I was determined to learn it as well so I imitated him. The more I hung out with other traceurs, the more creative moves I saw and emulated. Eventually, I started creating my own flow of moves and now I have a floor flow which links my handspring, kip up, forward roll and handstand together. Since I created it myself, it’s my style.

I had copied enough people to understand how moves could be chained together to form a flow.

That’s what you need to do: keep copying people until you intuitively understand how the individual bits fit together in any given field.

Once you’ve gotten these things down, you’re pretty much set. Any problems you face, just ask questions, understand the answers and copy people, and you’re well on your way to learning something new.

Another interesting thing I discovered about myself is that chillstep really helps me code. Some people like white noise, some prefer absolute silence, I like chillstep. It’s dreamy. It has several advantages for me. First it blocks out other noises and conversations. It’s semi-repetitive, so I can go on to autopilot mode. The beat and rhythm of the music keeps me energetic. Lastly, when I “resurface” from coding, usually after I solve a problem, I can have a little victory dance.



Talk wordy to me

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s