Several times in the Lethal Weapon movie series, Roger Murtaugh (played by Danny Glover) says: “I’m getting too old for this shit.”
I’ve joked about that line on several occasions, especially when I reached the age Danny Glover was when he made the movie, and I felt pretty good about myself, because I was still able to run with the dogs. And in this field, if y’ain’t running, you’re left behind pretty quick.
You might have heard the saying: “technology changes constantly” (or some form thereof) and looked at your smart phone and thought: “yeah, this wasn’t around a few years ago”. Take it from someone who works in a technological field – the speed at which you see change is a mere glimpse to what I see on a daily basis.
When you’re in my field, and you interview at other organizations (“always be interviewing”), one of the questions that invariably comes up is: “How do you stay on top of technology change?” And it’s a tough one to answer – there’s no one correct response, and even some of the weaker arguments still make sense, depending on the position. In short, though, it comes down to a lot of reading, a lot of experimentation, all of which amounts to a lot of time.
The big challenge with learning all of this – common to any field, by the way, this is not strictly a technology thing – is the time you need to invest to educate yourself. Because, in most cases, this is not something you get solely through doing your regular job, this is above-and-beyond effort that takes up what little free time you have.
I’ve invested far more time trying to stay on top of new ideas and new technology than I’ve given as a parent helping raise two daughters. And yes, that could be a comment on my lack of parental involvement (spoiler alert: I had a breakdown trying to balance my career with being a parent), it’s more a truth of how much time I’ve put in since 1985, when I first started teaching myself BASIC. And then learning structured code, pointers, assembler and machine code, databases, memory management, OOP, RDBMS, SQL, a litany of programming language acronyms, n-tier architecture, TCP/IP, DNS, BGP, API development, CMS architecture, data management, marketing automation, containerization, IT security, governance, ITIL, privacy regulations, and more platforms than I can remember.
And now add to this a headless implementation of WordPress. (“Headless” is just a way of turning a regular WordPress install into a data store, putting the public front-end somewhere else.) Conceptually, I understand and can talk about why it’s an advantage in website delivery. But implementing it? That’s actually starting to hurt.
I still remember a few lifetimes ago, working for Digital Equipment of Canada as a co-op student, being asked to put together a user interface demo for some backend system, to see if we could implement a more user friendly solution for sales staff instead of the legacy system. I had to use Visual Basic, which was new to me. I struggled with it at first, because I couldn’t figure out how on Earth the program ran. Until then, I was familiar with traditional programming that had procedures and main() methods that did something. But VB didn’t have that. As a “5th Generation” language, VB had an event-driven interface that required the UI first, to which you attached event handlers to execute when someone clicked a button or entered some data. It took me three days to develop the demo, with a bit of help from the backend guy.
Skip ahead a few years, when I was a Technology Director, I spent more time with meetings and documentation and guiding my team than I did programming. In short, I sucked. And it was a risk, until I was reminded that part of my title was “Direct”. And then I was thrust into having to learn Drupal in a very short time in order to have employment. It was a bit of a struggle, but the skills came back, I was able to do the job.
Another decade further down the road, and this headless implementation is seriously starting to hurt. A NextJS-based React app that requires extensive components and routing. Conceptually, I get it, but looking at the code makes me both grumpy (Old man voice: it doesn’t need to be that complicated!) and slightly terrified – because it’s not sinking in. I read the documentation, but it’s not translating into “ah ha”, it’s … almost Greek.
I know that as I get older, this wad of grey goo between my ears – which I freely admit has been abused with the great selection of delicious beer we now get in this city – has difficulty with some of the New Technology. It gets the concepts, even some of the processes, but the mechanics sometimes slip through. It’s a challenge.
But I argue it’s also a lack of continual practice. I don’t program every day. I might get to program every couple of weeks, maybe a month. It’s not constant, so the skills go rusty. Maybe I’d be more terrified if I hadn’t already experienced this when I was younger, when I had to go from Directing to Doing in short order. Because the reality is, I do a lot of meetings and documentation and guiding my team (and a healthy amount of new business development, too).
It doesn’t change the fact that there are days, though, like last week, when I stared at some source code and thought: Oh, man, I’m just getting too old for this shit.