This is an update to my 2018 and 2019 career advice articles. Readers shared those articles thousands of times on Facebook, Twitter, and LinkedIn, so they seem to have been useful.
This page contains Amazon and other affiliate links. As an Amazon Associate I earn from qualifying purchases. If you make a purchase through one of these links, I earn a small commission at no extra cost to you.
There are a few types of people who ask me for IT career advice:
- Those who don't know what skills they should be learning next
- Those who know what they want to do, but can't find the time
- Those who are in a bad situation that they don't see a way out of
I've worked in IT since 1999, and I received a lot of great advice from my peers and mentors over the years. But as much as I love to pay it forward, I get more of these questions than I have time to reply to.
That's why I wrote a book to answer most of these questions. The book is called Surviving IT, and was released in 2019. You can find out more right here.
But for those of you looking for a place to start, I've collected many of my thoughts on this topic right here in this article. So here it is. My career advice for IT professionals in 2020.
Before I get into specifics here's some guiding principals. You should always keep these in mind when thinking about your career in IT.
- Change is a constant.
- Swimming against the current will only wear you out.
- Your job is to serve the customer, not play with your favourite toys.
- Don't get attached to tools, systems, or platforms. Nothing last forever.
- Comfort is the enemy of progress.
- Your life is more important than your work.
The reason I make those points is because I see a lot of IT professionals who struggle in their career when they:
- Can't adapt to change.
- Forget who they are here to serve.
A prime example is the trend towards cloud usage, which in turns has driven a huge increase in demand for coding/scripting and automation skills.
Having to learn new tools throws some people off their game. They wanted to be a sysadmin, but now they need to learn developer skills. They wanted to be hands on, but now their systems are in the cloud. They wanted to work with computers, but they're dealing with people instead.
For some people this creates resentment. They resist changes as long as they can. But as I said, swimming against the current will only wear you out. And eventually it will leave you behind.
Knowing Your Market
I can list off a bunch of technologies here that you should learn. But, that isn't going to be useful if nobody in your area is hiring people with those skills.
So before you commit to a learning path, do your research to see what job opportunities exist where you live. If you're willing to move, you should research the jobs in the areas you want to move to. Or research which areas have the jobs you're most interested in doing.
Look at the advertised positions to see what they list as required and desired skills. Use those as a guide to determine where you should focus your progression.
Don't take job ads literally though. Many job ads ask for more skills and experience than they'll actually be able to get. If a company wants a Senior Systems Engineer with Exchange, SQL, XenDesktop, NetScaler, Barracuda, Azure, and Docker experience, that's a lot to expect. They might get lucky and find someone with all those skills. But, it's more likely they'll accept someone with fewer of those skills, if you can show other desirable qualities. A lot of position descriptions are generic across an entire team. If you're weak in one area, the team might not have as much of a need for that skill as they do for something else that you're strong in.
It's important to not reject yourself from jobs that you aren't an exact match for. Any job you're interested in is worth a shot. If you match some of the requirements, tailor an application that highlights those matches and plays to your strengths. Once you're able to get in front of the employer for an interview you then have the chance to overcome any perceived gaps in your skills and experience.
Often employers will hire someone they interview that seems like a good personality fit for the team. Technical skills can be taught. A bad personality fit will be destructive.
Aside from job ads, talk to your friends and colleagues as well. Find out what their company is using, what they are hiring for, and pursue those skills for yourself. And of course, it helps when your friends know what you can do, and that you're looking for new opportunities.
Knowing Where You Stand in the Life Cycle
Technology moves through a predictable adoption curve. Where you stand on that curve influences your career opportunities.
- Innovators go first, and take on a lot of risk in the process. But they get the highest reward for that risk. Many pioneers and thought leaders are playing in this space. In return for their risk they gain access to opportunities for high priced consulting and product development/management roles.
- Early adopters go second. These tend to be community leaders who are able to translate the work of innovators into practical applications. Many trainers and authors operate in this space, because being the first to get a book or training course to market provides the best return. Early adopters can make a name for themselves by being first. This leads to a consistent stream of employment, speaking and consulting opportunities. It can also mean a disrupted lifestyle (e.g. a lot of travel), and high churn rate as they move from job to job chasing the newest technologies.
- The early majority show up when a technology has proven that it is viable for widespread adoption. They are able to learn from the teachings of early adopters, and apply those teachings to their own situations. A lot of standards and best practices get cemented during this phase. The early majority tend to have stable job prospects and the ability to move on to new roles when they want to.
- The late majority adopt technologies that are mature and stabilised. The late majority is willing to forgo the latest features and benefits in return for the lower perception of risk. The reality may be that they miss out on the best performance, security, and value on offer. They are most at risk of losing jobs to outsourcing and offshoring, due to the lower perceived value of their skills.
- Laggards come last. Laggards come in many forms, and it's not always a bad thing to operate in this space. In my hometown, there was a time when the last few Novell Groupwise admins could command very high contract rates. There was only a few customers in town, but the supply/demand ratio favoured the experts. But these opportunities don't last forever. Laggards run the risk of their skills falling out of date and having no market value at all.
Throughout your career you can move through different parts of the technology lifecycle. It will depend on your geographic area, your personal circumstances (e.g. health, age, family), and your natural abilities.
- A person close to retirement age might be quite happy to run out their final years as a laggard.
- A younger person with decades of work ahead of them should be trying to move towards the front half of the cycle.
That doesn't mean everyone should strive to be an innovator. One person will enjoy staying up all night, testing and breaking things, to work out groundbreaking uses for technology. Another person will prefer to do their 9-5, read books in the evening, and go fishing on weekends. Neither is right or wrong. As long as you're happy and you understand how your personal lifestyle integrates with your work, you can have a successful career.
Also keep in mind that what you're seeing the most marketing noise about is products in the early adopter to early majority phase. This is where most marketing is happening, but it doesn't always reflect the most in demand jobs for your market. Focus on what makes you happy and employable, not the next big thing.
Specialist vs. Generalist
Opinions vary on whether it's better to specialise or generalise in your IT career. Again, this will depend on your place in the adoption curve, and your level of experience. Early adopters are often specialists. Whereas the early and late majority tend to have a higher expectation of a more broad skillset.
The jobs in your market are also a factor, of course. Some markets don't have demand for specialist roles. As I wrote earlier, you either need to tailor your skills to what is in demand for your area, or move to an area that has demand for the skills you're interested in.
Whether to specialise or generalise is also a matter of personal preference. Some people desire to know as much as they can about a broad range of topics. Others prefer a deep understanding of a few technologies.
I quite like the idea of “T-shaped people”. As I wrote in another blog post:
Specialists are revered when you need one, but often find themselves wedged into a corner and unable to move out of it. Despite their obvious ability to master one topic, many will assume they’re incapable of doing anything else.
Generalists are equally misunderstood, seen as the “Jack of all trades, master of none” who is “a mile wide and an inch deep”. As useful as generalists are to have around, many will assume they’re incapable of handling a deep or complex matter due to their broad skill set.
The solution is to aspire to become a T-shaped person. Start by moving across, learning multiple skills to a moderate level of proficiency, then dive deep when the right opportunity is presented.
To expand on that, reflect on your own skills and how they stack up in your market. Are you acquiring a deep understanding of one technology, but seeing jobs advertised for things you know nothing about? Then your next step to enhance your value is to broaden your skills.
If you're feeling like you know nothing more than the very basics on a lot of stuff, then pick a single area that shows a promising future and start to go deeper.
One of the problems with specialisation is that it tends to lead to feeling comfortable. Some specialists become emotionally attached to the single area of their expertise. As I wrote earlier, comfort is the enemy of progress. Change is a constant in the technology world. If you get too comfortable and attached to one thing, it can be a real blow to your happiness (and your employability) when that thing goes away.
Where to Get Training
When I first came into the IT industry, there were two choices for learning new skills:
- Attend a high-priced classroom training course.
- Read a book.
Today, we can choose from more training resources than ever before. Classroom training has declined, with online training courses now dominating. Companies such as Pluralsight (who I am involved with) and Lynda.com offer affordable access to huge libraries of video training courses. Other platforms such as EDX also offer free courses across a range of topics.
Vendors host their own online training as well, such as Microsoft Learn, and also upload hours of free content to platforms such as YouTube.
Podcasts have emerged as a popular education resource as well. You can find a podcast on almost any topic. They're easy to consume during a commute, exercise, or while doing chores around the house.
Books are still going strong, despite predictions of their demise. Traditional publishers have struggled with the transition to eBooks, but self-publishers have emerged to fill the gap. There are many free and low-cost self-published books available today to learn from. And your money goes to the creator in full, instead of just a few dollars in royalties (if any).
You can get by with spending zero dollars on training, if that is important to you. There is enough free material out there to learn from. If you do have the budget for it then a subscription to an online training library, and a few book purchases throughout the year, is a good investment. You can then round out your learning with podcasts and blogs to add that “real world” element to your learning.
Skills for IT Professionals in 2019
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.
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 cloud 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 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 over the last few years about coding being an essential skill for the future. I agree with that. Some coding skill is important for us all, right now.
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. Editing HTML and CSS is coding. Writing and modifying any code 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. If you haven't already started learning a language, this course is a great place to start learning the foundational topics that apply to all languages.
- Automate the Boring Stuff – a popular book that teaches you the basics of programming using Python. Another option is Python Crash Course, which is also excellent.
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.
Don't Forget Personal Development and Soft Skills
In all the focus on what technologies to learn, you still need to keep up with your personal developement and soft skills. IT is a people business after all. You can't hide away from the world and only interact with computers. You need to be able to work with customers, deal with sales people, and handle conflict. You need to network with peers to improve your job prospects in future.
You also need to stay sharp with skills such as time management, productivity, written communication, and problem solving.
I try to read at least 3-4 books per year for personal development. If you're looking for recommendations, here's some of my favourites:
- The Four Tendencies – this book will help you understand a very important personality trait in yourself and those around you.
- Deep Work – this goes beyond the usual productivity systems, and explores how to achieve a truly productive work life through periods of deep focus. Read my full review here.
- The Dip – I've read this book almost every year since it was released in 2007. I also loan my copy to any friends who find themselves in a slump and can't work out what to do about it. At 96 pages you can whip through this in a weekend and return to work the next week with a clearer mind.
- The Phoenix Project – even if you're not into “DevOps”, there's a lot to learn from this book. Problem solving, team work, empathy, incremental improvement, prioritisation, and much more.
- 168 Hours – this is the book for anyone who thinks they don't have enough time to pursue their dreams. Instead of giving you small time hacks that save you 10 minutes here and there, this book takes a broader view at how we prioritise the important things in our life. Read my full review here.
- The Coaching Habit – this is essential reading for anyone who feels like they spend all their time helping others achieve their work, and have no time to do their own work. Read my full review here.
Take Care of Yourself
As I wrote earlier, burnout is a big problem in the IT industry. IT professionals are sacrificing their health and their lives to meet the expectations of their employers. Burnout is a big issue in this industry, and too many people still aren't taking it seriously.
No matter how passionate you are about technology, there is no job worth giving up your entire life for.
Burnout has a way of sneaking up on you when you don't know what signs to look out for. It's likely that you're on the path to burnout if you have:
- Poor work/life balance (e.g. too many long days, always “on call”, never taking a real vacation)
- Persistent negative attitude (e.g. little things bother you, normal work tasks seem like a chore, you have a cynical view of everything)
- Declining mental health (e.g. unhappy all the time, disconnected from friends and family, dread going to work)
- Declining physical health (e.g. weight gain, persistent illness, inability to sleep)
If you recognise any of those but feel like you've got a grip on things, I urge you to reconsider. I recently wrote about the myth of the IT Hero, and I recommend you read that article.
What Does Your Year Ahead Look Like?
I hope you've found some of what I shared above useful for your career planning this year.
I realise there's a lot to unpack here. It can be overwhelming to look at all the steps involved in getting from where you are now to where you want to be in the future. I truly believe it's possible for you to achieve your dreams. But I also want to share this quote that always helps me to focus on what I really want out of life:
You can have anything, but you can't have everything.
If you're not sure where to start, I recommend reading my article on achieving work/life balance in 168 hours. At the end of the article there are steps you can follow to get a handle on your time and fit in the things that really matter to you.
If you have any thoughts on what the year ahead will look like for you, please feel free to leave a comment below. And of course, if you have any insights of your own to share with everyone, please also leave a comment to help out your fellow IT professionals.