Would being a Linux "power user" increase my chances of getting a job in IT/tech?
I'm trying to get a job in IT that will (hopefully) pay more than a usual 9 to 5. I'm been daily driving Linux exclusively for about 2 1/2 years now and I'm trying to improve my skills to the point that I could be considered a so-called "power user." My question is this: will this increase my hiring chances significantly or marginally?
Look for job listings that require command line Linux skill.
The candidate pool who can get around on a Linux command prompt is growing, but it's still pretty small. It gives you some advantage toward networking, Cybersecurity, systems administration, and cloud deployment.
I've hired for junior positions on a sysadmin team and Linux as a hobby is the number 1 thing I look for. It moves your resume to the top of the stack.
I interview developers and information security people all the time. I always ask lots of questions about Linux. As far as I'm concerned:
If you're claiming to be an infosec professional and don't know Linux you're a fraud.
If you're a developer and you don't know how to deploy to Linux servers you're useless.
So yeah: Get good with Linux. Especially permissions! Holy shit the amount of people I interview that don't know basic Linux permissions (or even about file permissions in general) is unreal.
Like, dude: Have you just been chmod 777 everything all this time? WTF! Immediate red flag this guy cannot be trusted with anything.
Quick and dirty: the basic permissions are read, write, and execute, and are applied to the owner, the group, and everyone else. They're applied to all files and directories individually.
It's represented by a 3 digit number (in octal, which is base 8, so 0 to 7). The first number is the permission given to the file's owner, the second to the file's group owner, and the third to everyone else. So, the owner of the file is the one user account that owns it, the group applies to all members of that group. User and group ownership are also applied to each file and directory individually.
Read, write, and execute are represented by the numbers 4, 2, and 1, respectively, and you add them together to get the permission, so 0 would be nothing, 1 would be execute but not read or write, 2 would be write but not read or execute (and yes there are uses for that), 3 would be write and execute but not read, 4 is read only, etc through to 7 which is basically full control.
This will take a little bit to make sense for most people.
chmod (change modifier, I think) is the program you use to set permissions, which you can do explicitly by the number (there are other modes but learn the numbers first), so chmod 777 basically means everyone has full control of the file or directory. Which is bad to do with everything for what I hope are obvious reasons.
chown (change owner) is the program you use to set the owner (and optionally the group) of a file or directory, and chgrp (change group) changes the group only.
It gets deeper with things like setuid bits and sticky bits, and when you get to SELinux it really gets granular and complex, but if you understand the octal 3 digit permissions, you'll have the basics that will be enough for quite a lot of use cases.
(Additionally to the 3 digit number, permissions can be represented a bit friendlier where it just lists letters and dashes, so 750 (full control user, read and execute group) could be shown as rwxr-x---, where r=read, w=write, and x=execute, and what they're applied to can be represented by the letters u for user (aka owner), g for group, and o for other)
Can I ask if the reverse applies, eg is having no idea how to use non Unix like OSes (like Windows) any kind of red flag? Kinda been considering trying to go into a tech career so that I can have a 9-5 office job (I've until recently worked in what would be considered "blue collar" jobs, recently switched to an education job, would be nice to just sit down in an office and use computers for a living). I've used (GNU/)Linux from a very young age (parents had an Ubuntu laptop), as my primary OS/daily driver since I was 13, and exclusively (i.e. got rid of my Windows partition due to Windows enshittification) since I was idk maybe 16 ish? So I'm pretty comfortable doing things in Linux. But I have a reputation for being a tech person among my friends and they ask me to fix their stuff sometimes and whenever it's a Windows problem I literally have no idea how to use the OS lol. So are Windows skills and knowledge also expected for tech jobs or just Linux/Unix-like?
There's not much to learn in Windows land! Learn how to set file permissions, how the registry works (and some important settings that use it), and how Active Directory works (it's LDAP) and you'll be fine.
If you're used to using Linux nothing will frustrate you more than being forced to use a Windows desktop. The stuff you use every day just isn't there. You can add on lots of 3rd party tools to make it better but it'll never measure up.
When you have to go out on the Internet to download endless amounts of 3rd party tools the security alarms in your head might start going off. Windows users have just learned over time to ignore them 🤣
Depends. It/tech is a massive space so not certain if you're applying to tech support or like server architecture. So some specifics would be nice.
One thing to point out:
I thought I was a freaking wiz kid at Windows because I knew about the registry and how to modify settings. But then I learned a lot of the "hacks" on the internet are bad for the enterprise.
On Linux, it's even worse, with so many blog posts recommending sudo this, and install this app that. And if you don't have a background of WHY, you can do a lot of damage. And with AI, it's even worse. So many bash script kiddies asking AI to write the ugliest code I ever seen.
Now that Im a senior engineer, I realize I know nothing and leave much of the IT space to trained professionals.
This is very good insight and something that no one else touched on. OP if you see this, while being a power user on your personal linux machine does help with skills and getting you jobs, it’s still very different from administering an enterprise linux machine in a corporate environment. One thing you can do is set your own homelab and mini environment at home. This will get you more experience with actual administration and will be a great asset to disclose in interviews.
No, dont learn docker, learn containerization and what tools can be used for it. No to Kubernetes that comes much later and/is VERY specific. No clue what keycloak is, but it sounds useful. Never hear about Jenkins. Id rather say get a grasp on python and skim what tools are used to administer servers -> ansible and puppet maybe.
I almost want to agree with parts of this but I cannot imagine the downvotes for supporting a comment that includes “never hear about Jenkins” and “don’t learn Docker”.
Jenkins has about 50% market share for anybody keeping score at home. In many verticals, the market leader has about 35% market share so 50% gives Jenkins enough domination in the market that saying “never hear about” them is going to hurt your credibility.
I think most organizations using Kubernetes should not. However, most of those would still benefit from containerization and so knowing Docker is a good thing even if you use a different tech ( Podman is the same thing ). While I think people should not be using Kubernetes as much as they do, it is still going to help you to know it when you are asking those people to hire you.
Knowing Python is fantastic advice for DevOps and IT in general.
Ansible and Puppet are solid recommendations. I think Ansible is the market leader ( probably about a third ).
Keycloak is great but it had less than 5% market share and so not knowing it is not going to hurt.
Yep. You should absolutely know how all the pieces connect.
One IT responsibility is setting up servers. You should at least know how to get a website running off of a Linux machine at a basic level. But what we judge you on is your ability to manage and secure it.
It will. Keep in mind that, depending on the type of job, you'll have to keep learning new tech just to keep up: virtualization, containers, orchestrators, automation, backups, logging, auditing, scripting and God knows what else. It's a good starting point to get you the jobs that the Windows crowd won't touch because of the command line.
If you're applying to work with my team. A big Yes.
Seeing a developer use Windows is a big turn off, I can clearly see all the future dev environment problems I'd need to assist them with.
And if you understand linux permissions, the architecture, bash, common tools, etc. I can envision how you will make the dev experience better for everyone and contribute to fix any deployment issues. Unlike windows, you won't be introducing ovearching solutions to problems which can be solved with a simple bash script.
Exact experience I've had, in every workplace I've been Windows users have been a non-stop liability and required support for workarounds and hacks. Seeing their workflow through screenshare was kind of a culture shock.
It doesn't help that, prior to 2023 (I believe), Microsoft's OpenSSH fork simply did not recognize ProxyJump. I administered a server behind a bastion, which meant every Mac and Linux user could ssh in. Windows users had to use some strange program like PuTTy.
Learning Linux was probably the very best thing for my career.
The fact that I use Linux as my primary OS has been a positive in almost every interview I've been in as the interviewee. Linux has been used everywhere I've been, and that represents a huge amount of upskilling they can skip.
As an interviewer, I'd say that developers who use Linux generally understand their development stack better.
When I got into IT, I had years of experience with Mac OS, UNIX, a bit of IRIX and VMS, BSD and even a bit of Linux.
And then I spent 10 years mostly managing a Windows shop. I still ran OpenBSD on the internal support servers, but had to support a full Microsoft stack for anything customer-facing.
What will increase your hiring chances is being adaptable and having a portfolio of success stories to reference during interviews.
Most places deploy to Linux, and for those knowing Linux helps a lot. Also a lot of places will give MacBook pro, expect you to know the CLI so a lot of Linux knowledge will be useful there.
Exactly this. Having an interest and a hobby to an open source system will make you better in your job and a much more interesting candidate to hire.
Source: started with linux in 1995 as a kid. Never having issues finding great jobs.
Edit: I did not mean being a devops here, but finding an interest in open source software and learning a highly lucrative programming language while going. You can get pretty far with Rust or Go in the modern startups, C or Java in enterprises. Being very good with Linux drives this interest.
Lots of good advice here. I'll add that you could develop an understanding of IP networking and how it works on Linux, network interfaces, with containers, with iptables as well as stateful and stateless firewalls, CIDRs and basic routing, IP protocols and some common protocols like DNS and HTTP. This used to be pretty common knowledge in applicants 15 years ago, but very few have it today I find. DHCP and PXE boot is fun to learn too, and is still common in datacenters.
It depends on the role. My first job was doing manual QE on Windows, and knowing Linux wasn't much help at the time, but it did help me transition to a coding role in the same company a year later. I'm now doing platform engineering at a major tech company, but that has a high barrier to entry, which I suspect is the case for most roles that are Linux-focused. If you're trying to get your foot in the door, I think you should look at job profiles for low barrier to entry roles (e.g. tech support) and try to work your way up.
You didn't tell us what you think the usual 9 to 5 pays. Are you asking whether a tech job pays more than minimum wage? Many of them do. Also, when you're interviewing, and even when you're writing a cover letter, try to avoid the term power user, and instead provide details of things that you've actually done. Anyone can call themselves a power user, but what does that even mean? If you say you're a power user, if you're lucky the interviewer will ask you for details, and if you're unlucky they won't, because they'll assume you're just grandstanding. So you're better off providing a little extra information up front, and not gambling on them asking for it.
It highly depends on the job. Some companies run fully on Windows, no exceptions. There it obviously would not help. But many still either host various services on Linux, or buy hosting/cloud commuting that is Linux based. There it might even be necessary.
It also depends on what you mean by "power user". I would generally advise you to look into the server side of things. In my work, there are zero Linux machines that have a GUI of any kind installed. t The 50 or so Linux machines are all administered through SSH and Shell.
As many people here have pointed out already, it's highly dependent on what type of Job you're looking for and in what industry.
When I was applying for my entry level Job (actually an apprenticeship to become a sysadmin), the fact that I was a linux user (especially daily driving Arch) and that I had set up my own self hosted projects was a factor in me being set up in the department that was actually interesting to me (the Linux/Server department) instead of the Windows/Client department but I probably would have gotten the job either way.
My work there set me up deeping my path into Linux sysadminship where I still am today.
Yes, because you're already familiar with the command line. But for a job in the professional Linux world, also try out RHEL (not Fedora), and familiarize yourself with best practices in patch management. There's a lot more to it than just dnf upgrade if you have applications depending on specific versions of packages, CVEs need to be mitigated ASAP, downtime needs to be minimized and reverting a borked upgrade (including the installed database) needs to work 100%.
Also, get familiar with containerization, SELinux, VMWare hypervisors, a version control system, the LAMP stack and Samba.
Specifically for a job of Linix sysadmin, probably yes. If you can afford it do a certification, it will help you stand among other candidates with no work experience.
For other IT jobs it's not so relevant. Linux is technically on the servers but the infrastructure is hidden from you by multiple levels of abstraction.
Certifications will absolutely get your foot in the door if you have zero experience.
Don't think of it as "affordability", but rather an investment in your future. In the US, you're spending $400 to study and successfully get a cert in a few months versus $80k doing a college program.
But lets say you seriously can't afford it at all, then the $10 udemy courses to train you is pretty good to at least know the lingo, and then a few years setting up your own self hosting.
In my area being a linux admin actually pays less than I expected. I kinda always hoped to get into a linux admin role. Now I have a sort of cloud ops role and it makes more than a typical linux admin would. It would just be silly for me to pursue this any further. That doesn't mean I don't touch Linux on a daily basis at work. But it's more alround.
If your goal is to make yourself more valuable to employers/clients the best path is to specialize in some critical and niche enterprise tech. People that are good at stuff businesses were lured into using get paid very well. In my case it was SharePoint, but that's just an example.
Knowing your way around the OS is taken for granted in these positions, so you have one piece of the puzzle, which is great, but you need the other pieces.
But be careful, if I have to choose between two experts, one with basic win+linux and the other only linux, I'm choosing the former.
Very bad advice, getting your niche might pay off for a certain job in a certain time period and makes you clueless and worthless in any other job other timeframe.
Rather focus on general overview and tools instead. I can imagine how you brain is melting away dealing your whole work day with only sharepoint, rofl.
Well, it was addressing the pay issue, and it is the most secure path to higher paid position fast. Moving on to new stuff comes naturally and the industry will push you to their next hotness, so not really a problem.
In my personal experience, yes. There are so many jobs that exist around the Linux ecosystem, being comfortable with concepts like piping, file permissions, scripting, git, etc, will invariably give you a leg up.
This morning I was still awake, my veines exploding because of all the "anti-sleep medication", having a quick cool-down from the party still going on inside, when I hear someone randomly say: "yeahh rm -rf!". One thing let to another...
Linux skills make you friends as well as get you jobs.
the environment you would work on is Linux based, obviously (which it often is when servers are involved, even with Microsoft due to Azure cloud and containers)
you master the command line, i.e you know a bit of e.g bash, can write your own scripts that do basic functions
you understand how the OS works, i.e permissions, services, package managers, etc
but not really if you are mostly clicking through buttons of the window manager and/or would work in a Microsoft environment with its own set of tools, conventions, etc.
Which brings up obvious suggestions :
do improve your mastery of the command line
apply to jobs that put Linux forward (but that might bias to a sysadmin position, which might not be what you prefer)
I had a job offered based on the fact that if you know bash, you can translate that to powershell, as translating knowledge is easier than learning from scratch.
Makes sense to me. I would also assume that if one can program in bash they can program in pretty much anything. Yes it will take some time to adapt but a lot less than somebody who can't program in any language in any environment.
That being said, I would advise against starting in an environment that is possibly alienating and exclusive. Microsoft does everything it can in order to lock-in users but also developers. They find bridge, like PowerShell or WSL, then IT relies on certifications specific to their ecosystem. So if OP is fine with such practices they could start there but I'd suggest to keep that only if more direct alternatives are not available.
I had the same question. I have rather good understanding of Linux and command line however at my job where Ubuntu is used other people easily caught up with me. They still don't know much about what exactly a command does but they know when to run it so IMO it doesn't matter how much Linux you know the only knowledge matters which you could use to have your job done quickly and efficiently.
I've always landed on jobs/projects that involve Linux server. Generally startups with not much expense to spare would go for this route. However, even bigger companies would opt for enterprise Linux.
I wouldn't say that will work on every IT jobs out there, but when it does, you know you're in for a fun ride!
Nothing fully replaces real world experience with the exact software and technologies your potential employer uses, but having demonstrable ability to use and understand linux is very transferrable. Ultimately it comes down to the interviewers and what they're looking for, and to the more technical of those, choosing linux as a daily driver shows you're more interested in understanding how computers work and that you have a degree of problem solving ability.
Read some adverts of the jobs you want to get, being realistic that you may need to start low to get that experience, and build ability in what's wanted, especially the bits that are marketable.
Probably not. I guess it depends what you want to do in IT. And the org. Some orgs use a lot of Linux, and Linux is a whole different ball game at the enterprise level. It's not just knowing about Linux, but how to properly manage, secure, and patch it at scale.
It might also depend on if you have previous IT experience. If you've got a ton of previous experience it could help.
If I were the hiring manager we are a 80/20 split on win vs Linux servers. You may be top tier on 20% of our systems but we have automated about 85% of the tasks on those boxes. The other 15% is being covered by the windows people.
How do I justify hiring you to do 15% of the work of the others?
In order to be paid above average, you need to be good at something others find hard. But don't pigeon hole yourself to one thing.
Being good at windows and Linux will make you a more attractive hire. As a Linux daily driver you should have no excuse to not know virtualisation or containers. Run up some qemu VMS or some LXC containers to expand your skillset.
I make it a condition of my employment that I never touch windows servers, and I get paid very, very well.
Linux experience is far more important than windows experience, IMHO. Almost every company has Linux servers. Loads of companies don't have windows servers.