Is primary OS a dealbreaker for you (when taking a new job)?
I've primarily used Macs as a data engineer, but recently switched to Windows since that is what the rest of my team uses at my current job. The company I work for does support macs, but it is a small percentage of engineers.
I know this is a very nuanced conversation. In an ideal world, you should be able to choose which ever OS works best for you.
That said, I've typically taken the approach of "use whichever OS the rest of the team is using" since it isn't worth the battle of rewriting all the team-specific setup scripts for your given tech stack and development OS.
I wouldn't say Windows has been a "terrible" experience thanks to WSL2, but it has prevented me from using my standard suite of tools (clipboard manager, note taking app, etc.) that I am used to using.
I'll likely prioritize macOS over Windows going forward in my career due to my most recent experience but wouldn't go as far as calling it a dealbreaker.
I should probably reiterate: my goal of this post is to discuss "is primary OS a deal breaker for you" and not "which OS is the best."
91 comments
[ 6.4 ms ] story [ 146 ms ] threadLanguages/OSs are just implementation details to me, I don't get why software engineers (especially junior ones) are so obsessed with them
To me algorithms/systems in the abstract sense are the actual interesting part of the job
But they aren't. Most languages have specific behaviours and performance hits in different systems, and sometimes undefined behaviour may be fine in one environment and catastrophic on another. Even interpreted languages suffer from this.
At this point you could give me a FreeDOS machine and I'd be like "Well this initially looks super inconvenient, but I realize you won't be able to VOIP call me through the device, and it looks like I can get enough stuff installed to SSH to our dev environment. We're good."
I felt the same way about my Windows laptop:
It looks like I can get enough stuff installed to boot up Arch Linux.
You choose industries as a matter of preference, too.
Is it correct or incorrect to work in healthcare?
Those are all more important to me as well. But I am so privileged that I get to choose jobs with tooling that aligns philosophically with me.
Typed programming, colleagues who really care about precise domain modelling, a high degree of automation, pervasively embedded in both the development environment and the production environment, both being Unices.
A part of that includes picking a non-laggy operating system that doesn’t feed me ads and NASDAQ prices in my toolbar, dark patterns to coerce me into using their inferior alternatives, and a feeling that I’m a guest in my own system.
As a consequence, I am happier and more productive.
I realise many may feel exactly like this with a Microsoft stack. The subjectivity here is what makes it a preference.
It is 2023, every company should be able to handle mac/windows/linux. C'mon now!
Currently, I work for a firm that's eyeballs deep in the Windows/Microsoft ecosystem which means I have a company laptop running Windows. I can get the job done and get a pay packet every two weeks.
So I brought my own laptop, had it re-imaged and I became the most productive employee not only in the local team but also the global team in terms of support tickets and resolution of issues. I could do tasks so much more efficiently - for me - on a Mac than in Windows.
12 months later the policy changed and support engineers could choose.
I guess the difference is I have enough experience to know that using a certain device, my productivity will be much higher than struggling in with a non optimal operating system.
Tenure also plays a part. When you're starting out as an intern or a junior associate, "you get what you get and you don't get upset" and have to make do with whatever the standard is. As a staff engineer, you can throw your weight around a bit more. :)
I would never accept working on Windows.
It's like working with my hands tied behind my back.
I should have insisted on Linux instead. 3 years in, and I still cannot stand macos.
For office tools and videoconference: primary OS is a hygiene factor
For software/hardware development: primary OS is not a factor (VMs feature heavily)
I prefer the latter by rather a lot.
> I prefer the latter by rather a lot.
Good for you. I'll keep looking for a good way to set up a work vpn in Linux.
And it's not the only non-easily fixed issue I've had with Linux over the years. The classic saying is "Linux is only free if you don't value your time" and I've found that to be true.
When I asked about what tools they use they said "We do our work on <a JetBrains IDE> using Windows, but we deploy to Linux. I asked if it would be okay if I used Linux, they said we all us Windows unless there is a compelling reason.
I thought to myself, hmm you deploy to Linux, but you don't want anyone using it for development... but I didn't really press any further or make much of it at that point in the interview.
But never did get an job offer from them. Worked out for all parties involved I suppose.
But at this point, I'd ask what tools they use and if they enforce any tools or things like that during the interview, as part of my standard set of questions.
It is, however, a significant item in the "minus" column when I'm evaluating whether or not I'll accept a position.
I work somewhere with thin clients which log in to one OS, which is an OS I do not develop for. I end up remoting in from that OS to another one. It’s a bit clumsy. On some occasions I’ve been unable to do a thing easily and my manager has been receptive to “I can’t do this thing so I will either have to not do it or find a slower and clumsier way”. It doesn’t always get fixed, but I feel it’s understood.
My employer pays me so while I’m on the clock in the office I will use the OS and software they tell me to (not) use. It’s on them if my productivity is reduced because of informed decisions they make. I get paid whether or not I have to open a ticket and wait because I’m blocked on IT.
Ultimately, my direct line of management is much more important than any OS decision because good management will listen and understand the effects their decisions have and they won’t blame me for the effects of their decisions.
If my managers instruct me to develop containerised Java 6 SOAP microservices to run on Windows Kubernetes clusters in IBM cloud while using a Hannah Montana Linux dev environment over VNC from a SunOS workstation with an AZERTY keyboard and the monitor rotated 180 degrees then I will do it on company time. I’ll tell them what I think of it, though.
This feels like peak “I just work here”.
I feel this is often missing in how people talk about their job these days.
You also don't have to work there, really, if it gets to that.
And I never was afraid to push for it =)
I used to work in a big old insurance enterprise (with AS/400 mainframes as a backend) and when I joined 100% of engineers were given locked in Windows machines without admin access. Over time me and other engineers were able to influence the company to first give us ability to run linux on desktops and then even expanded to buying Macbooks to developers who wanted.
It would be annoying to unlearn the macos keystrokes at this point though
It would be dealbreaker if I cannot have this; theoretically this could run on win/Mac/lin exactly the same, but it does not, so yes, dealbreaker.
This seems like a case where clear communication in both directions is desirable. You as a hiring manager should disclose if a particular OS is required, so the applicant can tell you if that's acceptable or not.
(Maybe you personally do this -- I'm really using a generic "you" in this comment.)
In any case, this is all pretty academic. When I've been applying for positions, a tour of the office is always involved when interviews happen, and I can see for myself what OS the devs are using (as well as other working conditions).
That's how I knew my current position would require me to use Windows, and I was able to take that into account when deciding whether or not to take the job.
If working the job requires a specific OS you should mention it right upfront in the interview, or better yet the job description. Why is it the candidates job to telepathically guess at what hard requirements might exist? You have a requirement, state it.