Is it worth it to learn Linux in 2023?
Linux is still an incredibly important skill to have, particularly if you're dealing with cloud computing: here's why.
Jul 11, 2023 • 5 Minute Read
With the advent of the cloud, serverless technologies, and predictive and AI tools, it may seem like we barely even need to learn to code anymore, much less learn another operating system so different from those we’re already familiar with. But there’s still compelling reasons to learn Linux in 2023. If you invest the time, you might find it makes you better able to understand the cloud, its code, and the architecture of the applications you’re running, writing, and learning.
It’s All Linux Underneath
The cloud might offer the ability to get your code up and running in a few clicks, but what’s going on in the background is most likely powered by Linux. On AWS, Amazon offers their own Linux distribution on EC2 with cloud tools baked in, while on Azure we can have Azure Kubernetes Service spin up a cluster of hundreds Ubuntu containers—GCP, Akamai, and others can do the same. And these are just a portion of the tools offered on the cloud and powered by Linux.
While it’s certainly nice to imagine an application built on serverless calls with nary a Linux terminal to touch, it’s ultimately not realistic for every application. The complexity and needs of your cloud application or service might require containers, CI/CD, or even a virtual machine or two—and knowing Linux can only help understand how to use the tools built on Linux.
This is especially true of troubleshooting and automation. It might feel smooth to deploy your code, go through CI/CD testing, then deploy to a production container, but only as long as everything is working. Can you effectively read a container error if it’s referencing an entrypoint command that depends on a service installed on Linux? Or an issue with the Linux filesystem on the container without understanding? Can you automate an action using the cloud’s command line interface and a scripting language to maximize efficiency?
The answer to these questions are likely “yes, with enough time and searching.” But if you already speak the language of Linux you can cut down on the time it takes to do any of these, since you already know what’s happening under the hood without the need to hand-wave any actions. Understanding your architectural stack is invaluable, and Linux is probably powering your stack.
Linux Isn’t Legacy
You may remember in 2020 when some US states put out desperate calls for COBOL programmers to help handle their 40+-year-old mainframes. Which is to say, there are always legacy programs to maintain—but Linux isn’t even legacy (neither is COBOL, for that matter—just because something is old doesn’t mean it’s out-of-date).
As we covered above, Linux is what powers the cloud, even if we’ve obfuscated it with containers and serverless options. But furthermore, the advent of the cloud simply doesn’t mean plain-old Linux server deploys have gone away. There are legacy services, systems lifted-and-shifted from on-premises data centers to the cloud, and complex or cost-heavy applications that simply fair better in situations where we can complete control over our server setups—and, yes, there are times when people find they have to switch from their serverless cloud-backed solution to a custom install on a Linux server, whether to improve performance, save money, or access features that the cloud platform has yet to implement.
You might also want to think of it like why we use version control—because rarely we’re the only ones working on a project. Even when we’re starting fresh at a new job with a new company, we are inheriting the practices and preferences of everyone we work with. And if we’re at someplace more established? We have years and years of architectures, technology stack changes, and projects with peculiar needs to account for.
Wouldn’t it be nice to be able to move into these situations needing only to learn the particulars of the issue at hand, without having to fight the system that hosts it?
With Linux, Customization is King
While it’s often nice to offload much of our woes about uptime and security to our cloud partners, it's often at a loss of control. If we need to be particular about our architecture, security, configurations, or otherwise, nothing beats a simple Linux server—on the cloud or on-prem. We can choose which version of Kubernetes we want to use, or maintain our own shared file hosting due to compliance concerns. Or maybe it’s the kernel itself that needs changing. Since Linux is open source, we can make changes to its very core, if that’s necessary for our work—like if we have a RAM-intensive application and want to disable huge pages limits.
The security-conscious may also like Linux for its full-featured security options for users, files, networking, and more. Pair a host-intrusion detection system with your existing cloud-based logs and alerts to know when certain actions are taken on your Linux servers, and take action against them. Perform pentesting tasks with any number of Linux tools, or by using distributions specially-designed for security professionals; use a Linux Security Modules like SELinux to secure your filesystem so well it’s approved by the US government.
It’s not that Windows or Mac don’t offer these options—but rarely are they as customizable to the user and situation as they are on Linux.
Conclusion
While Linux might not be as ubiquitous a skill as it used to be when it comes to getting your code up and running, that doesn’t mean it shouldn’t be a tool in your toolbelt. As you grow—as a developer, as an administrator, as an engineer—understanding the core of what runs your code and applications can only help you.
You don’t need to go so deep as to start committing to the Linux kernel (unless you want to), but knowing how your underlying architecture works can only make you better, and help you make better choices. The cloud may have revolutionized how we use technology, but that doesn’t mean the technology itself has deeply changed, and most likely that technology is running Linux.
Learning more about Linux
Want to learn more about Linux and how it intersects with cloud computing? Check out my course "Securing Linux for the cloud." Alternatively, take a look at the The Linux Fundamentals learning path by Pluralsight.
For a list of the in-demand skills this year, check out Pluralsight’s top tech skills for 2023.