Like most people my age, I’m 43. Unlike most people my age in my profession, I’ve never taken an actual programming class. Writing Color Basic programs on my TRS-80 is what got me into my beloved trade. Tirelessly copying programs line by line from Hot Coco magazine and tweaking them while working my way through the books that came with the computer until I could write my own programs was all I could think of as a lad. When Batman wasn’t on. I can hack together a little python, munge some perl, and used to write the hell out of DOS scripts, but it’s all self taught, as opposed to hundreds of hours of classes I’ve taken for networking, servers, wireless and security.
To be honest, I loathe it now. I don’t know the precise moment when I lost the taste. Probably the first time I heard the siren song of a modem squeal. I’ve spent a career avoiding programming and dba work. Software engineering takes a such a focused linear mindset. Don’t get me wrong, you do have to be methodical as a bit jockey, you have to have processes, and I do know some amazing linear thinking network folk, but that linearity is at a whole different level for programming. I admire it as a quality. That’s not me though. I am thinking about every component of a system all at once. It fits my scatter brain. I’ll be honest as well that I just find it tedious. I’m methodical and all about process and procedure, I’m a single tasker, but my mind is working on flipping bits all the way from the antenna to the cat video all at once.
So, why the change of heart? A couple reasons, in reverse order of importance (see, I need more linearity):
A) I don’t want to jump up the stack and become a code poet and I know enough to cobble together a script, but the lines between software and networking are blurring. My friend George Stefanick (go see his blog if you have ANYTHING to do with WiFi), during a vendor presentation on SDN at Wireless Field Day asked “at what point am I no longer a network guy and become a software guy” or words to that effect. As usual, he made a very valid point. It’s time to invest in some career future proofing. I’m wrapping up on the certs I’ve been after for many many years and I’d go nuts if I wasn’t learning. It’s time to codify my understanding in an instructed rather than ad-hoc fashion. It’s also a challenge and a step away from my comfort zone.
2) The best part is that one of my best friends, who also happens to be my son, is taking the class with me (I’m the lucky dad who is close friends with all three if his adult children)! We did Lego Mindstorms when he was a kid, played with Arduino a few years ago, and he has a knack and the mind for it. He sees the routines in his head and they appear on the screen. We got to talking and decided it would be fun to do it together. We can be competitive, and this is a way to be with fewer welts than our paintball outings. He just got out of high school and a little instructor-led online 12-week class is a good way to explore it as a career possibility or just take it up as a hobby. Or he could drop it flat, whatever, he’s at the age where it’s good to try things on and see if they fit. We can drop the whole experience off at Goodwill if it’s not his size.
So, Python 3 via Portland Community College, (who are also one of my clients) it is! If/then we like it, we keep going, else, it will have been a bonding experience, and I dig the hell out of those.