Ask HN: Is your company Linux friendly or not?
Alas many of the responses say "No" followed by the phrase "We only support Mac, why would you develop on anything else?"
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.
This is anecdotal on my side, but out of the 10 companies I have interviewed with 9 said they wouldn't or couldn't provide me with a Linux machine. The other one offered a Windows laptop which I could hack away till my heart's content.
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.
I can't choose my desktop environment and have to configure my shell through a series of awkward steps.
The retorts from recruiters and devs about why they don't support Linux normally fall into one or more responses below:
* It makes security easier to have all machines the same
* Linux is hard to support
* We don't want 20 different people running 20 different distros
* Company policy, we buy Macbooks in bulk at unit price
* Why would you want to use linux?
* Our VPN and other tools are licensed only for Mac / Windows
* Macbooks are cool, why do you want a Laptop/PC
Most of these seem to be out of laziness, ignorance or corporate bureaucracy.
So HN, does your company support development on Linux? If not, why?
21 comments
[ 3.4 ms ] story [ 67.8 ms ] threadBut 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.
1. Show me a quick, simple, fail proof, so easy even a first greader could do it following a popular web tutorial, UI driven clicky clicky way of enabling full disk encrption in Linux, wether after installing the OS or during, using the TPM so I don't have to type the password twice when starting my workstatin, centranlly managed by the IT team. THERE. IS. NO. SUCH. THING! Mac and Windows have it, LINUX. DOES. NOT.
2. Show me a quick, simple, fail proof, so easy even a first greader could do it following a popular web tutorial, UI driven clicky clicky way of enabling AD management, and network drives, or maybe OKTA (not LDAP, but Microsoft AD as that's what companies actually use) for users on Linux. THERE. IS. NO. SUCH. THING! Mac and Windows have it, LINUX. DOES. NOT.
3. Show me a quick, simple, fail proof, so easy even a first greader could do it following a popular web tutorial, UI driven clicky clicky way of installing Adobe products, in particular Photosop. THERE. IS. NO. SUCH. THING! Mac and Windows have it, LINUX. DOES. NOT. You might say there is https://snapcraft.io/acrordrdc on snap, but the linux comunity hate snaps with a passios and dismiss it's usefulness, plus that package is not managed by Adobe but some random person. And it does not even work well, you have to disable networking before starting it, plus prompts appear wihtout any texts. And this goes beyond company use. How can I pay my taxes in Romaina for example, when the PDF I need to fill in (Declaratia 200) https://static.anaf.ro/static/10/Anaf/Declaratii_R/200.html needs Adobe Acrobat Reader exclusively, and it's a dynamic form with validations that start a prompt telling you what errors you have when completing it, those prompts don't work on linux so I guess I have to buy a Mac or a PC to pay my taxes. What about when I have to implement a design and I get a .psd file from the designer, and can't open it unless I have Photoshop, should I force that designer to use GIMP? Can't you see how absurd it would be to force another person to use the tools I want becuase I can't get the tools I need to work?
4. Show me a quick, simple, fail proof, so easy even a first greader could do it following a popular web tutorial, UI driven clicky clicky way of installing the same antivirus that every other OS supports, regardless of distribution, needed because the security and compiance departments require it, not because it's useful (it's not) due to Legal requirements forced by the government or other audit companies. THERE. IS. NO. SUCH. THING! Mac and Windows have it, LINUX. DOES. NOT.
5. Show me a quick, simple, fail proof, so easy even a first greader could do it following a popular web tutorial, UI driven clicky clicky way of using RDP (remote desktop protocol) to connect from any other OS to linux and from linux to any other OS. THERE. IS. NO. SUCH. THING! Mac and Windows have it, it works well, and it look good, LINUX. DOES. NOT.
These are just some issues of the top of my head! I'm sure there are may more that I have not encountered them yet. These are why I've been refued Linux at every company I've worked so far.
AND. THE. LINUX. COMUNITY. DOES. NOTHING. ABSOLUTELY!!! NOTHING!!! ABOUT. THIS.
OK, rant over, do what you want with this information, I am tired of repeating it over and over. (now that I blew off some steam I feel better).
6. Which is THE. LINUX! LAPTOP!? not just some random windows machine with linux installed, but THE one, with the proper Linux hardware and software support, backed by a company that you can sue in case they give you something bad, and from which you can buy corporate support. THERE. IS. NO. SUCH. THING! Mac and Windows have it, LINUX. DOES. NOT.
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.
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.
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.
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.
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.
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.