Doug Peterson wrote a post today entitled “Why Coding?” and it got me thinking about what’s important to know about computers.
My wife and I chatted this morning on the drive in about how computer use is like math – lots of people can follow memorized procedures, but if some “unusual” problem comes up they’re totally stuck.
My in-laws are having trouble getting their laptop on their wireless network. Other devices connect fine. My father-in-law called me (I’m a half hour drive away) for help. Unfortunately, after walking him through a few “easy” steps (they’re kind of hard to explain over the phone, actually), he couldn’t fix it. I’m heading there after work to try it myself in person, and I have a little USB wireless adapter to try if nothing else works.
But would I ever expect them to dive deep into their DHCP settings? No, of course not, not even with me on the other end of the phone line. I think the goal for them is to know a few easy things to try when common things go wrong (like rebooting, flicking the wireless hardware switch on and off, etc.). And that comes from experience and from some understanding of how things work.
I don’t know about the Hour of Code
Learning to code will help to provide that, but I think there are probably other ways to learn it as well. Doug recommends a computer studies class for everyone, and that seems like a good idea to me as well, but I wouldn’t recommend a Computer Science class for everyone. Learning Java or C or HTML is less accessible, but learning to configure a wireless network isn’t so arcane that the average person shouldn’t tackle it. Is coding like running before walking?
I use Excel and Google Spreadsheets a lot in my work. Like, constantly. Even for personal stuff, and not just financial stuff. Spreadsheets have some nice, easy functions that make stuff efficient. If everyone knew how to use TRIM(…), CONCATENATE(…), basic computation, and filtering in a spreadsheet, it would be a better world. Does that count as “coding”? If so, I’m in.
Warning: Unnecessary Personal Anecdote
Feel free to skip it.
When I was young and foolish I was driving north from Waterloo to the Sault. The battery warning light in my Malibu came on, and we got a little concerned. It was a Sunday, and I didn’t know how many garages would be open if things were bad. I considered driving the rest of the way (5 or 6 hours) or calling to the Sault for help. Instead we stopped at a GM dealership about thirty clicks up the road.
They determined that I needed a new alternator, and unfortunately it would take a couple of days to get one. I sighed, agreed, and we spent two nights in a motel while we waited. When it came in there was a cost for the part (several hundred dollars), including a $75 “core charge” if I wanted to keep the old, broken one. I declined and saved the $75.
While they were under the hood, the shop manager came up to me to say that the tensioner was seized as well – another hundred-and-something for that. I grudgingly agreed – what could I do?
When I got home, my father-in-law explained how a tensioner works, and that likely it was the only thing wrong. I didn’t know this stuff, and so I likely got taken for several hundred bucks while leaving a perfectly good alternator for them to resell. That hundred-dollar part cost me a thousand dollars.
I didn’t need to be able to replace my tensioner myself, but had I known more about how that stuff worked I would have been a lot better off.
So here’s what I think
Learn something new about a part of computer technology that’s confusing to you. I don’t know CSS. I’m not a wizard with C++. I’ve never developed an app. Those are things that I would consider if I was going to learn something new and useful. Find something that’s new and useful for you, and start there. Maybe it’s blogging, maybe it’s Twitter, maybe it’s lisp. Pick something to get competent and confident with.
And have fun.