I had a manager who once said something that I thought was terribly derogatory at the time, but looking back on it he may have had a point (or have been on point). I'm likely paraphrasing heavily here, but it was effectively this: "IT is change. IT is all about change. If you wanted a career that changed less often - you messed up. You should have been an accountant."
Now with respect to accountants (who I have much respect for, by the way) debits and credits are pretty much the same since they were writing them on sheepskin with quills. Sure, our systems for accounting are much more advanced than they used to be - but the overall practice is effectively the same.
Don't believe me? Let's try this on for size. If you were a CPA in 2004 and then went into stasis for 16 years and emerged today - would you have valuable skills? I bet you that you could find a job without too much difficulty - aside from explaining that gargantuan hole in your resume. I can hear the condescending recruiter now: "You spent 16 years sleeping? Sleeping? Wow - that doesn't show much initiative." (Side note on this on: if you are a Marvel Cinematic Universe fan, how difficult do you think it was to get a job if you were dusted in the snap and came back five years later?
Now, let's take the exact same scenario. Let's say you’re a systems engineer. And not even an average one - you're a great one. You're the best damn Windows 2003 engineer in the greater Scranton area - nay - the entire state of Pennsylvania. You're a rockstar - the rockstar. You nap from 2004 - 2020. After you wake up and stretch (don't skip this step - you're gonna be tight) you start looking for work. How hard is it? Answer: painfully hard. Because you don't have any skills to leverage anymore. Now, you may have the aptitude, but if you're used to being the big fish engineer, aptitude isn't what companies are hiring for at that level - they're hiring because you can help the company. And you can't. Because unless you find a dud of a company, they've removed Windows 2003 many moons ago. You're irrelevant.
Now if you've been in this field for a while none of that should surprise you. You've learned new things over the span of your career and probably forgotten stuff that's just not useful anymore. Case in point, if you can write me an autoexec.bat file from scratch (using only your memory) right now, I'll owe you a cookie next time I see you. If you're newer to the tech field - welcome! Now go learn something new or you'll be one of those people that scream "I used to work high tech" as you try to hock mattresses for a living (make sure you pitch that you have free financing this week!).
OK, so learning new technology is important and I feel like we've covered the "why." But what? And how? And when? And perhaps most importantly - who? Let's break those into separate nuggets and handle them in order.
What should I learn?
I don't know, and I don't actually care. The lazy answer is to learn Kubernetes. Everyone's talking about it, so it must be the most important thing to learn. Except - and hear me out on this - what if you don't feel it? What if that's not what you're excited about? Then learn something you are excited about! Here's the golden rule for any career that I think you should never let go of: life is much too short to spend so much time doing something you don't love. So if you are really excited by being a workflow master in ServiceNow, or just can't get enough AWS - then focus on that. I promise that if you're passionate about something, and good at it - someone will pay you to do it. Now, is Kubernetes worth learning? If you're into infrastructure management and your company is looking to roll code in containers, you betcha. Just don’t lose sight of the passion. The hardest thing in the world to learn is something we don’t care about. And that will always impact your career negatively.
I will add one suggestion - and it's something that I need to do better at myself: learn Linux. I'm a Windows guy that became an Exchange guy that turned into a VMware guy. But not being well-versed in Linux has been a liability for me. Learn it. It will be a valuable skill. If you already know it well, congratulations. I myself am spending time using it for point solutions in my life like Pi-hole.
How should I learn?
Oh, boy - there are whole books and conferences dedicated to this. I can only give you the advice that has worked for me. I always learned by reading, doing, and teaching. For instance, I my first big technical hurdle in my career was achieving my Microsoft MCSE in 2003. That was the start of my journey into more advanced infrastructure. I started by reading Mark Minasi's book on Windows 2003. It was a huge to me, and I committed to reading every page within 2 months.
I still love books. Maybe that makes me old school, but the field is changing so fast that sometimes these books aren't even published before they are outdated. Accordingly, today I probably spend the most time on blogs. I struggle reading documentation, because I find that most companies have really, really poor documentation written by people who are better at writing code than the English language. Reading has limits though, especially if - like me - you're an experiential learner.
I learn by doing, so I would use the book to give me grounding and direction and then I would build something in my home lab to really dig in and learn. Simply put, if you want to earn a living by working with tech, you can't spend too much time in a lab. There are all kinds of ways to do this from a home lab that you built yourself, to a hosted lab like VMware's Hands-On Labs, to simulations like Cisco used to provide. The point is, you will learn best if you practice, break it, stumble through fixing it, and delete it all and start over.
Finally, find someone else who wants to learn and then teach them what you've learned. Do not underestimate this step. I really learned more by teaching a topic to other people in my office than I did trying to use it for my own effect. I can hear you now screaming about how you don't want to teach a class or how you're not qualified to be an instructor. And you know what - maybe you're right. But, you also probably know someone in your office that is more junior than you or has a different specialty than you. If you can help level them up by teaching them something you've learned, and they return the favor regarding something you don't mess with every day, you both are better than you were a few weeks ago.
When should I learn?
Yesterday. Look - this whole entry started with a story about my boss who said that IT is all about change. He's not wrong - and if you think you can sit there and not grow but maintain solid employment indefinitely, you either work for a company that expects and rewards stagnation or you are terribly misguided. While at the time I'm writing this unemployment is unusually low in the United States - that won't always be the case. You owe it to yourself to ensure that you're learning the skills that make you valuable today and well into tomorrow each chance you get. Again, no one wants to be the Windows 2003 admin in 2020. You know what they call that person? Unemployed.
Who should I learn from?
This is probably the most important question on the list and it's likely not one that gets much consideration, but I think it should. You should absolutely try to figure out who the people are in your particular field that are blazing new trails and follow whatever content they are producing or emulate what they do. But please don't limit yourself to that. For whatever reason, IT seems to be an industry where we focus on the "thought leaders" and eschew almost everyone else - even if everyone else seems to be doing stuff more like we're doing.
To that end, you owe it to yourself to connect with other IT professionals in your area or from all over the world that are tackling similar problems as you. In every other profession, we call this "networking" and it's so important that people have devoted entire careers and industries to making it easier. For whatever reason, we seem to think "networking" is a reserved word, and must meet the network - so we don't call it that all that often. However, the IT community is vibrant and strong and you are doing yourself a disservice if you aren't participating. The conversation is going on all the time 24/7/365 on Twitter and at user groups and meetups around the world. You will be shocked at how much you can learn and pickup if you go to these events - even if you don't attend a single session and just talk to the people around you the entire time. There is a near limitless amount of information that is there for the taking.
So, to summarize this longer than intended post:
You need to be constantly learning in IT, or you're going to be obsolete.
You should have already started.
If you haven't you can begin by picking a topic and then reading about it, practicing it, and teaching someone else what you've learned.
Once complete, pick a new topic and do it again.
Optional step: Quit upon retirement.
So, some questions to you:
How do you learn? Do you have a defined process that you work through? Does it vary topic to topic?
What are you working on learning right now?
Who in your professional circles are you learning from?