Posted: 24 May 2016
If you’ve been following my blog, I’ve been having this discourse within myself on getting down to learning a web development framework or not. A friend of mine, who’s a rails developer, shared this post. I kinda agree with most of what Piotr Solnica says.
You see, since time immemorial, I have always liked to build things from scratch. If I’m making a box, I would just buy a piece of wood, and cut it to the exact shape that I want. If I’m cooking, I wouldn’t want to use ready mix recipes. I would buy the individual spices and mix them in the right proportions. When I code in school, I didn’t like using ready made libraries and preferred coding something from scratch. I still like coding something from scratch. I feel like I have a better understanding if I do that.
This post sort of nailed it for me. I think Rails is a great abstraction, but there are so many intricacies to it. When there’s a bug, I get really irritated. I can’t solve it from first principles (well, I’m a noob in Rails still anyway)! I usually have to “Google for a quick fix” since someone must have faced that problem before. While this works, I’m not sure if it’s the best solution.
I face the same problem now. I’m told to not write as much as code as possible. Whenever there’s code out there, just take it and use it! I’m not saying this statement is wrong. But one has to take a very measured approach to this. If you are extremely familiar with the language and the principles of the code that you are using, then by all means use a library, but if you’re starting out in a new field with little understanding, then it might be wise to code out some toy problems from scratch.
I’m starting to see some clarity in what I should do now. Code from scratch and understand things from first principles. Web development is an interesting pursuit, but I know that I am not doing it full time. I shall focus on Machine Learning and Computer Vision.