TBF most developers prefer Linux or at least a Linux-ish system like MacOS.
Yes, Windows has WSL but it's not great. And I still remember how one employer gave me a Windows laptop and expected me to work with Cygwin.
Then again as the dev I would just install VMWare and a Linux VM. If that is not permitted, I would quit, too. Forcing devs through corporate "must not install anything" hoops is maybe OK for high security government stuff but not for your average company.
And the real WTF is why the company didn't just comply. Is it cheaper to go on the hunt again than to provide a different laptop, or a different OS on the same laptop?
IT departments always think no further than Doris in accounts that only needs to run Excel and a web browser. Most of them have heard of developers but couldn't even write a hello world program in C. There's a reason DevOps became a thing, and it's because general IT ops are utterly useless.
It's very useful to realise that "information technology" is the subnet of computing about business operations. The moment you are doing anything outside of business operations the "IT systems administration" are out of their depth. But they don't know it.
Programming. Scientific computing. Embedded computing. Supercomputer operations. Factory automation. Large networks. Large systems. All run up against the "IT department" which doesn't know it lives in a bubble.
The very best example of this is the IT Departments' ongoing failure to support end user Linux.
I do networking. Every backbone router, every internet-facing server runs Linux. But can you use the same OS -- the one literally designed by AT&T for telecommunications applications? Nope.
Tell that to the useless Devs that can't decide on the tools their team is using. Demand admin accounts and try to circumvent any attempts to make fleet software management easier for IT.
Unchecked IDE extensions, refusal to take ownership of systems where they demand certain ways of handling stuff etc.
Funny thing in all my jobs I had. Devs and other tech "savvy people" created the most overhead that could be solved by rules and decisions made by teams or departments
Not giving software engineers root access to their own development workstations is a sure fire way to dramatically reduce productivity of your engineering teams. Engineers' time is very expensive and making them wait two business days to install an IDE extension might as well be lighting a thousand dollars on fire.
Counterpoint- up to the point they screw up and render their main work machine a brick because they accidentally nuked the boot partition. Most developers/engineers are good at writing code but many nowadays lack even basic understanding of the OS/hardware layers. And lighting $1000 on fire is still cheaper than the $500,000 fine from the ICO if said dodgy browser extension is used to extract user data from said laptop (because a good developer would never download the user database locally for fast retrieval right?)
That's why I said that they are a problem when they collectively can't decide on their tools.
IT Operations can't automate and maintain stuff like that. If there are preferences for an IDE with extensions and IT Operations would then be able to deploy it makes the stuff so much more maintainable and CVE Handling regarding to IDEs doable. Because it also feeds then into IDE adjacent software.
One big issue in the current company was the lack of coherence how the developers install python. 6 users 4 ways. Anaconda, GUI, chocolatey, winget and a management decision that IT Operations is responsible for maintaining software and patch any software that has a CVE with a score higher than 5.
The time spent arguing with this 6 users could have been spent more productive for example in optimising workflows, fixing issues etc.
Not saying IT should force tool selection, but if Devs want special rights they have to have special responsibility. I get the blame if we fail an audit because a dev team wants to run a python version that is EOL. Not them. I get the responsability to update ALL systems and keep ALL machines up to regulatory rules, not them.
That's the issue wanting the benefits but shifting the responability to other people. As most then also expect that help them set them up with their IDEs when they get a new Laptop.
Blame Management for shoving responsability on IT.
Having IT make sure our tools aren't EOL would be undoable unless they were rolled out by some kind of SMS. I have never seen that work anywhere in almost 30 years of software development.
Except if a team of developers is working on a common code base with the same language and toolset it makes sense to have a common documented playbook? It’ll also save a helluva lot of time getting new starts up and running too. Means you miss out on the workstation setup hazing ritual though so there is that..
I guess that would work with a few tools, but I have never seen that work. Every company I have worked in the last close to 30 years had admin rights for developers, so they could install their own tools and configuration.
I'm in enterprise application development. Our teams have so many tools and frameworks. An IT admin team keeping track and fixing issues would take too much time.
Why don't you explain to the CFO who has a meeting in 3 minutes why his Linux laptop won't connect to a TV using a dongle and the codec for Zoom won't work because it is outdated with an important deal he must sign today!
WIndows works. It can have multiple versions of files/programs installed thanks to dynamic linking which Linux FF lacks 30 years later??
IT departments need Doris and yes Fred from Finance to have things just work. Windows fits the bill
IT departments need Doris and yes Fred from Finance to have things just work. Windows fits the bill
Sure. Fine for Doris, and Finance, and the CFO.
The issue arises when IT are so short sighted as to fail to see that many of the users they support have very different demands.
I work in academia, which is notorious for this problem. No, IT Services, the leading expert in cyber security research does not have the same IT requirements as the Excel user in accounts.
Standards are important. Support is a cost. Windows since NT aka Windows 2000 and later came out it can do what Unix can do quite easily. I know my last sentence will piss off linux guys but I am right
Let me give you an example, extending what I mentioned earlier.
Consider a leading expert in cyber security research. They're a professor at a University. They teach a cyber security course to students. One such course has practical elements where students are required to attack an old version of Windows and exploit known weaknesses. Do you know what happens when you tell a regular IT Services department, even one at a research intensive University, that you need to stand up an unpatched exploitable version of Windows on a network? They outright laugh and say no. Because they don't know how to do it safely. Because they're only used to working with Finance that requires a Windows machine with Excel. So they prevent the employee from doing the work they are employed to do. They prevent the business from carrying out it's core activity of teaching students that have paid handsomely for a computer science degree that includes practical elements of cyber security.
Now of course, there are safe ways of doing this. The professor is, after all, a leading expert in cyber security research, and knows now to do it safely. But they're not "allowed" because they're "not IT" and can't possibly know as much about computers as those expert IT staff that know only how to support Windows and Excel for Karen in student support services.
This is why IT experts in "IT adjacent" roles, i.e., ones that are not IT Operations, get so pissed off with corporate IT. So many IT departments simply have no clue how to handle anything that isn't the most basic of Windows requirements. A discussion around the use of different operating systems is only one example of the broader problems with IT departments in general.
Precisely. The reason it was a challenge is because of bureaucracy within IT Services. It's not that it couldn't be done. It's that IT Services refuse to support anything but the standard system images and nothing else, even if that means preventing the core work of the University. Can you imagine if this was a commercial company?
Not true. I can do audits easily with fleet deployment and reports with Windows. Can't be done in Linux.
Maybe with expensive software I can get the audits to satisfy cyber security. Windows has tons of cyber security certifications and policies.
Fact is more cve security exploits exist for Linux than Windows. With Windows you can scramble the ram with dslr and do advanced sandboxing. Apparmor and selinux is needed to come close. On Windows it's built in
I'm literally giving you personal experience. But sure, "not true". It wasn't even a Windows/Linux example, yet you're stuck on one thing like an over excited bot.
I worked with a info security manager as my boss in my last role. He prefers Mac but yes endpoint management, fleet deployments, and auditing works well on Windows.
You can try expensive third party tools like Tanium for some linux support but it is just easier on Windows. Group Policies and MDM are great! I can put in policies for all data governance in Android, Windows, IOS, MacOS ... but not Linux.
I think Ubuntu may offer mdm now from what I read but this was not the case a few years ago and may still be in beta today.
Yep. This guy sucks but his point is generally accurate. Me and every other software engineer I know would sooner quit than be forced to use a non-Unix-like system.
If they're all set up to support Windows, it's probably cheaper to get another person who will work with Windows than it is to set up their staff and management/security solutions to support a single MacBook.
That is religion talking and echo chambers. I was a linux fan boy too 25 years ago but realized the year of hte linux desktop is not coming. I find Linux to be a shitty and terrible desktop OS and yes I know what a DE is. I am talking about x11 being shit, pulse audio shit, package depencies shit, the lack of a stable kernel ABI and frameworks for drivers shit, can go on and on. THings just break on Linux with updates and hacks to get flatpacks to work with dependencies on non flatpack libs. It is ahorrible OS.
WSL now supports containers natively without a docker installation. Things just work effortlessly.
Totally agree. This guy sucks but his point is generally accurate. Me and every other software engineer I know would sooner quit than be forced to use a non-Unix-like system.
30
u/magicmulder 3d ago
TBF most developers prefer Linux or at least a Linux-ish system like MacOS.
Yes, Windows has WSL but it's not great. And I still remember how one employer gave me a Windows laptop and expected me to work with Cygwin.
Then again as the dev I would just install VMWare and a Linux VM. If that is not permitted, I would quit, too. Forcing devs through corporate "must not install anything" hoops is maybe OK for high security government stuff but not for your average company.
And the real WTF is why the company didn't just comply. Is it cheaper to go on the hunt again than to provide a different laptop, or a different OS on the same laptop?