It takes time.

I recently enrolled myself in yet another new online course.

I say ‘yet’ because I have enrolled myself in numerous courses previously as well. But unfortunately I’ve never succeeded in finishing either of them. I always follow up with the course religiously for a few weeks until my motivation wears out or my fickle minded nature shifts its focus to something new, something it suddenly finds much cooler, yet never actually finishing the previous task at hand.  I’ve been through this enough number of times that I can call myself jack of many trades-

  • machine learning
  • computer vision
  • probability and statistics
  • music theory
  • computer graphics
  • parallel processing
  • algorithms
  • guitar playing
  • running

Yet master of none.

I can safely manage to have a somewhat interesting conversation with people about the said knowledge base yet I mostly find myself  intellectually challenged when it comes to an actual ‘grey matter’ discussion. Discussions where I am not able to contribute even though they pertain to domains of my interest.


Let me digress for a moment to talk about two approaches of  learning I have noticed people take.


Classically, people tend to start learning what they find interesting, and eventually delve deeper and deeper until they have achieved a level of expertise that bestows them the title of ‘master‘.

Lets call this behavior ‘Depth-first‘ learning approach, since people who undertake this approach swim a lake but know every nook,crevice,fissure and pebble in the lake.

Another approach, say ‘Breadth-first‘(example at beginning of article) is where people swim downhill a river are vaguely aware of its attributes. It encompasses a large domain that can be grasped anything but completely.

I have spent a lot of time thinking which approach is better – To know so much about a particular sphere, or to know about so many spheres with lower levels of detail.

Answer is – the former.

While ‘BF’ approach is suitable when you want to impress people with your superficial knowledge, ‘DF’ approach is more worthy when you want to contribute to that particular field. To make your mark.

Its like when I am watching a particular lecture series(say computer graphics) and I get stuck at a point beyond which I’m not able to understand what the professor is saying( say, writing shaders ) and I bash myself for not being able to understand a basic shader program even though the way he’s explaining the concept is very lucid. It is then when I look at the professor and notice his white hair,slouching skin.

I realized that professor had  put in his 10,000 hours into that field to gain that level of expertise that allowed  him to publish path-breaking papers,do new research, contribute to the field. Earn respect all over the world.

So I kept on, watching the same video repeatedly. It took me 9 times, but I finally got how the graphics pipeline is OpenGL works. I understood how to write basic shaders, how to write modern OpenGL programs.

It took time, but I did conquer it.

So don’t be disheartened if you don’t get it in the first try. The point is to keep trying until you succeed. This reminds me of a thing my math teacher once said:

F = m.a

” akal kam hai? koi baat nahi! aur mehnat lagao! Fal  aapko zaroor milega! “