A sharing from Paul Cunningham, an author, blogger, and online trainer living in Brisbane, Australia. He was the founder of Practical 365, a former Microsoft MVP, and is a Pluralsight trainer. Credit to Paul Cunningham.
Okay, let's get into some specifics. I'll preface this by saying that this advice mostly applies to IT professionals working in the Microsoft ecosystem. That includes both on-premises infrastructure, and cloud services.
I've grouped the specific technologies down into categories. Where you see more than one suggestion, use your research of your local job market to decide which ones to focus on.
Finally, these are my opinions. Don't get offended if I mention something that you hate, or don't mention something that you love. If you disagree with my advice, by all means leave a comment below and explain why. It's likely that someone else will learn from your perspective.
CLOUD SERVICES
The big three cloud services for IT professionals are Office 365, Azure, and Amazon AWS. Being comfortable and proficient in any three of those will be valuable.
- Microsoft Office 365 – this is a suite of productivity apps and services. Working with Office 365 means understanding how to integrate it with your existing infrastructure, migrate your data, and help your users adopt the new applications into the business. There is a big focus on identity integration, security, and compliance. You will lose a lot of “control” that you previously had. Your role moves away from the under-the-hood backend stuff, and more towards the user-facing stuff. The more you can connect Office 365 capabilities to business needs, the more employable you will be.
- Microsoft Azure – this is a huge set of services encompassing identity, security, compute (VMs), data/storage, management/automation, and a broad range of application and development services. I am not doing it much justice when that description, but it's enough to make my point. It's unreasonable to expect to learn everything about Azure. Choose the areas that make sense for what your job market needs, and what you want to do. Azure identity and security skills complement Office 365 skills very well. Azure IaaS skills are relevant if you're extending or moving your on-premises infrastructure to the cloud. Azure PaaS skills are more relevant if you work more with developers to deploy and host their apps.
- Amazon AWS – even though Amazon has some productivity services like WorkMail available, I am not personally seeing wide adoption. If they're valid for your market, by all means go ahead and learn about them. But most of the AWS demand I see falls into the app/development, data/storage side of things. Similar to Azure, if you're working more on that side of things, then AWS is worth learning. Consultants who understand both Azure and AWS can do very well in the job market.
SERVER OPERATING SYSTEM PLATFORMS
Windows and Linux are your two main choices for server platforms. Yes, there's some hype around “serverless architecture”. It's a fun and exciting concept, currently in the early stages of the adoption curve. Traditional servers are still around, but are being supplanted by cloud services. For example, file servers can be replaced by SharePoint Online and OneDrive. Domain controllers can be replaced by Azure Active Directory services for some companies. But widespread replacement is a long, slow process.
- Windows Server – my best advice here is to be comfortable in the N-1 version, and learning about the latest. Don't just learn the OS itself. Learn the roles it can perform. Active Directory, DNS, DHCP/IPAM, Certificate Services, IIS, file, print, storage, etc. Like Azure, there's a lot you can learn in Windows Server. So you need to make smart choices about where you focus. Take a T-shaped approach that ensures you can hold your own in many areas of the OS, and still show some specialisation.
- Linux – knowing “some Linux” has been useful for as long as I've been in IT. Linux is relevant in the server space, so don't ignore it. If your current employer uses some Linux, try to get involved. If you're not getting any current exposure to Linux at work, try to learn it in your spare time. There are plenty of beginner courses and beginner-level certs you can pursue. The hardest decision is finding something to use it for. A personal project such as a home proxy/firewall, or a web app that you're developing to learn how to code, is a good excuse to learn the basics of running Linux servers.
SCRIPTING AND AUTOMATION
It should be obvious to anyone in IT these days that we don't scale up IT operations teams as infrastructure grows any more. In the early years of my career there were “server to operator” ratio of 20:1 or 30:1 used as a guide for sizing teams. These days it's all about automation. Two or three admins can manage thousands of servers.
For the Microsoft IT pro, PowerShell is an essential skill. Whether you're managing servers, desktops, Active Directory, Exchange, or one of the many cloud services, PowerShell is the key to efficient, error-free, scalable administration.
The best way to learn PowerShell, or any other scripting language, is to start using it to replace your repeatable, manual processes. User provisioning, reporting, inventory collection, archiving data, creating VMs, anything that you are following a set of prescribed steps for.
If you need training, Pluralsight has an in-depth learning path for PowerShell, or you can start with the leading book on the subject, Learn PowerShell in a Month of Lunches.
If you have multi-platform requirements (e.g. using both Windows and Linux) you should complement your PowerShell skills with an extra language such as Python.
If you're already comfortable with scripting and automation, expand your skills into the configuration management space. This is where PowerShell DSC, Chef, or Puppet skills are valuable. You can apply config management to on-premises environments if that is where most of your work is happening today. As more applications get redeveloped to fit into the cloud model, your scripting/automation and config management skills will become even more useful.
If you're stuck for ideas, start with this simple question. How can I free up one hour of my week by automating something?
SECURITY AND COMPLIANCE
In the old days, security was somebody's job. Today, security is everybody's job. As an IT professional, you can't leave security up to the “security team” to deal with.
Yes, they might provide you with some policies or standards to follow, and organise things like audits and pen tests. But security has to be a part of every system you design, install, and maintain. That responsibility falls on you.
Learning about security can be tricky. The temptation is to dive into specifics (e.g. how do I secure Office 365?) before understanding the fundamentals. It's better to understand the threats first, and then apply that understanding to different technologies as needed. For example, understand what phishing is and how phishing techniques work, then work out how to use Product X to mitigate that risk. Sometimes the answer is to use more than one product. If you only focus on what a single product does for security, then you'll miss the bigger picture.
If you're beginning your security journey, a great place to start is the Security+ certification from CompTIA. This certificate gives you a decent grounding in security concepts, and you can then get into product-specific security from there.
As you're learning about a new product, take some time to learn how to secure it as well, applying your fundamental security knowledge. And most importantly, learn how to secure it without burdening your end users.
Compliance is like security in many ways. Unfortunately, compliance has a reputation for being boring. It also has a lot of misconceptions. Customers often believe that compliance regulations prevent them from doing something. Regulations are regularly cited as an excuse for not using cloud services. Often the reality is that there is no regulation preventing them from using the cloud, or the regulations merely require certain controls be in place. That's where you come in. By understanding the compliance features of Office 365 (or Azure, or AWS), you can help customers benefit from new technologies while remaining compliant.
WHAT ABOUT LEARNING TO CODE?
There's been a huge amount of noise lately about coding being an essential skill for the future. I agree with that to an extent. Some coding skill will be important for us all, eventually.
But it's not a case of throwing out your IT pro career and going full stack dev immediately.
If you're scripting already, then you're coding. PowerShell scripting is coding. Python scripting is coding. Writing SQL queries is coding.
Once you go beyond one-liners and basic scripts, you'll be coding proper tools in your language of choice that have many of the same characteristics as programs written in any other language.
Learning to code will teach you a lot about how IT systems work. Even basic scenarios such as fetching data from an API to store in a database will set you on a path of learning that will be helpful in the job market.
Remember, you can interact with cloud services like Office 365, Azure, and AWS by using many different languages. For example, the Office 365 Graph API works with Ruby, Python, NodeJS, and more. Learning to code opens up scenarios like custom applications and tools that interact with cloud services to generate reports or orchestrate operations.
Some resources you might find helpful to start learning how to code:
- Free Course: What is Programming? – an excellent primer on programming concepts.
- Free Code Camp – useful for learning front end web development (HTML, CSS, Javascript).
- The Odin Project – another free web development course that also teaches Ruby and Ruby on Rails.
- Automate the Boring Stuff – a free book that teaches you the basics of programming using Python.
Pluralsight also has learning paths for all the popular programming languages.
While we're on the topic of learning to code, if you feel yourself stuck on which language to learn, start with Python. Don't overthink it. It's more important that you start than it is to pick the perfect language.
HIGH VALUE BUSINESS SKILLS
As a friend of mine often says, the people furthest away from the money making parts of a business are usually the first to lose their jobs.
A lot of IT departments, and by extension the IT pros working in them, get treated as a cost center. The business doesn't see IT as a value adding service. It's the main reason that IT staff get treated as replaceable. If you're seen as a commodity service, the buyer will seek out the lowest possible price.
If you've ever been on the wrong side of an outsourcing project, you've probably seen this in action. The general-purpose IT staff lose their jobs to an external provider. Meanwhile those one or two key staff who keep the most vital, core business systems running tend to survive.
What businesses need is help using technology to achieve their goals. A general server admin doesn't do that, despite what some of us think. But an IT pro who can help the business use data to gain insights, automate business processes and workflows, integrate systems together will be prove genuine business value in their role. If you have 22 minutes watch this YouTube video demonstrating a scenario of automating customer service with AI. It's a simple, yet powerful example.
If you're already convinced about the merits of learning to code, then I've got good news for you. You're already on your way to learning the right things. Learning to code will naturally steer you towards topics like communicating with APIs, storing and transforming data, and optimizing processes.
Your high value business skills extend beyond the technical. Understanding how businesses run, and why decisions get made, will help you to safely navigate the good times and the bad. A lot of things start to make sense when you understand why business leaders act the way they do. You can learn a lot by reading business books. Here's some suggestions:
- It Doesn't Have to Be Crazy At Work – this book will make you seriously rethink how a company should be run. If you're a leader it will help you realise what healthy, sustainable success can look like. If you're an employee, it will help you realise what a bad workplace looks like, and how to spot the good ones.
- The Lean Startup – although the title suggests this is only about startups, there's a lot of lessons for teams and companies of any size. How to validate ideas, experiment, measure success, fail fast when necessary, and deliver products and services that customers actually want.
- Influence: The Psychology of Persuasion – this book will teach you six universal principles of persuasion. This isn't about unethical manipulation. It's about learning the simple art of persuasion, whether it's being use by you or against you.