Tuesday, July 14, 2009

Deep Understanding

It's one thing to know generally how to do something. But it makes a huge difference when you start to get a deep understanding for what's going on behind the scenes, how the process really works.

As an example, I've been doing web design projects on the side, learning as I go. I've been using CSS, or Cascading Style Sheets, more and more, as CSS is now the preferred method for page layout and design. And I've learned how to use it well enough, but on a surface level. I knew which tags I needed to accomplish certain things, but I didn't have a complete understanding of how and why CSS and HTML together were doing what they were doing.

So I started reading about the mechanics below the surface; Why the these mark-up languages were designed the way they were. Their strengths and weaknesses. Ways to integrate the two more fully. I'm slowly developing a much deeper understanding of the process. Not just the how, but also the why. It's making a real difference already. Suddenly thorny little needling "bugs", where my code doesn't perform the way I think it should reveal themselves for what they really are. Not errors in code, but holes in understanding. Code left incomplete because a lack of understanding regarding what was happening below deck.

When you learn a new skill, regardless of what it is, try and go as deep as you can. It's not enough to know just the how, the basic skills. Knowing the why can help quickly get you out of jams, because applications can differ slightly from situation to situation. When elements change in a given system, knowing just the basics will get you stuck. But knowing deeply what's going on allows you to alter your methods without having to relearn new basics. You become more nimble. More effective.

So go deep, ya'll. Go deep.

No comments:

Post a Comment