Today marks the end of my fathers software career. He's been in the business for about thirty years now, having gone back to school for computer science after going on strike with his friends and colleagues in 1981. He graduated top of his class at KU and was recruited directly by IBM.
My pops did pretty amazing things with computers during his time at IBM. He worked on defense projects that included building simulators for subs, tanks, and helicopters. He was flown around the country to get systems up and running on super computers. When he was at the top of his game I'm pretty sure I wouldn't have come close to his chops and I've got an over-healthy sense of coding self worth. One of the coolest things was that he spent fifteen years mastering his craft and no one even considered making him a software manager.. because he was too good an engineer.
Unfortunately, defense contracting ended fairly abruptly for IBM. The office he worked at was sold to a second rate firm and it wasn't worth sticking around. He moved around to a couple of jobs but by the time I entered college he stuck to a Dilbertesque company that interestingly enough wouldn't fire him due to age. He was, after all, a software guy in his fifties with one heart attack down (one alleged heart attack to go, the best I can get are second hand accounts on that one).
This is where the wheels start to come off. In the land of Dilbert, the people who have lots of experience and great chops are clearly people that belong in management. I could go into a long anecdote about why I quit playing team sports but the long and short of it is because he may or may not have been the worst coach in the history of municipal soccer teams. He just doesn't have a management bone in his body. He spent about ten years getting promoted to management and then going back to writing software when that didn't work out. His skills got soft during this period.
The place he was working for didn't care about professional development nor did they particularly care about modern techniques. The industry trend to discard grey hairs worked strongly against his sense about how much his day-to-day sucked. The last few years of his career he spent mostly hoarding institutional knowledge. It's not something he would've done in his IBM days -- the lifestyle of a crappy IT department eventually got the best of him. Whenever I visited, we'd talk about what I was doing and he'd sort of daydream about how he could be using Agile, CI, or programming languages that aren't Java.
Don't shed tears for my dad
I don't really want this to be a sob story. My dad will have a pretty bitchin' retirement as he's going to be sailing around the Chesapeake Bay in one of these:
He was lucky that as an old, out of touch guy with Parkinsons that he was able to remain employed to the ripe old age of 64 in our industry. He's also pretty fortunate that he married a woman who is a badass at management -- both of people and money. This whole thing is very #firstworldproblems.
Why I think this reflection is important
So I hope this post has some sort of pay off for people other than me. At the very least hopefully some of you can spot some fun character traits I inherited from pops.
One thing that has driven me in my during my own career has been the desire to not grow too comfortable nor to grow stagnant. Growing up, I was rarely one to take the advice of my father (let's just say CS was not my first choice of major) but the one thing I did take to heart was his insistence that I write as frequently as I could. He taught me communication was at the heart of what we all did. Those who can argue eloquently and relate to their audience get ahead.
I've also learned things from him less directly. I absolutely am not a public speaker. I'm not a person that enjoys being in front of an audience nor am I comfortable being in a crowd. Most of y'all that are reading this have probably gotten here because you've seen me organize BostonRB or speak at a conference though.
As it turns out you can overcome these sorts of aversions with practice and with a supportive and receptive audience. I've not only learned from actively being a member of the community but I've also learned about myself from the utter terror of getting in front of a packed audience. I've also learned that friends are there to back you up when you stretch yourself out. James has never batted an eyelid when I hide from humanity following a big event. He also didn't push me to stay on organizing BostonRB despite the free advertisement for our company because he knew it drained me.
I also think it's really important to think about age and experience as positive things, despite the pull to the contrary in this industry. My dad was one of those rare 10x guys that Spolsky talks about hiring. He hid in obscurity for ten years because he saw companies expel the grey beards without much thought. I think these guys are actually important because we've already started repeating our history and we've only been in this profession for 70 years. Most of the 'advancements' in the past few years were already white papers in the seventies. Ask my dad about MongoDB or Node.js and he'll tell you about the guys that were first doing that stuff in Bell Labs and why we weren't doing it since then. Sometimes there are valid reasons. Sometimes there aren't. It's nice to know though!
So get out there and push yourself. It doesn't have to be writing in a new language (that's a pretty awesome way to push yourself though). Pull a Michael Denomy and speak to a packed audience about your experiences. Perhaps you can just write more. Or mentor a new developer. Just don't stand still!