Is primary OS a dealbreaker for you (when taking a new job)?
25 points| matthewpick | 2 years ago
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."
hondo77|2 years ago
Be the change you want to see in the world, and all that.
sigwinch28|2 years ago
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.
sneak|2 years ago
This feels like peak “I just work here”.
afjeafaj848|2 years ago
Languages/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
aforwardslash|2 years ago
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.
deadfece|2 years ago
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."
codegeek|2 years ago
ldarby|2 years ago
theonething|2 years ago
emmjay_|2 years ago
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. :)
bytesnbobz|2 years ago
It is 2023, every company should be able to handle mac/windows/linux. C'mon now!
OJFord|2 years ago
I also think non-git would be, it's just too ingrained. Maybe one of the few more recent interesting looking potential successors (I just can't remember names, sorry) posted here every so often, but not mercurial or whatever.
Version control's in a special place in that you have to use the same as each other, but like OS I think being particularly prescriptive about anything would massively put me off. I want both to use vim as I have since university today, but also the freedom to decide actually I want to switch to VSCode or Helix or whatever - not have to use Jetbrains because that's what we do here, nor have to get special dispensation for my choice and then be (or feel that I am) tied to it.
I'm sure some answers are going to be 'they're just tools, who cares' but IMO yes exactly, they're my tools that I'm using to do a job for you, you care about the output, why do you care about the tools.
(Macs muddy the water a bit by tying provided hardware somewhat to the OS. You can't give everyone ThinkPads and also be fine with people using MacOS, you've inherently said it's either Windows or Linux. I don't know what the state of native Windows on Arm Macs is, but I don't think Asahi Linux is ready for daily driving on work machines yet (i.e. where you don't want to be saying 'err well I did something a little different to my laptop and err I have a bit of a driver problem' when you can't make any progress on something.).)
codegeek|2 years ago
JohnFen|2 years ago
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.)
swatcoder|2 years ago
It's inevitavle, universal, and often doesn't even have much to do with the theoretical or consensus quality of tools themselves. Your mechanic, nurse, and landscaper all experience this.
But you know, sometimes there's a cool job that involves using somebody else's tools. Unless you're a really hardcore specialist charging huge sums for your specific efficiency, it's usually worth considering those jobs even if it feels clunky at first. If you commit to getting acquainted with the new shop's tools, you'll find that they largely disappear and become just as seamless as the ones you're accustomed to.
sshine|2 years ago
I'll use Vim, Emacs and VSCode every week, whichever is at hand. I'll even use nano if I have to.
I'll switch between Qwerty, Dvorak and Pinyin, no flinching. Azerty? I can adapt.
Windows, however? No thanks.
alexfromapex|2 years ago
unknown|2 years ago
[deleted]
lylejantzi3rd|2 years ago
MrDrMcCoy|2 years ago
I prefer the latter by rather a lot.
Barrin92|2 years ago
But for me for years the OS has not made a difference, just different UIs at this point. As for tooling, I've deliberately avoided anything that's not cross platform for that reason for many years. Obsidian is markdown based and works anywhere, so does Emacs. It's a big reason not to buy into the Apple ecosystem in my opinion because it exactly leads to the lock in you're struggling with.
000ooo000|2 years ago
dancocos|2 years ago
id00|2 years ago
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.
dallas|2 years ago
For office tools and videoconference: primary OS is a hygiene factor
For software/hardware development: primary OS is not a factor (VMs feature heavily)
devaiops9001|2 years ago
Anyone, regardless of role or organizational rank, can modify their system with a pull request. Once an appropriate combination of cryptographic signatures (depending on what is changed) is reached the new infra-as-code is pushed/pulled and so long as the cryptographic signatures match a GitOps process on the Qubes machine the changes happen.
We internally "support" Windows apps such as the desktop app MS Excel (not the web/O365 thing) in Qubes or KVM and everyone seems to be happy with what we have.
__MatrixMan__|2 years ago
But once I start asking about the product and the dev workflow and start learning about why it's going to be difficult to deviate from the norm... those are questions that are likely to shine a light on practices that I'd rather avoid.
rjst01|2 years ago
I've recently switched from daily-driving a mac to daily driving Linux on a Thinkpad, because for my startup I'm working on some Rust code that ends up being too much of a hassle to cross-compile, and the story for using GUI Linux in a VM on [edit: ARM64] macOS is not quite there yet. After 3 months I'm a lot more proficient than when I started, but I still feel so much less productive than I would be on a mac that I'm working on adding better abstractions to be able to mock out the stuff that doesn't build on macOS easily.
frfl|2 years ago
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.
ldarby|2 years ago
JohnFen|2 years ago
It is, however, a significant item in the "minus" column when I'm evaluating whether or not I'll accept a position.
creer|2 years ago
I never got any push-back on OS-dependent pricing. More hours for the same result, AND more expensive per hour or day but sometimes someone just needs to do it.
biglyburrito|2 years ago
Supporting multiple OSes means extra complexity & work for MIS, IT, and DevOps departments. Also, there are sometimes issues that crop up due to OS-specific work (e.g. newline characters) or tools that are only supported on certain OSes. So I understand why some companies are more prescriptive about which OSes they are allowed to use.
flax|2 years ago
I should have insisted on Linux instead. 3 years in, and I still cannot stand macos.
mrkstu|2 years ago
And then I have a MacBook Pro M1 Max on the other side of the widescreen to jump to when I need to do something productively...
gaganyaan|2 years ago
I've recently had to touch the MS ecosystem because of PowerBI and my god what an absolute clusterfuck. I have no idea how people get useful work done with these tools.
drewcoo|2 years ago
Mandatory Windows is highly indicative of push-button GUI-centric IT, separate from development and managing everything.
If that's the case, see if you're allowed to install anything you want, whenever you like. Quite possibly things are locked down and dev-frustrating.
If you take the job, be sure to find out if they automatically install updates and reboot your machine at night . . . that can hurt if it's not expected.
And maybe find out how much they spy on your activity (without asking directly because that will draw scrutiny).
radicaldreamer|2 years ago
kyriakos|2 years ago
billybuckwheat|2 years ago
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.
cassianoleal|2 years ago
I don't need to think in order to interact with it and the tools I have installed on it. Anything different and it gets in the way. A little is fine but each annoyance compounds on the others.
If the client requires me to use their machines, my preference would be Mac first, Linux second. Windows kills my productivity, my mood and my will to work.
bradknowles|2 years ago
I'm fine supporting it myself, if I have to. Been doing that on my personal machines since the G3 Pismo over 20 years ago.
And if I have to buy it myself, I'm fine with that, too.
But if macOS and a MacBook Pro aren't an option, then that's it for me.
anonzzzies|2 years ago
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.
peterhi|2 years ago
It would be annoying to unlearn the macos keystrokes at this point though
altintx|2 years ago
Cockbrand|2 years ago
But I’d certainly think twice about starting at a company running on MS365, as I’m well spoiled by using Workspace for almost a decade now.
cramjabsyn|2 years ago
huijzer|2 years ago
RamblingCTO|2 years ago
theragra|2 years ago
JohnFen|2 years ago
RobertWHurst|2 years ago
amerkhalid|2 years ago
burnte|2 years ago
Gud|2 years ago
Although my preference goes like this: FreeBSD > OpenBSD > MacOS > GNU/Linux > Windows, if my employer wants me to drive in reverse to reach my destination, I will do it.
starside|2 years ago
sshine|2 years ago
I would never accept working on Windows.
It's like working with my hands tied behind my back.
unknown|2 years ago
[deleted]
Xiol32|2 years ago
I would begrudgingly accept a Mac, but my preference is Linux.
oladipomd|2 years ago
ravenstine|2 years ago
aforwardslash|2 years ago
Many companies seem to push mac laptops for dev, but their prod systems where your code will run, run on amd64; this actually tells a lot about a company, engineering-wise, if your job isnt developing with interpreted languages.
pjmlp|2 years ago
antihero|2 years ago
stop50|2 years ago
unknown|2 years ago
[deleted]
TheNightman|2 years ago
[deleted]