How Can I Get A Job Working With Linux?
It’s the classic Catch-22: you can’t get a job working with Linux because you don’t have any experience, yet you can’t get the experience because you can’t get a job. In this article, I’m going to explain how to fix that problem.
From The Employer’s Perspective
Looking at things from the “other person’s” point of view is often helpful, regardless of the situation. The employer will have put together a job description and requirements, but these are seldom cast in stone. The person they ultimately employ will almost certainly have some additional skills that are useful to the business, but which weren’t being actively sought. Equally, they may also lack some of the experience that was stated as required, but they get the job anyway. What’s happening here?
There’s an adage in business: “Hire for attitude, train for skill“. Changing someone’s attitude is hard, hard to the extent that it’s often not even possible. Certainly the skills required to change someone’s attitude are often lacking in a business.
If that business can find the person with the right attitude from the perspective of the business, they may make an allowance on the skills side. The business will often have the skills it’s looking for already, just not enough of them, and this is particularly true for entry-level positions. What the employer is looking for is someone who could become a superstar, not necessarily someone who will be a superstar in week one.
Linux is a huge subject area. Someone working in a technical support or consultancy role will come across data storage, databases, data replication, high performance computing, network security, authentication, integration, cloud computing, containers – the list is very long. No one will know it all, but they might need to know about, say, PostgreSQL replication for a project.
What’s needed is someone who can use their existing technical skills and background to acquire new technical skills in a specific area. Their approach needs to be along the lines of “can I learn to do this?”. For a cardiac surgeon to master the intricacies of a Puppet Configuration Management Server the answer is probably “not really”, but for someone with a Linux and system administration background it might sound like a fun challenge.
The employer, then, is looking for someone who:
- gets it: understands what the business is trying to achieve and how they go about achieving it. Someone whose values align with that of the business. How do you discover those values? Read the company’s website, read their blogs, sign up for whatever they offer by email. Do you like how they write, how they think, how they behave? Can you talk with passion about how you’d like to be part of that and contribute?
- is willing to do it: you need passion. You need to really, really want to do this. That shows in an interview, and it’s hard to fake it. Arguably one of the most important criteria for job satisfaction is to find work that you love, that you’re passionate about, so this works for you, too.
- is capable of doing it. Note “capable”, not necessarily “already able”. That’s what you can demonstrate at interview by talking about what you have done already, demonstrating that you have capability.
Entry Level Roles
If you’re in the Catch-22 situation highlighted at the top of this page, you’re almost certainly looking at an entry-level role. Employers should be realistic about your capabilities: they may be more willing to make compromises with respect to what they will accept than at more senior levels, and that gives you an excellent opportunity.
What Linux Experience Could You Have?
We live in astounding times. If you’d told a business person 25 years ago that there would be freely available, high quality, robust software that multi-billion dollar corporations run their business on, they would not have believed you – but here we are.
Anyone can download Linux. Anyone with access to an old PC, or a Mac, or a £60 Raspberry Pi kit can set up a Linux server. You can have practical experience of configuring and managing a Linux server from the comfort of your own home, so do it.
Sitting in an interview and claiming that you’d love to get some Linux experience is a lie: if you’d love to get it, you would have already done so.
“Tell me what you’ve done with Linux at home” is a question we often ask applicants for technical roles at Tiger Computing. Consider these two answers:
“I don’t really have much spare time. I have installed Ubuntu on my PC, and I dual-boot it with Windows. I mostly use it for web browsing.”
“I installed Apache on my PC and tried to set up Let’s Encrypt SSL certificates, but I ran into a problem where they weren’t renewing automatically. I looked into that and I found […]. I also manage a small Linux VM that has my website on it. Recently, I offered to host a website for a local charity, and I’ve set them up on the same VM. One of the issues I encountered was […]”
This is free software. If you’re not running it, playing with it, experimenting, breaking it to see whether you can fix it again, it’s because you don’t want to. That’s OK, but if that’s you, maybe a Linux technical career isn’t right for you.
- Don’t send your CV to the potential Linux employer in Microsoft Word format. Best choice would be a PDF, then it’s readable on just about any platform. Agencies may insist on Word, but for a direct approach use a PDF.
- Approach potential employers directly, but don’t ask for a job. Rather, ask for their advice (people love being asked for advice: it makes them feel important). Research will often reveal who to contact. Send a short email along the lines of:
Hi Fred I realise you're busy, so I'll keep this short. I would love to work with Linux on a day to day basis, and given your experience, I was wondering whether you might have any advice for me? I'm not expecting you to offer me a job, but I'd very much welcome the opportunity to meet with you for 20 minutes to discuss any tips you might have to help me get started in a career with Linux. Could we arrange at time when I could come to see you?
- Have your own domain name. Mail from
firstname.lastname@example.org you’re more serious about IT than mail from
- Be enthusiastic. Be proud of what you’ve achieved. Relate this back to the potential employer by showing how you have tried to solve technical problems, how you’ve managed your own systems and improved them. If you can demonstrate that you’ve managed a system for someone else, even on a voluntary basis, talk about that.
Be persistent. Believe in what you want to do. Be passionate. Those things show in a conversation, and they will certainly help compensate for a lack of commercial experience.