My three-year-old son has the right idea—he questions everything we say.
My son: "Where are you going?"
Me: "I have to go to work."
My son: "Why?"
Ah, the infamous "Why?" This simple inquiry has the ability to frustrate parents and caretakers—especially when asked several times in succession. But, what is he really doing? He's building context about the world around him. He's learning how to, among other things, make sense of what he sees and hears.
If he asks enough times in a row, I will soon have no idea how to answer him. Yet, during one of his inquiries recently, I was reminded of a time when I first graduated from my apprenticeship and became a Software Crafter.
What do you think when you look at code?
Code reviews are part and parcel of what we do at 8th Light. Having never done them much at all prior to joining the company, it was during my first client assignment that I realized just how good some people are at performing code reviews. There was one particular Crafter on our team who often found something that could be fixed or enhanced in the code that he was reviewing. Taking note of his proficiency, I asked him, "How do you go about reviewing code? What goes through your mind?"
His reply was very simple, and it shaped the way I would eventually start approaching code reviews. He said, "I just ask myself, 'Why did the person choose to do it this way, as opposed to something else?'"
Sometimes he could or would resolve that reason on his own by reading through the surrounding code he was reviewing. If he couldn't though, he would inquire about it. Further, his inquiries were always well-received by others on the team and, ultimately, they always led to an increased understanding for all parties involved.
What is wisdom?
My son, albeit unknowingly, challenged my understanding of why I go to work. When I need to verbalize why I'm performing this action, what reason or reasons will I communicate to him?
Centuries ago it seemed popular for people to ask questions as a means of displaying how wise they were. The Socratic method is a perfect example of this. I have often found this interesting because, nowadays, it seems to me that it's common for people to attempt to display their wisdom by sharing their opinions. The latter isn't wisdom at all.
So, then I say wisdom is determined by what one is seeking to find rather than the sum of knowledge or information one already possesses.
Why is this important?
The coding practices and business processes that all software developers engage in on a daily basis have largely come to us as a result of people who have come before us. These people were ones who questioned the status quo. They encountered problems and, instead of just accepting them as inevitable, they sought and created solutions to those problems. And while there are some solutions that are tried and true, it does not mean there isn't a better solution somewhere hanging in the balance.
As we're writing code and seeking to tackle the business and industry problems of our time, we also possess the ability to create practices and solutions that can stand the test of time. Such should be the pursuit of someone who is dedicated to their craft.
So, I leave you with this:
What problems will you find new and creative solutions to?