As technologists … we are often called upon to figure out HOW things work in a system.
The question I would pose is: Is understanding HOW things work sufficient?
My answer: No, you must also know WHY things work as well.
Why ask why?
First, and possibly foremost, understanding WHY something works the way it does gives a far better understanding of HOW it works. Understanding HOW it works, just means you understand the mechanics of how you interact with something. Understanding WHY it works means you understand the underlying mechanism (even if it’s just at a high level).
Additionally, if all you understand is HOW something works, when it works in slightly different ways you might not be prepared for them. Understanding WHY something works the way it does will give you more insight into different behaviors that might be encountered.
A few (simple) examples:
|The How||The Why|
|Knowing that, if you change a physical file, you must recompile the programs that use it.||Understanding what format level identifiers and how they are bound into program objects.|
|When you create a new message file, it should have a specific CCSID assigned to it.||Understanding what CCSID’s mean and how the system handles the various values.|
In the end, understanding WHY something works will make you a much more skilled technologist than simply understanding HOW it works.
And, for those of you who already know WHY something works … if someone asks you HOW it works … don’t stop and just explaining the HOW, explain the WHY also. The person who’s asking the question might be interested, and probably should know.
David is a Principal Software Engineer for PTC, Integrity Business Unit. He cut his teeth on the S/36 and has more than 25 years of experience on the IBM i / System i / iSeries / AS400. He primarily works in Java and ILE RPG specializing in cross platform integrations. David has received the COMMON Distinguished Service award and was named an IBM Power Systems Champion. David also runs and maintains midrange.com. His personal blog is Geeky Ramblings.