• Pipoca@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    In software, it seems incredibly common for companies to give developers MacBooks and then have their software deployed on a linux VM in AWS.

    It’s just one of the lower friction corporate options for software companies. The last time I used an institutionally managed linux computer was college.

    There’s definitely tech jobs where you need to know linux. But there’s also a ton of jobs where you don’t have to know much of anything about it beyond common unix stuff, and where OS X specific knowledge is more useful.

    • jelloeater - Ops Mgr@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      When time is money, businesses give 0 shits about your Arch install, to be blunt, OSX and Apple are there to do work… Thay being said, I loves me some Unix Porn 😅 Sorry for the spicy reply. ❤️

      • Pipoca@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Companies generally want something they control, so they can lock your computer and wipe it remotely when they lay you off.

        They care about your arch install because they don’t want it any more than your OS X install. Their arch install would be fine, but their JAMF controlled OS X install is probably much cheaper for them to manage, practically speaking.

    • kautau@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Because Linux is really good at being a server, and macOS is really good at being a development OS, despite the hate it’s getting in this thread

      • Pipoca@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        I honestly think it has very little to do with the OS itself.

        I think it’s more about practicalities and inertia - ordering laptops with the OS preinstalled, administering them, corporate VPN software, etc.

        Both are great development OSs, but OS X is a better corporate OS.

        • Avid Amoeba@lemmy.ca
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          +1 for the corporate part. That said I’ve been at two large corpos where Ubuntu LTS was an official, blessed, IT-managed workstation OS option. In fact some development projects have it as the default OS, because some software simply doesn’t build on non-Linux OSes and requires Linux VMs on Windows or macOS. For example AOSP.

      • Avid Amoeba@lemmy.ca
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Disagree on macOS being a really good development OS. It may be so for iOS/macOS development but for many other use cases, package managed Linux OSes are superior. Case in point, macOS has no built-in package manager that can manipulate what toolchains, runtimes and libraries are installed on the system and available for software development. You have to resort to Homebrew or Macports, both of which are inferior options than say apt in Debian-based Linux OSes. And then there’s the fact that macOS doesn’t support Linux containers without virtualization. Given how useful and how widely used containerization is for software development, it really puts the nails in macOS as a great development OS. Yes you can use containerization but at the expense of significant resource overhead. That’s not great at all. I had a 6-container stack to run for development on a MacBook Pro a few years back. It was nearly unusable on that hardware due the RAM overhead and slow macOS<->container IO. The same stack was flying on equivalent hardware running Ubuntu LTS. Beyond that, you can distribute whole consistent development environments fairly easily using Linux OSes and trivially using containers. Having used Windows, Linux and macOS for professional software development, I think macOS is easier to live with for companies without IT departments, but not necessarily as easy to live with for developers. That said people who are used to work with it might find that easier than learning something else even if that something is easier in absolute terms. Which is fine.

        • kautau@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Sure, but Linux doesn’t champion good package management. You either resort to the package system of the distro you installed, or slowly switch to flatpak/snap, and then likely the package manager of the language you are developing in. It’s no different to using brew on macOS.

          I would argue basing your entire OS on the package managers makes dev add more friction, not less. Perhaps the only Linux example trying to escape that is nixos, which is nice when you get the hang of it, but it’s a little restrictive. For straight Linux development of course Linux will be the best choice. For straight macOS development of course macOS will be the best choice. For straight windows development of course windows will be the best choice. Distributing docker containers is mostly OS agnostic now, and though you mentioned it, the performance payoff for virtualization on apple M hardware is minuscule.

          Most IT departments at big software companies will opt for macOS for their software devs nowadays, unless they explicitly request Linux. That’s not exclusive, bigger tech companies will let you choose because they have the bandwidth to support multiple OS’s, but they do that because supporting one *nix based OS is much easier than supporting every Linux based distro, with a different package system.

          I’ve used arch. The community repo is amazing, but flawed in its own way. I’ve used Ubuntu, figuring out the PPA system sucks. I’ve used Fedora/Redhat, trying to get deb packages to work when they aren’t in the rpm library is a ride. I’ve used SUSE, Yast is great, and again become frustrating when the package you need isn’t there.

          There are far more variables working with Linux distros, and usually those variables, when you’re just trying to write code, make things more difficult, not easier

          At the end of the day it sounds like we’re tackling very different versions of the dev world anyway. You are trying to emulate Linux servers on apple hardware. I’m writing native apps for iOS and Android that use web views to render our components. Of course macOS wouldn’t be the best for Linux container infrastructure work, but that’s a small subset of the dev work that exists, just as my work is a small subset, however I’d still argue that on a larger scale, macOS is a better dev OS.

    • Avid Amoeba@lemmy.ca
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      1 year ago

      their software deployed on a linux VM in AWS.

      Precisely one niche where mastering the Linux OS provides bread.