Working in DL&ML Kitchen
In culinary world, what the individual has cooked matters not the other peripherals. Likewise, this is why I value 1) breaking down available studying materials, 2) composing back it into a working code, 3) displaying the final work to the public as the most important components in studying.
I think engineering resembles cooking.
- Cooking school you've attended in the past doesn't mean that you are going to be successful chef. Not so many people are interested in restraunt you've worked at before. Having restaurant in populated location doesn't lead customers to visit once again.
- Using fresh ingredients, using knife properly, not overcooking nor undercooking the food, undergoing numerous experiments to develop signature menu will be the only characteristics of successful chef.
Maybe it's just becaused I watched too many episodes of Kitchen Knightmares or Masterchef Korea Season 2 on the Youtube.
Studying Routine
My studying routine is different from others.
- I type the code first and then listen to lectures. While listening to lectures, I write lenghty footnotes. Those footnotes are for my future self and for the other people who are looking at my code.
- I am not fond of rewinding lectures back. I don't like pausing lectures neither. Instead, I refer to the Github repository of the lecture. I also follow commit logs one-by-one using Sourcetree. If I want to look up something, I type my question on google and forget about it until the lecture is over.
- Rather than studying the same material repeatedly, I try to find different material on Youtube/Github that covers the same topic.
- The optimal ratio of listening to lecture and studying on my own is 2hrs of lectures + 6hrs of studying on my own.
- Typing code, taking notes for the lecture doesn't help me to write code of my own. Applying knowledge to my own project was the vital process for me to code my thoughts into action.
- I regularly try to look what is going on behind the framework. For example, I regularly checked how Django's classes looked like along with its documentation. Likewise, in case of
torchvision
ortorch.nn
, I look what are models provided by pytorch and read how it is cons. - I prefer to prepare for the test/competition/project rather than diving into small details first. Of course, those projects I've worked on so far has failed except for one. But while working on materials that I can barely skim through, I find myself parts that I am missing fundamentals and take notes.