When coding and designing there are a lot of steps and techniques that may seem trivial and appear to have little importance in the grand scheme of things. Does it really matter if we are using meaningful names for our variables in our code, or for our CSS id’s and classes? Who really cares if we use deprecated elements in our X/HTML so long as browser recognize them? So what if I am not consistently formatting my code the same way?
I am a huge fan of basketball, and find the history of the game particularly enjoyable. One of the basketball figures from the past that I have always admired the most was John Wooden, who coached the UCLA basketball team to 10 NCAA national titles, including 7 in a row at one point. He had four 30-0 seasons, and at one point his team won 88 consecutive games. Point being…the man was quite good at his job.
Each year, Wooden started out his season by having all of his players come into the locker room for his first lesson. He’d sit them all down, then pull out a pair of socks and slowly demonstrate the proper way to put them on. He’d roll the socks over the toes, then the ball of the foot, arch and heel, and then pull the sock up tight. He would then have the players slowly run their fingers over the socks to make sure there were no wrinkles. Seems kind of trivial right?
However think about it for a second…if he put that much attention into ensuring that such a small task was carried out so precisely, wouldn’t it follow that each task his team performed would be given the same kind of thought and attention to detail?
It’s that way with programming and design as well. If we think details like semantic names, using progressive enhancement, and consistently formatting our code are important, won’t we also be concerned with much bigger details like making sure our code is efficient, our program is easy to use, and our design is effectively portraying the message we are trying to send?
And what if we do decide that some of these “trivial” details are not important enough to worry about? Where do we then draw the line between what matters and what we can just kind of ignore? If it’s ok to not use meaningful names for our variables, is it also ok if our code takes a few more seconds to load, or if one of our scripts is not unobtrusive? When does something become important enough to matter?
It may seem somewhat trivial to make sure that all our identifiers in CSS are meaningful names, and that in our programs we always format our functions the same way. However, if we put that kind of attention into all the little things that go into programming and design, just imagine the high quality finished product we will have. It is that attention to detail that separates the good programs from the great, a good looking design from a “wow” design.
That’s why we can never sit still. We need to always push ourselves to find better solutions…more efficient code, more effective design. Just because something works doesn’t mean it works well. Only by taking time to pay close attention to the “minor” details that go into our development process can we be sure that our final, finished product will be one of high quality and durability.