Getting into Linux can be pretty daunting at first, and is unfortunately not taught in many institutions which are supposed to prepare people for a life in the real world, despite running a large majority of the servers in the world 1. Although this can be inconvenient and frustrating to many, it also opens a wonderful opportunity where those with the right skills and knowledge can land themselves a job almost anywhere in the world, and Linux skills have become a hot field for recruiters desperate to fill positions.
If you’re reading this, you may have taken a look at some job postings already and thought “Oh I am so underqualified for that role. Isn’t there something more entry-level out there?” You’d be right to be a little concerned - but job postings are not an exact list of requirements, particularly for the tech industry. In this post, I’m going to explore a few basics on getting started in finding your first Linux role. I won’t be covering how to learn Linux here, but will offer a few pointers of technologies and ideas to get you started!
Know the basics
Almost every branch and variation of a Linux systems administrator role, is based upon the same set of skills regardless of if you move into a DevOps or Infrastructure type of roles. While even putting together a list of the basics is tricky, I like instead to divide this into a number of simple tasks which are applicable in almost any environment (CentOS, Ubuntu, Debian):
- Add/remove hard drives to the system with various mount points
- Add/remove users and groups to the system
- Understand the basics of the Linux file/directory permissions
- Understand what SSH keys are for and how to set them up
- Grasp basic operating security practices and measures and how they protect you
- Be aware of some common web application deployment scenarios
- Able to set up a simple LAMP stack on Ubuntu and CentOS and install an application such as Wordpress
- Understand TCP vs UDP as well as some common protocols that use them (HTTP, DNS, SSH)
- Be comfortable using the Linux command line interface (CLI)
You never have to remember all of these skills and procedures from memory, I have years of experience under my belt in doing this kind of operation on a much larger scale, and I still have to use Google to find out some rather basic things. There’s no shame in being unable to remember every step, but what every task in this list does is expand your horizons and introduce you to concepts which become very useful later on in your career.
All of the above tasks can also be completed without any expensive equipment or advanced knowledge. If you haven’t already gotten your hands dirty, head over to the CentOS or Ubuntu projects to grab the latest version of the software, and get started. You can install them on an old computer you have laying around, or my recommendation would be to use a tool such as VirtualBox to give you a nice clear area where you can learn and make mistakes without impacting your primary Operating System.
Check the market
IT is a rapidly changing landscape, with technologies sometimes taking only a few months to go from an obscure discovery to a major enterprise-ready technology which everyone is interested in. Some recent success stories where new technologies have taken the market by storm are Docker, Kubernetes, Ansible and Terraform. Looking for trends among job postings is always helpful.
The largest trends in 2018 were the movement towards containerisation (Docker), container orchestration (Kubernetes), configuration management (Ansible) and Infrastructure-as-Code (Terraform). While these are the current hot trends, almost all of the skills that can come up in using these technologies are based upon an existing understanding of the basics of using Linux, infrastructure and high level programming languages such as Python.
Knowing most of these skills is rarely neccersary for your first role, but almost every role will expect you to at least have an understanding of the wider state of the industry, popular tools and the direction it is moving in. Where you can’t win somebody over at your current skill level, you can still impress them by showing a genuine interest in the industry and a willingness to learn. With the industry facing a skills and people shortage, sometimes convincing them of your character and potential alone can be sufficient.
The utility (and limits) of certificates
The Linux Foundation offers some great advice on getting certified in the world of Linux, but always take certificates with a pinch of salt. Personally, I am not a fan of certificates and as somebody who has conducted interviews before, most serious technical managers don’t seem to care what level of qualification you have - they care about your skills and if you can fit into their team culture.
Regardless of my own views, qualifications are still a pre-requisite in some areas usually for insurance or assurance purposes, but know that they cannot replace actually being comfortable in the field and willing to learn new things.
EdX offer a fantastic free Linux course which I would recommend for anyone needing a recognised qualification in the area. It is suited for beginners and is self-paced, employers will always recognise that it takes a lot more discipline and a strong work ethic to work independently to achieve something than in a controlled and supervised environment such as school.
Talk to recruiters
Early on in my own career, I avoided recruiters like the plague. I couldn’t stand the phone calls I was getting all the time, and generally as a millenial I was actually quite uncomfortable on the phone and selling myself. However, some recruiters can be a fantastic resource to help you launch your career as long as you are upfront with them on your strong points and your limits.
So often, advertising roles is expensive for companies and the process of trawling through CVs is cumbersome. Recruiters are constantly talking to candidates and hiring departments, and if they think they can fill a role before it even opens to applications or has a specification written, they save time and money for everyone involved. LinkedIn is a great resource for connecting with recruiters and you’ll find a lot of roles there not advertised in the usual job boards.
Have some “soft” skills
Fundamentally, your skills in the IT world will form part of a business structure in some way, shape or form. Understanding the basics of business can be invaluable in helping you succeed at any stage in your career, regardless of what role you take. One of my own selling points for example, is my understanding of basic business principles of investment (CapEx vs OpEx) and how to efficiently use hardware. I am constantly keeping myself up to date with virtualisation technologies and projects such as Openstack and Ceph because they can offer far better financial prospects in the long run for a company instead of using better known cloud services such as AWS, GCE or Azure.
If in doubt, have a browse through the EdX Business Courses catalog and find something to pick up. Such skills show a real world appreciation of where you fit in the bigger picture for businesses, and if you are to work in finance or banking then it becomes a stand out skill to put you above everyone else.
Find a mentor
If you already know somebody in the industry, use them to your advantage. They can often offer contacts and experience in their field to guide you, and some even have the connections to land you your first tech job. Mentors are not there to teach you every skill, but don’t be afraid to use them to signpost you towards hot topics and the right people.
I mentor a few people myself, some of whom I am great personal friends with and others are strictly professional relationships. What all of these share however, is I could work with each and every one of them day to day. Both being mentored as well as a mentor to others, helps build your network and can help you advance your career in unexpected ways which can prove invaluable later on.
Consider an apprenticeship
Apprenticeships are a great way to enter the industry. Typically the salary is not fantastic, but see the time you spend in the apprenticeship as an investment in your own future, as you will finish the apprenticeship debt-free, have a plethora of practical experience and be ready from day 1 to take up a huge variety of roles. For a highly practical industry such as tech, university education just does not prepare you with the skills or practicalities of the field like a well-run apprenticeship can.
As covered extensively above, you will notice beyond fulfilling the basic skills of Linux, it is often an exercise of relationship building and understanding the context of your role which will give you the most success. If in doubt, find a place which will let you shadow the work of sysadmins, developers or DevOps engineers and take their advice on what you should be looking in to for whatever area takes your fancy. Often, tech professionals are all around you and reaching out for some advice can sometimes be the hardest part of getting started.