What is wisdom. Wisdom is knowledge with the weight of experience that has been evaluated. The key part of the sentence is ‘evaluated.’ When I was a kid, my father told me, “Ian, no matter how many years you live, I’ll always have 21 more years of experiences.”
Of course, me being who I am, I challenged him on the spot. I said, “so if you take ten 65 year-olds, you can guarantee that they are all equally wise?”
He reluctantly said, “No.”
So I said, “So just because someone has more years of experience, it doesn’t mean they got the same amount out of them.”
That is where the ‘evaluated’ part comes in. Someone who has done lots of things, but never reflected on them didn’t receive any wisdom from those experiences. They likely created relationships, memories and so on, but they probably did not create much wisdom. Wisdom is created by thoughtfully reflecting on experiences, evaluating them and determining the merits or deficiencies. That’s right, wisdom is largely created. Acquiring wisdom isn’t passive and it also requires critical thinking. Someone who spent their life repeating the same patterns over and over again didn’t passively acquire much of wisdom.
Now take this definition into the professional world of programming. If you look at three resumes, one has a year of experience, another has five and yet another has ten, our industry says that the person with ten years experience is the senior programmer. Bullshit. He’s senior because his rear was in a chair for five more years than the second guy and nine more years than the guy with a year? That’s what they tell us.
I see it frequently where a full-time employee with little to no wisdom is promoted to senior simply because of the amount of ’ass-in-chair’ time. I see young guys come in with way more insight and even wisdom than others with many more years on their resumes. This is a symptom of our unevolved way of structuring corporations. But you need hierarchy right? To some extent, but what you really need are people who understand what the hell is going on and what their role is in doing it. I’ve seen junior level-people with a lot of potential who are given a senior level title. Immediately they start trying to quiet their actual seniors and be the voice. This is a perfect example of over-indulgence within corporations. Now you’ve stunted the growth of someone who had potential merely because you want to indulge their fantasy of being the man. Good job.
You aren’t senior until you have wisdom. Wisdom isn’t knowing what the best MVVM library is. Wisdom isn’t using Visual Studio 14 in beta. Wisdom isn’t ten years of experience. Wisdom isn’t having worked at Microsoft, Google, NASA, etc. etc. You know when you have wisdom, but you don’t know when you don’t have it. It sucks like that.
Another problem with wisdom is that there has to be a demand for it in order for it to have any value. Lots of places there is simply no demand for it at all. People want to work with buzzwords. People want resume padding. Managers tend to pander and over-indulge. What we get is a giant cluster-fuck, too often.
So how do you develop wisdom while programming?
- Think critically about what you are doing, what those around you are doing and what the results are. You have to be honest. If you lie to yourself you aren’t gaining wisdom, you are increasing denial or making some type of personal schism.
- Take the best parts of your experience and keep applying it. Throw the other parts away. Journal about things that work and don’t work and try to determine whether it’s a personal lack of understanding or whether it’s just a bad practice.
- Talk to people who seem like they have wisdom and ask them questions.
- Quit trying to be right all the time (guilty!) Try to start assuming that you don’t understand anything at all and carefully measure along the way. Think like a scientist not a politician (unless you are on management track, but then this isn’t for you because this is for programmers).
- Live life! Life lessons in general apply to your career. Get off the computer and go do something interesting that requires thinking differently.
Think. Do. Reflect. Think. Do. Reflect. Think. Do. Reflect. Think. Do. Reflect. Think. Do. Reflect. Think. Do. Reflect. Think. Do. Reflect. Think. Do. Reflect. Think. Do. Reflect. Think. Do. Reflect.