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?

  • MajorHavoc@programming.dev
    link
    fedilink
    arrow-up
    70
    ·
    edit-2
    4 months ago

    Yes. Yes it does.

    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.

  • bionicjoey@lemmy.ca
    link
    fedilink
    arrow-up
    55
    ·
    4 months ago

    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.

  • Riskable@programming.dev
    link
    fedilink
    English
    arrow-up
    44
    ·
    4 months ago

    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.

      • laurelraven
        link
        fedilink
        arrow-up
        16
        ·
        4 months ago

        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

        • Saizaku@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          5
          ·
          edit-2
          4 months ago

          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.

          • laurelraven
            link
            fedilink
            arrow-up
            3
            ·
            4 months ago

            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

            • Saizaku@lemmy.dbzer0.com
              link
              fedilink
              arrow-up
              2
              ·
              4 months ago

              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.

          • Riskable@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            ·
            4 months ago

            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 for w and r permissions too.

            It’s just quicker to type out chmod 775 than it is to do it the other way 🤷

    • ByteOnBikes@slrpnk.net
      link
      fedilink
      arrow-up
      7
      ·
      4 months ago

      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.

    • communism@lemmy.ml
      link
      fedilink
      arrow-up
      6
      ·
      4 months ago

      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?

      • billgamesh@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        4 months ago

        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

      • Riskable@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        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 🤣

        • communism@lemmy.ml
          link
          fedilink
          arrow-up
          4
          ·
          4 months ago

          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.

    • Shareni@programming.dev
      link
      fedilink
      arrow-up
      5
      ·
      4 months ago

      If you’re a developer and you don’t know how to deploy to Linux servers you’re useless.

      Welp, found your red flag

        • model_tar_gz@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          4 months ago

          Sorry 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.

  • ByteOnBikes@slrpnk.net
    link
    fedilink
    arrow-up
    32
    ·
    4 months ago

    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.

    • edric@lemm.ee
      link
      fedilink
      arrow-up
      14
      ·
      4 months ago

      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.

  • MyNameIsRichard@lemmy.ml
    link
    fedilink
    arrow-up
    22
    ·
    4 months ago

    To give yourself a better chance, learn things like:

    • Bash scripting
    • Docker
    • Docker Compose
    • Kubernetes
    • Oauth2 and and an authorization server like Keycloak
    • Build and deployment tools like Jenkins

    Also learn how to deploy database and web servers manually.

    It sounds like a lot but they’re things you’ll be expected to use.

    • dino@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 months ago

      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.

      • LeFantome@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        4 months ago

        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.

        • dino@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          From wikipedia and their github it sounds like jenkins is mostly used for development/programming. So maybe thats why I never heard about it shrug.

      • ByteOnBikes@slrpnk.net
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        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.

      • MyNameIsRichard@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        Yeah, or a nosql database. The point is to know how to deploy and manage servers manually as well as using the tools to do it.

  • ephemeral404@lemmy.ml
    link
    fedilink
    arrow-up
    21
    ·
    edit-2
    4 months ago

    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.

    • recarsion@discuss.tchncs.de
      link
      fedilink
      arrow-up
      6
      ·
      4 months ago

      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.

      • lynndotpy@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        4 months ago

        This has been my experience as well.

        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.

        • dubyakay@lemmy.ca
          link
          fedilink
          arrow-up
          7
          ·
          4 months ago

          Not sure if you are being sarcastic or not, but PuTTY has been the defacto terminal emulator on windows for the past two decades.

          • ikidd@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            4 months ago

            After you’ve used a normal Linux shell for SSH, using putty feels like trying to paint the Mona Lisa with an EtchaSketch.

  • Quazatron@lemmy.world
    link
    fedilink
    arrow-up
    21
    ·
    4 months ago

    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.

  • lynndotpy@lemmy.ml
    link
    fedilink
    arrow-up
    20
    ·
    edit-2
    4 months ago

    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.

  • Em Adespoton@lemmy.ca
    link
    fedilink
    arrow-up
    17
    ·
    4 months ago

    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.

  • ILikeBoobies@lemmy.ca
    link
    fedilink
    arrow-up
    16
    ·
    4 months ago

    Depends on the job, a lot of places don’t use Linux

    However Linux jobs tend to pay more than the non-Linux equivalent if you can find one

    • erwan@lemmy.ml
      link
      fedilink
      arrow-up
      9
      ·
      4 months ago

      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.

  • Joe@discuss.tchncs.de
    link
    fedilink
    arrow-up
    11
    ·
    4 months ago

    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.

      • Joe@discuss.tchncs.de
        link
        fedilink
        arrow-up
        2
        ·
        4 months ago

        Not much, although it’s not strictly necessary for IPv6. But not much is pure IPv6 yet. Perhaps 2025 is the year of IPv6!

        • PlexSheep@infosec.pub
          link
          fedilink
          arrow-up
          1
          ·
          4 months ago

          Oh damn you’re right ipv6 has something included. Ipv6 is so cool, sad that hardly anyone supports it. Not even I myself on my home server because I couldn’t get routing from ipv6 to my internal ipv4 hosts working.

    • pimeys@lemmy.nauk.io
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      4 months ago

      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.

  • umbrella@lemmy.ml
    link
    fedilink
    arrow-up
    10
    ·
    edit-2
    4 months ago

    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.