Whenever I get a response to a job application (e.g. being asked into an interview), I ask whether developers (I'm a software developer) are permitted to choose their own operating system. A lot of the people who I've asked seem to think this is a strange question, and either don't have an answer or seem put off by it.

For me, I'm just not interested in working somewhere that will require me to use an operating system that I'm not comfortable with. I understand that there is a big benefit to having teams using the same software to ease collaboration, which is why I don't have a problem with being rejected based on my refusal to work with a non-Linux operating system.

For me, I'd rather have a job where I can work with the tools I prefer (like Linux) rather than take a higher-paying job where I'm required to use different tools.

That's a personal decision and I'm quite comfortable with it. I don't mind sacrificing money for comfort. The question is, though, how do I communicate that to potential employers? I'm not trying to get them to make exceptions, I just want to make sure they're going to be ok with my choice before I waste both of our time with an interview.

For context, the work I do doesn't lend itself to one operating system over another; it's not like I'm applying for a position as a .NET developer, where Linux really doesn't make sense. The kind of work I do can be done on pretty much any operating system, I just prefer to stick with the one I've been using for the past 15 years.

  • 36
    Perhaps they are put off by this question because it demonstrates the personality of a Technical Primadonna. I know this is what I would think if I were interviewing someone for my team and they asked me this... and for the record, I wouldn't care either way which OS they decided to use, I just think the question itself comes off as conceited and vain. I see personalities like this as the first people to leave at the first minor technological shift. dilbert.com/strips/comic/2004-06-09 Feb 25, 2013 at 12:30
  • 7
    @Carson63000 and maple_shift, please try to keep the personal attacks to a minimum. You don't know me and I don't know you. There is no reason at all for you to be calling me or anybody else names on this site. My entire question was about avoiding the appearance of a "prima donna", as you kindly put it. My life is much less stressful if I am comfortable in my job; money is secondary to me. Additionally, I'm more useful as an employee when I'm comfortable with the tools I'm working with. Feb 25, 2013 at 22:47
  • 7
    Hi Tom, I don't think those guys meant any harm... (I think)... but I commend you for being a good example on our site and responding to this criticism in a positive and thoughtful manner. Hope you get the answers you seek! :)
    – jmort253
    Feb 26, 2013 at 1:46
  • 20
    @TomMarthenal I am not attacking you or criticizing you, I am just stating what I would I and many others would think of you as a candidate if you asked this question. It demonstrates a technical inflexibility that would make such a person a poor fit on many teams. The bottom line is that most jobs have a goodly amount of unpleasant or boring aspects to them, but we put up with those because we need/want the money. If money is not your primary concern then it is hard to motivate someone to stay when things get boring or unpleasant. It is not an attack of character just a statement of reality. Feb 26, 2013 at 12:11
  • 5
    are you opposed to learning new things? what if you take a job that requires you to learn a new programming skill? are you just going to quit and look for a job that allows you to use the skills you already know? that's how you stifle growth and development, imo.
    – squeemish
    Feb 26, 2013 at 15:26

6 Answers 6


It seems to me you don't mind appearing uninterested when you truly are. What you don't want to do is tick off someone at a job you would have liked. So instead of jumping straight to the "you will let me be an exception to every one of your rules regardless of cost or inconvenience to others, won't you?" chase, perhaps you could start with "What are the developer machines like?" and then work up to "is there a standard suite of tools preinstalled?" and then "is it ok for me to have a different suite of tools, or even a different OS, if I want it?"

The kinds of places you don't want to work will reveal themselves to you very quickly with that line of conversation. And places you want to work won't have been put off by your assumption up front that whatever crap they were planning to provide you with isn't good enough for you, and you need permission in advance to replace it. Perhaps that isn't really what you meant by the question. But if any applicant asked me, as early as a phone screen, "whether developers are permitted to choose their own operating system" that is what I would hear. I want you to know that employers hear that, because I don't think you actually mean it, but you're leaving that impression.

  • 4
    great answer !! because there are so many other aspects to a job beside the workstation OS. would you rather be doing dev in latest of frameworks and gain super marketable skills on Win7 or would you spend your day doing boring shell scripting on a Unix box? as much as i prefer Linux, i'd take the former. let alone the work environment, $$, benefits etc. the OP is a bit shortsighted, i must say -- although, just like him, i prefer Linux wholeheartedly myself. but there are other considerations
    – amphibient
    Feb 25, 2013 at 15:53
  • 1
    @foampile I generally agree with your sentiment, but we don't know specifically what the OP does, and it might make sense. Maybe (A) there is so much demand for his niche skills that he can afford to be very picky or (B) for what he works in, the latest frameworks don't matter (writing C networking code?). I think the question is valuable if we abstract from the fact that he's asking about OSes and think of it in terms of any other non-explicit job traits.
    – MrFox
    Feb 25, 2013 at 16:44
  • @foampile please don't presume to judge me or my situation. As I said in the question, the market I am in does not lean itself toward any particular operating system, and the technologies I work with will not make it easy to move me around between frameworks. I haven't had trouble in the past 20+ years getting work in this field, so I am not interested in increasing my marketability. I'm comfortable doing what I'm doing now. Feb 25, 2013 at 22:52
  • I think the tone of your answer is going to prevent me from accepting this answer. I'm not at all of the opinion that non-Linux operating systems are crap. I would never say that the kinds of tools used by most software development companies aren't good enough for me. Imagine you have been using vi(m) for 20 years and your new employer want you to use some other editor. It might be a great editor, but it's going to result in a lot of stress and frustration on my part, and the employer is going to lose a lot of productivity. Hence, I am a bad match for the job and want to avoid applying there. Feb 25, 2013 at 23:03
  • That edit helps, sorry if I'm coming off as rude, I was just put off a little by what I perceived as negative responses or even people trying to judge me based on a small thing that I only hinted at without fully explaining. Unfortunately I'm still not sure I know the answer to my question—maybe there isn't one? Is there a way to do what I want without coming off as arrogant? I think probably the best solution is just to wait until an in-person interview when it's more expected for me to have questions. You're right that in a preliminary phone interview that question does seem off-putting. Feb 26, 2013 at 2:48

That's a pretty standard question to ask in my book. You're essentially asking if you're allowed to install your own tools which is something that is a pre-requisite of my own. I'd ask as though you're sizing up multiple opportunities and weighing the pros and cons.

Ask which operating systems they usually run. Then if they state an OS you're not comfy with ask if the IT department are willing to allow different OSes. If not, nod approvingly and say: "fair enough" (but in the back of your head mark it as a no).


In many cases there are two parts to the job.

  • First there are the machines that you will be using to write emails, make power points, interface with the entire company. These machines are controlled by the IT department. It might be Apple but it is probably windows. They might not be using Windows 7, you might find Vista or even XP. They will be on a recent generation of office. They will will not allow you to add software. They might have different levels of performance depending on your job function. This might include a development machine which has the IDE that they expect developers will need. These development machines may have additional privileges to allow developers to create, test and install dlls and exes.

  • If development doesn't make sense on the windows machines you will be given access to real or virtual machines and servers that will allow development. These tools may still be controlled, but generally developers are given much more freedom.

If you are trying to change the "corporate" machines you will find many medium and large companies will not allow it. If you need to change the pure development machine you have a better chance.

My advice is to only apply for jobs that will require the OS you prefer, otherwise you will be wasting a lot of time.

  • That's what I'm saying—how do I figure out what operating systems an employer will permit me to use? Feb 25, 2013 at 5:01
  • 1
    If they want a developer that knows Linux, then apply for the jobs. Most developer job postings give you this information. If they say they want a developer with .net don't apply for the job, if they want Linux apply for it. If you truly can't tell, skip it. Feb 25, 2013 at 10:58
  • As I said in the question, the technology I work with does not lend itself toward any particular operating system. I'm not doing .NET work and I'm not writing kernel modules. In other words, there's usually no way to know without asking. Feb 25, 2013 at 22:54
  • 2
    Assume most offices are windows and are locked into that technology. If you want to use a Linux machine on a regular basis only apply for jobs that say that you need x years experience with linux. Feb 25, 2013 at 23:01
  • I have never seen a job in my technology area advertised like that. Most of them either require developers to use Windows, or have a policy of letting developers choose their own tools. I don't know why you would ever require somebody to use Linux when the job doesn't require it. Feb 25, 2013 at 23:07

As Kate pointed out, there are some good questions that you can ask that allow you to ferret that out diplomatically. Examples are: "What's your tool chain like?", "Are you tool agnostic or do you prefer a common tool chain?" "Have you considered using _____ as a tool chain, I think it works great because ______ and I have a large and well groomed code base/macros/scripts etc. that I can use". Something along this lines.

HOWEVER for me as as an interviewer this is an absolute non-starter. Making "being comfortable" a priority and in general being disinclined to learn new stuff and taking a few risks is clearly not what I would be looking for. Off course, there is nothing wrong with that, since you are not interviewing with me. But I also don't think that my set of requirements is particularly unusual for the industry. So I think the key to finding what you want is to first identify organizations where this attitude is a good cultural fit.


I'm not sure how things work where you are, but here when you apply for jobs the position description always lists the expected skill set, including development languages and platforms.

It sounds as though you haven't had much experience in the recruitment process, but all I can suggest is to look at the position description for each job where they are advertised, and just don't apply for the ones that do not match the skill set you are prepared to work in :)

  • 1
    This answer is unhelpful and, at best, brusque. There are lots of software dev listings out there that don't state what VCS or IDE they use, to say nothing of OS. I would expect not to find such information in the listing; communicating what is much more important than how as the first step of finding a new employee. Technical stack, desired experience, expected duties, yes. But one can build e.g. Java software in a lot of different environments using a lot of different tools. Even if the advert says "we use Eclipse and git", that still says nothing about the OS. Mar 31, 2015 at 6:43
  • 4
    @EsotericScreenName Oh, I'm sorry! I hadn't intended it to be so. In my country the development platform is always specified in the position description, it's just a convention we have. That was why I made my suggestion. I certainly meant no offence!
    – Jane S
    Apr 1, 2015 at 1:01

There's 2 ways I'd answer this: 1) If you are truly not willing to make an exception for something that might otherwise be a dream job, tell recruiters up-front, or put it in your resume. 2) If this a hard rule that you might otherwise break for the perfect position, OR if you think that it will scare away recruiters even in environments that would allow you to stay with Linux: Ask it towards the end of the interview, like it's a non-issue. They won't think anything of it, and you can always turn down the offer later on. If you mention it right at the start, it will make it seem like that's your PRIMARY concern, and not the job itself.

As an aside, thinking from the perspective of the employer will help make interviews easier. If you were an employer, you'd want people to want to work at your company first-and-foremost for they money, because that's the chief compensation you're offering. Power, convenience, health benefits, etc. may all be motivations for accepting a job, but an employer doesn't need or want to know that. Would you trust an employee who didn't primarily care that they were being paid to do a job? I would not. My 2 cents.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .