When I was a child, my father bought me a transparent model of a car engine. It was called the “Visible V8”. It had all the working parts of a real engine and you could see how they all interact. You could visually see how the motion of the pistons moved the camshaft. You could actually slow down this movement and observe the rhythm of the valves.
I very much enjoyed putting the model together at the time, however I was oblivious to the larger lesson: It is important to understand how things work. While I may never restore a classic muscle car from the ground up, my father wanted me to understand the basics of how an internal combustion engine worked. My father was an engineer and understood these things easily, but he knew I was less engineer and more artist - a musician with no mechanical talent that needed a little more remedial help.
Thirty years later, I am living a life in the trenches of a fast-paced digital agency. I work with many programmers on a daily basis at all levels. We are lucky to live in a time where tools such as jQuery, Entity Framework, Linq, and SASS allow us to create wonderful solutions without “dirtying” our hands with low level tasks. These tools speed up development and frankly much of my job would be frustratingly tedious without them.
These tools are great, but I believe strongly that to use these tools effectively and appropriately, we need to understand how they work. Too often we are caught in situations where we risk performance, security, or functionality of our applications due to our lack of understanding of just what these “time savers” are doing for us. We should be aware of not only the pros, but the cons of our favorite tools. When things go wrong, we should be prepared with the knowledge to get “down and dirty” to troubleshoot effectively.
We all have varying talents for understanding how things work “under the hood” and that is ok - but we should recognize our personal limitations and know when we need to take some time to slow down and build our own “Visible V8”.
About Steve Bridges
Currently serving as Liquid's CIO and Director of Application Development, Steve possesses nearly 20 years of experience in professional software development. He cut his technical teeth in the financial industry where he spent a decade developing websites, applications, and line of business applications for a credit card company. It was there he developed a love for marketing and found a home in agency life.