The path to becoming a proficient Linux developer can unlock a host of career opportunities. Many companies rely on some flavor of the Linux operating system as part of their tech stack, and there are lots of experts (and courses) out there that will teach you the nuances of Linux development.
James Stanger, CompTIA's chief technology evangelist and resident Linux expert, says the first step is figuring out the type of Linux developer you want to become. “You could be a developer who learns things like the C programming language, C++, you can become a kernel developer and work on the brain of the entire operating system, you could be a developer of some of the applications used in Linux,” he says. “There's also development where you use Linux in embedded systems.”
The first step to getting started, he adds, is learning Linux itself: its command-line interface, file system, and system administration.
Laying Groundwork with CS
Jenna Resnick, senior unit manager of technology recruiting at LaSalle Network, says a degree in computer information systems or computer science will lay the groundwork for a career as a Linux administrator or engineer: “The computer science degree will set one up nicely to understand and later write scripts using languages like Bash or Python to automate tasks and develop applications.”
Online learning platforms such as Coursera offer training for hundreds of technical skills, including foundational Linux and Linux engineering skills. “Linux Training Academy also has impressive and insightful trainings,” Resnick notes, adding there are several options for certifications for Linux professionals.
The Linux Foundation offers training courses that break down everything from installing Linux to command-line operations. As you advance in your knowledge, the Foundation offers courses in system administration, containers, and other Linux-adjacent skills that you could find useful.
Resnick says the great thing about open source about Linux is that there is a huge developer and user community, and people have a tendency to just love helping each other out.
“I always tell people Linux users are kind of like Grateful Dead fans, you know, they love to talk to each other,” he says. “Go and look for the LUG—Linux User Groups—that are still out there, with members from the U.S., Turkey, India, South Africa, you name it.”
Online groups such as Reddit’s Linux subreddit can prove excellent places to seek advice from Linux masters. And don’t be afraid to participate in open-source Linux projects on sites and repos such as GitHub, where you can contribute code and gain experience.
What Certifications Do You Need to Become a Linux Developer?
Two well-known “governing bodies” for Linux certification options are the Linux Program Institute (LPI) and the Linux Professional Program. “CompTIA, well known for their entry level A+ and Network+ certification option, also offers the Linux+ certification, and RedHat is a Linux operating system that offers a tiered certification program based on one’s skillset level,” Resnick says.
While you don’t need a certification to land a job as a Linux developer, possessing a few can help you stand out in a crowded field of applicants when you’re applying for jobs. Some key ones include:
- Linux Professional Institute Certification (LPIC)
- Red Hat Certified Engineer (RHCE)
- CompTIA Linux+
- CompTIA Security+
Getting a Career Start as a Linux Developer
A Linux developer may start their career on the infrastructure side of IT, then move into a system administrator or system engineering role in a company that runs on a Linux environment. They may also start their career in an application support capacity (for applications that run on Linux operating system) or in a software engineering role, developing applications that run on Linux.
Resnick says someone who has a background as an embedded software engineer (with experience programming in C++) may also be able to make the move into Linux development. “There's so many different developer job roles out there, some of the first steps you might take would be a Linux front end developer, using JavaScript and things like that,” he says. “Other roles have to do with being systems engineers.”
Developers can also get a start as entry-level or beginner application developers, and those application developers can be front-end, back-end, or full-stack devs. However, Resnick notes, full stack is very advanced, which means you’d need to know quite a bit about the nuances of Linux to make that particular leap.
“If you're somebody who's a junior developer who creates scripts and creates code, but that code connects different cloud-based systems, then your future might be in middleware,” he says.
Another path forward from an entry level software engineer can be made by learning project management and managing other developers. That requires learning about data analytics and databases. Knowing how to create code that interfaces with databases is a powerful tech skill.
Resnick advises budding Linux developers to also take a close look at automation technologies including OpenStack, Kubernetes, and Docker—three technologies that enable orchestration and automation.
“If you learn those things, you'll move up in the world and do very, very well,” Resnik says.
Bottom line: no matter what your tech interests, it’s possible to jump into a Linux-based career.