Re-Learning to Code

I’ve been plowing through the stuff at Codecademy as part of my ongoing effort to knock the (voluminous) rust off my coding skills — I do have a simple web/mobile app I want to code sometime in the near future — and right now, I’m working through all the HTML/CSS stuff, which isn’t really coding, and is really a non-necessary refresher. I figure it was a good idea to start simple, with the stuff where my skills are still sharp. Next up, I’m going to work through Javascript and jQuery, having a ton of experience with the former over a decade ago, and light exposure to the latter. After that, the Rails stuff is next.

Why am I Doing This?

My beliefs on the matter are in-line with what a lot of people are sayingeveryone should know how to code. It’s not so much knowing a specific language, as those come and go, but understanding the basic principles behind creating logic structures and moving data around effectively, and I believe that that knowledge not only makes someone a better candidate for any position they pursue, but it gives them a fall-back skillset. As technology increases and the need for more unique-case applications crop up, the more helpful it is to know how to code.

Thoughts

As Eddy has grown and shown an interest in the world around him and how things work, I have found myself thinking a lot about how computers are handled in schools and how our views on them have changed since the 80’s. For most people, a computer is merely an appliance — shove some software onto it and go to town. It’s become a television — 99% of the people who use one, can’t tell you how it works.1 I think it’s important that computer education go beyond “here’s how to use a spreadsheet” and “this is the CPU.”

Thus, I’ve been trying to decide how to teach Eddy about computers — and I want him to learn them the way I did. I had a command line on a CRT with a blinking cursor, and a BASIC interpreter. It won’t be that rudimentary, but I do want him to have a cheap Raspberry Pi (or whatever the equivalent is by then), so that he can start learning from the ground up when he’s young. To that end, it’ll be helpful if I can answer his questions (or at least have enough knowledge to give him a framework to build his experiments around), plus it’ll be good to get back into coding again.

I view Eddy learning to code as important for his personal development as him learning to play an instrument, playing a sport, and taking the usual array of classes in school. I view my skill-sharpening as important for my career as taking leadership courses, or networking, or learning any other non-technical skill.


1. Yes, I know I over-use the emdash.