I thought that way before my current job. I learned the error of my ways. In companies like mine, you'll get a Linux account on a server, and will not have root privileges. So you're quite limited on the SW you can easily install (try installing Emacs with all its dependencies from source).
Since then, whenever I shifted teams, I'd pick ones where I don't have to use Linux. At least I can customize my Windows laptop easily, and Emacs works just fine on it.
My windows laptop is "managed" in terms of forced IT updates, etc. But I can install whatever I want and have Admin privileges. They do scan the SW and if they see obvious problems (installed a SW that is not free for commercial use), I'll get an email about (show proof that the team purchased a license).
I can't make deep changes (e.g. reinstall the OS), and would likely get in trouble for disabling the antivirus, but there hasn't been anything I wanted to do on it that I couldn't.
This really bothers me when I see it. I've had coworkers who used Linux. Like you say, IT mostly left them alone. They had root and were free to install anything. That seems like a huge security hole. Keeping Linux, especially desktop Linux, patched is non-trivial, and I wouldn't leave that up to the average web developer.
Even if you're allowed to use Linux, you still end up getting a Mac to support your coworkers. I suppose I can be grateful that Docker Desktop is slowly fading away. Sadly Homebrew is too essential to die and the ${g} prefix remains for random commands.
> I suppose I can be grateful that Docker Desktop is slowly fading away.
May I ask why you're grateful? I'm pretty inexperienced with Docker/Kubernetes/containers in general. So there's probably a good reason I'm unaware of.
Docker Desktop was nice for me to run the one or two basic things I needed. I've moved away due to the licensing changes, but I'd like to understand why it was a problem.
MacOS Docker had performance problems and odd limitations because it was really a Linux VM under the hood (Darwin can't run containers) and any host passthru stuff needed that additional hypervisor translation, which wasn't always perfect either.
People raising bugs against "production" wouldn't tell you that they found it their Macbook so you'd go on a wild goose chase thinking it was a real issue and not simply MacOS sucking.
Alternately, you'd write a script to do something (flash hardware, etc) and it wouldn't work because Certified Real UNIX(tm) doesn't have /proc or /sys. Now you're asked to port the script to Mac, which depending on the task might be wildly more difficult, but if you don't willingly bash your head against Apple's hatred for low level hacking, you're not a team player or something.
My favorite question as an interviewer is "What's your favorite OS of all time and why?"; the what is almost irrelevant and there are no right or wrong answers, but the whys are always useful/interesting (my favorite is probably a guy who raved about AIX's apparently amazing backup functionality).
I raise you a "I like SuSE Linux because it's free". To this day I don't know what to make of this answer. But that was only one of many answers that led to us not continuing with that candidate.
That day I changed my stance "there are no wrong answers", but I've also asked this in the past and it can yield some good conversation material.
This is probably just a personal thing, but that just defines which areas of our industry I probably don't want to work in. And WSL isn't helpful, because the goal for me isn't "run Linux", but "don't run Windows"; WSL won't save you from MS forcing updates down your throat, changing your browser to edge, spying on you, and sticking ads all over the system.
> WSL won't save you from MS forcing updates down your throat
There was only one corporate laptop running windows 10 I've encountered during the pandemic that does not use policy to disable automatic updates and that is Microsoft. In my experience, everyone who pays for Windows Enterprise blocks automatic updates.
I think Windows Home still can't into Hyper-V and therefore you have to go through hoops to install WSL 2 and docker, right?
Windows Home doesn't haven proper access to Hyper-V, but installing WSL 2 is relatively easy (and documented); Microsoft made special provisions for that. You can't use Docker to run Windows containers, but Linux containers (using WSL 2) seems to work fine.
One of my former coworkers who's an absolutely huge Apple guy recently left for another job. When I asked him whether he could use a Mac he told me he didn't know and hadn't asked ... he must've really wanted that job. Or really hated his old one.
I'd take a job that let me use Linux, but I too am a Mac guy at heart. I had a short stint on Windows not long ago and hated it. Where I work now they'll give developers Macs by default, though getting blanket approval for data scientists has been an uphill battle, stupidly enough.
Wsl 1/2 are quite painful, but the issue is also windows, you might get a wsl3 that is good and it would still be surrounded by windows, i would still tolerate windows but Microsoft isn't offering windows to you as a product that gets out of the way, doesn't touch defaults, doesn't show you ads on the desktop etc, it's using a software to push on you other stuff, so nein
So there are many companies and many projects and i don't work with any Microsoft technology, for me it makes sense to just dodge any company that doesn't allow me any kind of Linux on daily driver, it's just that for me it makes sense, it's not a huge effort, it's not a huge sacrifice, it would be a sacrifice accepting a job with windows/mac when there are many more on linux
I also run windows 10 and have never seen a single ad, anywhere in it. Definitely worth noting that this is on a homebuilt computer, and I paid for a windows 10 pro license. Definitely seen ads on my wife's store-bought windows 10 home laptop.
Tell me you don't use Linux without telling me you don't use linux
Wsl is pretty terrible in my experience. your better off using a vm you manage yourself. Every vendor has shared folders. Each one can use a x server to display programs in your windows window manager.
Oh please. Tell me you are a Linux zealot without telling me you are a Linux zealot. Its a tool in the toolbox. I use Linux everyday on servers at work, two desktops at home, and servers for my partners businesses.
My main personal notebook is a windows device w/WSL and my main work notebook is a MacOS device, because at the end of the day, I need my computer's to just work, painlessly.
WSL is great for alot of Linux userspace stuff and is a fantastic CLI for interacting with and managing remote servers, alongside the ease of Windows. Of course it's not as performance, and had some edges, but I happily accept the trade-offs due to great driver support and the flexibility to run almost any software on one device.
"better"? Every tool has pros and cons and tradeoffs. I run Linux, Windows, and MacOS. Each one has it's pros and cons. Each is the "better" tool depending on the need.
The same goes for programming languages and engineering problems. I train my team to identify multiple possible solutions to a problem then identify pros and cons and then pick the solution that optimizes for the most important goal. There is rarely a "right" solution.
There is rarely a right solution but there are always wrong ones. Searching for pareto optimal contours is great but implies the existence of pareto pessimal contours where N poor solutions combine to make something maximally rubbish.
Software dev is not in a design space where all things are broadly equivalent with small pros and cons to choose between. It's more a discontinuous surface with orders of magnitude of cost/benefit changes as one meanders over a given cliff.
File system performance sucks. No fuse support. No direct hardware access. I've experienced stability issues with it. Don't get me started on the networking or custom init put in by Microsoft. Systemctl calls don't work.
It is most definitely not just like regular Linux.
I actually used it pretty extensively for years before I figured out it was causing more friction than it was worth. It's convenient, I'll give you that, but again, it's objectively worse than the other tools available. You should try them.
There's a couple ways you can do this. The latest revision of WSL lets you run Linux gui apps that appear in a x server window, and you can pin them to the taskbar/start menu. That is definitely using a built in x server.
Opening vscode in windows and opening the Linux vm's file through the "filesystem"(it's a network share) is unstable. You really have to open vscode in Linux, or run it in windows and ssh into the virtual machine for it to work well.
When I was on Windows I did try WSL, but I had problems with the corporate VPN/proxy. IIRC I essentially had no network connectivity from the WSL side.
Edit: Thinking about it some more, I believe I was able to get WSL1 to work but not WSL2, unfortunately.
I was hired to create a software department in a well-funded , but "old" hardware-oriented company with ~100 employees. In retrospect it's "funny" how much time I spent trying to get the company to accept that developers should be able to use e.g. Linux/Mac, rather than Windows. It tooks several weeks of actual time spent. Insane.
I got there eventually. It's one of those things you don't expect, having worked with smart and flexible software people your entire previous work life. These hardware people were smart, but also incredibly "square", for the lack of a better term. Everything was so insanely rigid.
So much more to tell, but in general: be aware that hardware company culture is very, very different. I don't think it's possible to change the culture unless you change the CEO.
There are a lot of companies that are absolutely Windows only shops. There are also lots of tech companies where everyone gets a Macbook and that's what you use, although I suppose you could use Linux if you're able to hack up the dev enviroent to work yourself.
Am I able to use Linux?
This tells you a lot about the company. I avoided some Windows-only jobs in the past :)