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?
get a cheap mini-pc and set it up as a linux router/server/lab
does wonders to teach you the tech used in the industry, and you can even setup your own netflix, google drive, spotify and more.
What is a usual 9 to 5?
Depends what you mean with a job in tech. If you want to work as technical problem solver or programmer, then it’s very useful, almost required.
Yes. Yes it does.
Look for job listings that require command line Linux skill.
Three 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.
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.
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.
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.sudo chmod 000 /
Lol been there, and with the
-R
tooSorry for your loss. I hit myself with the ‘rm -rf /*‘ several years back when I was actually trying to do ‘rm -rf ./*‘.
Now I do ‘ls’ instead of ‘rm’ just to make sure that what I’m deleting is what I’m intending to.
Figured I was very lucky that it was just on my own workstation and not on any of the servers I was tasked with maintaining. I lost a day or so of work. Had it been our dev server? Would’ve destroyed my team for a while.
If you’re a developer and you don’t know how to deploy to Linux servers you’re useless.
Welp, found your red flag
Have you just been
chmod 777
everything all this time?Oh man, I ran into a dev at a meetup who proposed this solution.
And I had to do a polite, “Oh wow maybe that works but I don’t think that’s a solution in my company” because YIKES.
- What are basic Linux permissions?
- What does
chmod 777
do?
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)
This goes into more detail of those basics: https://opensource.com/article/19/6/understanding-linux-permissions
Thanks. Bookmarking for future reference.
Also, they didn’t mention it but you can always just do this (the easy way, thanks to GNU):
chmod a+x somefile
to give it execute bits. It works intuitively like that forw
andr
permissions too.It’s just quicker to type out
chmod 775
than it is to do it the other way 🤷Juwt remember “man chmod”.
Read, write, and execute are represented by the numbers 4, 2, and 1, respectively, and you add them together to get the permission
Maybe I’m the weird one here but this seems like a counter intuitive way to remeber/explain it. Each octal digit in the three digit number is actually just 3 binary digits ( 3 bit flags) in order of rwx. For example read and execute would be 101 -> 5.
While that’s literally what it is, that’s not really how it’s represented and requires also understanding binary numbers.
Even knowing that, I’ve always found it easiest to get to the permissions the way I described, which when you think about it is actually the same as what you’d do to translate binary into decimal/octal if you don’t have them memorized: look at the values of each position that’s set to 1 and add them together. So, 101 in binary would be 4+0+1, or 5, which is the same as saying read is 4 and execute is 1 and add them together, the latter of which I think is easier to learn (and is how I’ve always seen it taught, though clearly YMMV)
Both get you to the same place though
That’s a fair point, I guess I used binary numbers so much i uni that I just know the small ones by heart and that’s why I find it easier. Following the example, I never convert 101 as 4+0+1, I just see it and know it’s 5.
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?
Depends on the tech job. A lot of corporate IT support jobs care a lot more about troubleshooting windows because that’s what the employees use
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 🤣
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.
Absolutely. I tried using Windows for gaming some years back when Wine wasn’t as good and it was such a struggle. I was used to thinking there’s more software for Windows since it’s more widely used, but I was shocked at both how much software I used was Linux (or POSIX-compliant) only, some of which had no Windows alternative. I remember struggling so much to just try and get some files off a LUKS-encrypted drive on Windows and was shocked that there was basically no option at the time. I also hate how Windows users just download random exes off the web for all their programs. I only ever used chocolatey to install anything for that brief Windows stint.
Even a simple “I know how to setup a network-wide ad blocker on docker by using my own image” can get you far, so yep.
Thats oddly specific. I think “I have experience with Linux” would be better
This is a IT-related question – of course being “oddly specific” is a great idea. Even if the job in question does not use anything docker related.
On a resume you might format this like “Skilled in setting up networked Docker images”. Absolutely a valued skill and worth mentioning.
You didn’t even mention the word linux
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.
“The Cloud” is mostly Linux—specifically Linux containers. Kubernetes and Docker are Linux specific technologies.
Most “IT” roles these days will be for from Linux knowledge ( not all of course ). It is a good skill to have.
If you do encounter an environment where they do not use Linux, it may be because of a lack of skilled staff. You could be the reason they adopt it.
Honestly, it depends on the business.
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.
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.
How I wish.
Happy cake day, my friend! 🐧 🥳
Thanks! I didn’t even know.
“In IT” could mean anything from first line support worker to software project manager to network engineer. Can you be more specific…?
Depends on the job!
Linux opens up a lot of possible job openings
When looking for Linux tech jobs to apply to, a lot of them actually have Vim experience as a preferred quality. Can any experts confirm this?
Nah. That’s like bragging that you memorize a lot of Pi digits.
Some on the IT team in my company use vim, some use nano, some probably use notepad or something ridiculous.
It’s just a text editor and knowing vim doesn’t automatically make me assume you’re competent at anything.
Been in the industry for over 25 years, I have not once been asked to use vim. I mean, of course I do, but mostly I am the only vim user in my teams.