Roadmap: Evergreen skills for working with servers
But what about the skills that haven’t faded in their usefulness, even with all these changes? Which will still be relevant one, five, or 20 years from now? Which are “evergreen” to the future of working with servers?
Enter the roadmap of evergreen skills for working with servers.
A few caveats before we dive into the roadmap itself.
1. This is by no means comprehensive. I’m sure I missed a lot. If you’d like to help fill in the gaps, see #4.
2. These are suggestions, not requirements.
3. Many skills have dozens of sub-skills. Toward the end of the roadmap, I mention configuration management as an evergreen skill, if only because it’s a way of thinking/behaving that isn’t connected to any specific tools or type of deployment. But if you look at things another way, configuration management is just one tiny piece of a bigger DevOps roadmap, despite being enormously complex itself. What makes a skill evergreen is not your mastery of a certain tool, but rather your understanding of why a certain way of thinking is important. And then knowing when to apply it.
4. I know I missed something important. If you’d like to contribute, you can view the interactive version and comment.
Now that you’ve seen the roadmap itself, let’s take a moment to break down some of the points with a little more precision.
This one is pretty simple: You might not recognize all these little outputs as writing, but even an email is a form of persuasive writing. The better you are at these, and the more you consciously practice, the more productive and useful team member you’ll be.
No matter how many skills I’ve listed under Communication, the core is simple: You need to figure out ways to understand people who are not like you, and learn how to relay back to them your ideas, opinions, and knowledge.
This may come in the form of explaining to a marketer why their “amazing” new feature idea can’t be implemented before launch, or it may be explaining high-order programming functions to someone who doesn’t fluently speak the same language as you. There are many, many ways someone can be different from you, whether it’s your job, where you were born, or how experienced you are at a given task. Be prepared for all of them, and more.
Perhaps the most complex and nebulous of them all—each of these is a rabbit hole all their own. There’s plenty more design patterns and paradigms where those listed ones came from, and a half-dozen coding conventions for each programming language you might use.
Again, it’s less about knowing all the nuances of each design pattern or coding convention and how they would apply to every situation, and more about a generalist, flexible understanding that can be adaptable based on your current job or project.
There’s good reason foundational is in the name of this category.
This section is surely lacking—if you have other tools or ways you interact with your server on an everyday basis, you can view the interactive version and comment with your suggestion.
As the end of this roadmap suggests, even these skills are just the beginning. The tools we use to build, develop, and deploy services on our servers will change over time, but these “evergreen” skills should be valuable whether it’s 2018 or 2048.
That is, of course, unless a bunch of AIs come to take all our jobs.
Best of luck navigating your way through this roadmap, and don’t feel like you’re simply supposed to check them off your to-do list and move on. Most, if not all, require a consistent learning effort and a willingness to embrace failure.
Lots of failure.