A friend sent me this cleverly titled video yesterday: Program or Be Programmed: Ten Commands for a Digital Age, though I found myself less than impressed with it. I'm more than willing to give the presenter the benefit of the doubt, that without his full speech, I can't really judge what he had to say.
But, he got me philosophizing with my friend on the topic of programming. Which made me re-think an incident from earlier in the day.
A few hours previous, I had a guy come out to give me an estimate on a new heat pump. He was an older guy who had clearly been in the business for decades. As he inspected my system, he asked if I wanted some free advice on dealing with furnace issues. Sure, I said, why not. Here's what he told me to do if my furnace was giving me problems:
- Turn it off and turn it on (waiting 10 minutes between doing so)
- Clean the sensor with a dollar bill (which, to my amazement is recommended advice)
- See if a particular light on the bottom of the unit is blinking, if so, count the blinks. Look up what that particular blink count means.
- If you can't fix the problem, call a repairman, make sure to report the code that was blinking.
In other words, I believe he just told me:
- Reboot your computer
- Empty your cache
- Check the error log and search google for the error message
- If you can't fix the problem, call a geek, make sure to report the specific error message.
Here's some old codger instructing me, a professional programmer, on the best way to debug a problem. Little does he know that he'd probably make a better programmer than many who claim to "understand computers."
In other words, the skills of a good programmer aren't just used by programmers, they're solid problem solving skills.
As I've heard it described before: computer science isn't really about computers or science. To me, it's about the study of problem solving.
So why learn to program? Why make it a skill you teach your kids? Because it'll teach you an essential mindset and skillset for dealing with, well, everything. From coding the next Facebook, to figuring out why your heat pump isn't working, a programmer's perspective is helpful. That, and programs are typically safer than working with than a combustible furnace.