04 10 / 2010

Rock-solid Fundamentals

Over the weekend, I saw The Social Network and read this article, The Social Network Bust: What I learned from my job interview with Facebook, from Hacker News. The impact on me was the importance of ‘rock-solid fundamentals.’

The last few months were frustrating, rewarding, and even community building. With other readers, I learned the basics of Django, GAE, and now have the ability to patch together websites. However in the mad dash to learn ASAP, I did not build a solid comp sci foundation.

Like anything in life, if it is worth doing, it’s worth doing right. I have learned how to code, but when my roommate asked me, “So you can define a class?” I couldn’t.  I know that there is a class within my models & views files, but I can’t answer why. 

””“

After some pleasantries the discussion of technology started and of course a few questions here and there.  What is load exactly?  What does it mean?  Discussions on threads and processes.  How can two processes communicate with one another?  What I slowly understood while I was talking with Tom Cook was that this was not a discussion on scalability on a macro scale, however it was it was discussion of scalability on a micro-scale.  I was not prepared for some of these questions, since some of these questions were Computer Science fundamental. 

””“

Those few sentences from the Facebook interview piece resonated with me. In TheSocialNetwork, guys were hacking away like coding Ferraris- while taking shots. To become an engineer at Facebook or Google, you MUST know the basics, they understand the why.  That is what I need, and what I recommend to other readers.

Gain the fundamentals to understand why.

Resources:

MIT OpenCourseWare: Electrical Engineering & Computer Science

Google Code University