I know things have been a bit quiet around here of late, most of my spare time is going to my recent editorial duties! But once that is over, things will be taking a slightly different turn around here. I’ll be going back to my roots. Back to the internals. Why? Well the thought kinda kicked off after something Massimo said a few weeks back on Twitter. I completely agree with that on many levels. But on others, I don’t. And the grounds for the “don’ts” are pretty much based in laziness, much in the same way that scripting guru’s are generally the laziest people to be found (yes Lam and Dekens, I’m looking squarely at you :P).
When I was in the last 2 years of high school, there were 4 different maths classes. The first was pretty much a remedial class, for those who didn’t like maths and didn’t want to like it. The 2nd was geared for probably 80% of the population. Third came the “above average” class, for maybe 10% of people. And finally, the 4th and “hardest” class was for around 1% of students. The interesting thing was, levels 2 and 3 were somewhat cumulative. That meant the people in level 3 actually learnt the entire level 2 curriculum in a single year (instead of 2), then moved onto the advanced stuff in the final year. But we still had to sit every level 2 exam for both years, in addition to the level 3 exams.
Here’s the relevance of that little story: the final year of level 3 was pretty much learning how to prove or derive most of the level 2 concepts and formulas. What was the effect of that? By learning a smaller set of deeper knowledge, the higher level constructs became little more than logical conclusions. Instead of learning 500 formulas, I could just derive the 500 from a much smaller set of principles and formulas. So when it came time to do that final level 2 exam in the final year, I got a near perfect score despite completing the level 2 course a year earlier. I didn’t have to remember the what, because I knew the why. But it didn’t just stop there – my deeper knowledge of maths threw a whole new light on physics (excuse the pun) too.
The same happens with technology. The world of Cloud in some respects dictates we become detached from knowing what is behind the veil. We are told the hardware shouldn’t matter, neither should the hypervisor or even the operating system in the case of PaaS. And it shouldn’t, except for when it does. If you understand the fundamentals of virtualised hardware timers and process scheduling, you’ll be much more competent at anticipating which apps are likely to run into problems when running on an IaaS, and what you might recommend to prevent the problem from occurring in the first place.
There’s nothing wrong with only knowing the what, of course. But if you’re pwned by your curiosity anywhere near as much as I am, knowing what just isn’t enough.