
Ask HN: Is your company Linux friendly or not? - mothsonasloth
As a developer who is on the lookout for a new job, one of my criteria for accepting a job offer is, &quot;does your company support&#x2F;allow Linux OS for developing on?&quot;<p>Alas many of the responses say &quot;No&quot; followed by the phrase &quot;We only support Mac, why would you develop on anything else?&quot;<p>I find it strange that in an age of LXCs and Docker containers, we have many companies (big and small) who are not offering Linux PCs to their developers.<p>This is anecdotal on my side, but out of the 10 companies I have interviewed with 9 said they wouldn&#x27;t or couldn&#x27;t provide me with a Linux machine. The other one offered a Windows laptop which I could hack away till my heart&#x27;s content.<p>For me a Macbook is a terrible piece of hardware and software combined; it overheats, has a touchbar, weird keyboard symbols (Alt and Ctrl key in particular), and uses 4GB of RAM just to run OSX.<p>I can&#x27;t choose my desktop environment and have to configure my shell through a series of awkward steps.<p>The retorts from recruiters and devs about why they don&#x27;t support Linux normally fall into one or more responses below:<p>* It makes security easier to have all machines the same<p>* Linux is hard to support<p>* We don&#x27;t want 20 different people running 20 different distros<p>* Company policy, we buy Macbooks in bulk at unit price<p>* Why would you want to use linux?<p>* Our VPN and other tools are licensed only for Mac &#x2F; Windows<p>* Macbooks are cool, why do you want a Laptop&#x2F;PC<p>Most of these seem to be out of laziness, ignorance or corporate bureaucracy.<p>So HN, does your company support development on Linux? If not, why?
======
dyeje
> laziness, ignorance or corporate bureaucracy

I get that you're upset that you can't use the OS of your choice, but this is
not a fair assessment. There are very real, valid operational constraints that
lead companies to restrict what machines can be used.

~~~
diehunde
I can't imagine a constraint that would lead to restrict the use of Linux over
Windows/MacOs unless is bureaucracy or ignorance like OP said. The only
exceptions I can think of is they do development with tools only available for
those systems, in which case I assume OP wouldn't apply in the first place
since he uses Linux, and second having a deal with Microsoft or Apple which is
not really an operational constraint.

~~~
dyeje
The major reason is going to be software support (e.g. MDM, endpoint
protection, etc). Having a deal / set procurement process seems like a pretty
real operational constraint to me. At the end of the day, it's going to cost
them tens of thousands of dollars to support 1 Linux machine. If you were on
the other side of the table, does that seem worth it when most folks are happy
to take the machines you already offer?

~~~
boring_twenties
> tens of thousands of dollars to support 1 Linux machine

I think you're several orders of magnitude off here, but let's assume for the
sake of argument that this is even closer to accurate.

(Last place I worked gave us the choice of having a Linux desktop. I'm pretty
sure the admins only touched my box twice during 5 years: the initial install,
and the upgrade to CentOS 7.)

Searching for another qualified candidate will cost them even more tens of
thousands of dollars, plus an unspecified but surely significant amount of
both wall-clock time and man-hours.

------
oftenwrong
My small company is Linux friendly. My workstation is Linux-based. There are
maybe one or two others here that use Linux as well. The rest are mostly Mac
users. There are some Windows users as well.

I would say this is not uncommon for small companies in my area. The past 3 I
have worked at all took the position that devs could pick their setup, but
would be responsible for making it work. I can use Linux, but it is up to me
to make sure I can do my job with it. There is no internal tech support.

I will say that there is a common mentality that Macs are the default choice
for development. (This is probably not the case if you are in a .NET shop, for
example). At my last job they purchased a Mac for me without asking my
preferences. After I told them I'd prefer Linux, they said I could switch, but
I decided to stick with that Mac for that job, actually... and I liked it! But
not enough to stick with it long term. I also value being able to customise my
system to a degree that is difficult on a Mac.

------
shoo
One potential workaround - don't sign on as a permie employee, instead arrange
to work as a contractor where you bring your own tools instead of using
whatever standard machine the client would otherwise give you. You may be able
to bring your own linux laptop and configure it to work with the client's
systems.

Downsides of this approach: what you are doing is not officially supported by
the client's infra/network/vpn/bureaucracy, so if you run into trouble getting
it to work or it breaks after the client changes something you will not get
any help, so you are just wasting your own time & money or the client's time
and money by going against the grain and doing something the client regards as
unusual and unsupported. In many businesses the client may require that
contractors do not use their own tools and instead use machines supplied by
the client, so this isn't even an option. Also, the whole contractor <->
permie tradeoff (no benefits, no job security, but maybe higher pay -
depending what kind of a labour market you're in).

I have seen highly competent contractors successfully use linux in a huge old
conservative bureaucracy with lots of legacy tech & half-broken network
infrastructure that only officially supports windows & half-heartedly supports
mac. But the starting position would be that you're the kind of person who can
single-handedly triage and fix random network/vpn/authentication issues,
perhaps by writing or patching software as necessary, and that you're happy to
spend your own unbillable time on this.

------
dyingkneepad
Current company: yes, but I also need the stupid IT Windows laptop because the
company is full of Windows-only software, including internal websites that
only work on very old IE (!!). They've been trying for years to migrate away
to Google Chrome, but it's not done yet.

But keep in mind that "yes" as an answer does not mean good things. Keep
reading.

Previous company: also yes, but I was forced to use the development
environment they chose. And that was Eclipse for C++ programming, including an
SVN plugin for Eclipse. When the manager saw I was editing files on Vim he
explicitly asked me to not do it again and stick to Eclipse. I was in shock. I
was also told do not use svn commit from the command line and use the Eclipse
stuff.

A few months inside the company and I figured out why: most of the developers
(except for me and the lead guy) were people with Mechanical or Electrical
Engineering degrees who only took a 6-month course in C programming, some
extra training and then were trying to be programmers (that included the
manager). They mostly had no idea what they were doing: Eclipse was trying
very hard to keep the codebase following a single coding style, but they often
managed to commit wrong stuff. Build artifacts were in every single SVN
repository. One of the most senior employees (7+ years developing C++ for
them) once told me he was "not so sure what g++ did when it converted a signed
integer to unsigned". The salary was great for everyone because the company
had some very juicy government contracts. And we were rewriting the main
system (basically the product of the company) from scratch because the
previous one was too buggy to be maintained (according to them). I was the
person who told them about the existence of Valgrind. Fun times, I can say I
learned a lot :)

Thanks for reading my rant lol.

------
neilsimp1
I work for my state government, so the Enterprise-y Microsoft environment
rules over everything else. I would guess most of the developers in my area
(50+) aren't even very familiar with Linux. Heck, we even run most things on
Windows servers as for whatever reason they are cheaper for us to provision
than Linux servers.

------
jetti
So our devs are given macbook pros by default but we are able to get linux
laptops if we want but that means we are really on our own to figure things
out that don't work. A guy on my team made the switch to linux but then ended
up switching back to a macbook as there were things that just didn't work
right (or he couldn't get to work) that we need in our day to day, though I
don't know exactly what those things were that were causing issues. Our non-
devs have to run windows as the main software we use as a company is windows
desktop client only.

------
giantg2
We pretty much only do Windows. We've only started allowing Mac for some UX or
UI developer people, but it looks like that went well and could expand in the
future. These are all company devices. We have a fairly strict personal device
policy not even allowing any personal device with a LAN port to be on campus.

We don't have any network capable Linux devices for end-users. We have Linux
servers and a couple air gapped devices in experimental labs.

------
kevinherron
Yes, new devs get to choose laptop or desktop (err, at least before quarantine
they did...), and their choice of OS. We're probably 60/40 macOS/Windows.
There might be one developer using Linux as the host, but most of us just use
it in a VM when we need it.

------
sdwolfz
My company was in the process of allowing people to use Linux laptops. I was
one of the people in the "Testing Group" and most issues were solved. If it
was not for some key people on this project leaving the company and the
pandemic we would have had them by now.

------
ktpsns
I can only imagine one useful reason to force a software developer to use a
particular ecosystem: Eat your own dogfoot.

But even there it is helpful to see what other software is around.

I would not accept a job where I am not free to choose my tools.

~~~
mothsonasloth
Did you mean "Eat your own dog food"?

~~~
duxup
I like dogfoot better ... it illustrates that if there's a bug that results in
you eating dogfoot rather than dog food, you'll have some visibility to that.

~~~
ktpsns
Thanks for refurbishing my typo :-)

------
wikibob
At Google essentially everyone develops on a Linux desktop. These are mostly
VM's running in Google Cloud now. There's even an internal distro gLinux based
on Debian.

~~~
147
I've always wondered how this worked at Google. What protocol are they using?

------
detaro
I can pick whatever platform (and, within reason, hardware) I want, and use a
VM or remote access for others if needed

