This question already has an answer here:

I have been MacOS or Ubuntu user for the last 6 years of my programming career.
I love to work with them and it actually makes me work faster and increases my productivity in many ways. When I switch to other company they are using Windows due to some limitations (usually there are mac system also).

Moreover to that, I have been using VS Code and Sublime text IDE while their choices are different.

How can I say my employer or manager in a positive way that I wish to use a Mac instead and explain why these editors are better/safe to use.

I am aware that there are policies which need to be maintain in order to work safe but these tools are for betterment.

Also I am very new here so did not know whom to talk for this, sometimes other colleagues can suggest me other ways.

So what steps and how to represent my need and also encourage the team members ( which comes later) and let them believe that these better tools should be used.

This is regarding a new environment.

marked as duplicate by Philipp, JazzmanJim, 520, gnat, motosubatsu Feb 7 at 14:22

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    What sort of application are you developing for? A web application or a desktop application? – Dan Jan 31 at 19:40
  • How can I say my employer or manager in a positive way that I wish to use a Mac instead and explain why these editors are better/safe to use. - That's a blanket statement and as such is completely subjective and opinion based. Instead, tell your manager why those are better for YOU to use. – joeqwerty Feb 1 at 6:04
  • 1
    Web application.. – diEcho Feb 1 at 6:07
  • 1
    Sorry to say this, but as your boss I would forbid it. Lots of studies and few decades of personal experience indicate that standardizing tools across the team leads to better productivity, better communications, and fewer problems. As a seasoned developer, I view ad hoc tool selection as a “project smell” & would probably be looking to get out before it hits the fan. – Mawg Feb 1 at 9:37
  • 1
    @Philipp I think this is a different question. One relates to starting with a standard setup and changing it, and one relates to starting from an entirely different place. – David Thornley Feb 1 at 16:09

How can I say my employer or manager in a positive way that I wish to use a Mac instead and explain why these editors are better/safe to use.

By all means mention to your manager that you're more comfortable with Ubuntu or Mac if possible, you probably won't be the first, but be prepared to be turned down. Companies use Windows for many good reasons, everything from hardware to networking and security.

I've heard many similar requests and just turned them down politely since as a network engineer I have a whole network to administer and secure and like many I'm MS certified which is why I was hired to look after a Windows based network in the first place. But in exceptional circumstances exceptions are made. Your situation doesn't seem exceptional though, just a preference.

  • 2
    I've worked a tech support job where a subset of users swears by Macs (to be fair they are graphic designers). The company has accommodated them but the additional technical overhead compared to giving them Windows machines has been substantial; at least from a IT support perspective. The only reason they accommodate it is because the business simply requires the graphical designers, not just because the company wanted to open the door to Macs. – Flater Feb 1 at 14:56
  • 1
    @Flater exactly, it's not just a matter of plugging them in – Kilisi Feb 1 at 18:31

I'm going to offer some perspectives here.

First, uniformity. Technological uniformity is important for efficiency. So for example, if everyone is using the same tools then the sameness of those tools eliminates edge case issues. The way different OS's handle files and whatnot can affect commits and code and might lead to a lot of "but it works on my machine", which then means the skills required and the time to debug or fix any issues with the non-standard toolset could be very expensive and time consuming.

Second, training. If I need to train new employees on tools, I can't have developers having several different tools. But unifying all the tools, we can streamline onboarding of new employees. Easier to train because everyone knows the tools that are present.

Third, as a professional, I would be concerned about someone who NEEDS their specific tools to be effective. Also, programming is mostly driven by how we think, not how we type. Hiring someone who needs a specific set-up or tools demonstrates an inability to adapt and learn. (Which are extremely important)

Fourth, ecosystems. Some organizational tools fall within a certain tool "ecosystem". Sometimes using tools outside that ecosystem can add a layer of unnecessary abstraction and work to get things done.

That's not to say new tools aren't useful. But if a new hire came up to me, asking for a different set-up because "they're more efficient" with those tools, I would be concerned. Because it hints and not being adaptable enough to learn the current toolset.

I would strongly suggest, you learn your current tools. That's not to say you can't ask for tools that make you more efficient. You can, and that request is usually made to the manager. But it might raise a couple red flags if a new employee needs specific tools to do things...

  • Thank you for the suggestion. You are right at many points but here are my observations that the existing employee even do not utilize the current toolset and there is no one to give knowledge of these toolset – diEcho Feb 1 at 15:34
  • Also the usage of specific toolset doesn't mean that I do not want to learn but when I already learned the better tool to use than why should I downgrade myself and these tools are continuing growing so learning the better tool is better for the productive engineer rather than wasting time to understand the limitations and constraints of the old tools. – diEcho Feb 1 at 15:36
  • I was hired for my work and my work defined by how efficiently one can contribute to the team for betterment . IMO asking for the better tool is not a red flag but show the knowledge and skillset. It's not a sign of weakness but smartness. – diEcho Feb 1 at 15:38
  • @diEcho The existing employees use as much of the current toolset as they actually need (if not as much as would be beneficial). Ideally, you'd be able to do the exact same thing and get the exact same result. "It works on my machine" is extremely frustrating all around. – David Thornley Feb 1 at 16:07
  • Yes, you are right but we are developing web application for a large user base and also improving web accessibility and other thing. Do we not need to check the things on iOS and macOS or we leave this things untouched until problem arise because everyone else is already. Checking on Windows input. – diEcho Feb 1 at 16:09

To be honest I think most of the arguments presented here are sound but does not apply. If a network cannot handle a different OS device, then there is something wrong with it. If it is too much trouble to add a device, then there needs to be a review of the network team and determining if they are competent in their duties.

The biggest problems are consistency with tools and environment. Given that you are developing web application, then the question come down to whether you can make your MacOS environment an exact duplicate of your production/staging/test environment. Not only that questions about code format comes into play.

However, again these points do not apply in this day and age with revision control, continuous integration, vagrant, etc. Regardless of environment, revision control should reject commits that violate policies like tabs vs spaces, formatting, code smells, etc. Regardless of environment, the web code should be replicated no matter the OS or environment and run just as well. Regardless of environment, the database should be consistent.

So with that in mind, if your workplace and team "breaks" all because a developer uses MacOS, then well there is something very wrong. If this was 20 years ago, sure, I agree since we didn't have the tools available today, but now? If you broke it cause of the OS you're on, then well you got to do a serious look at your operation.

With that said, to the OP if you cannot present these arguments to your manager and it breaks their procedure, consider implementing these policies or find a new job.

  • 1
    The network can handle a different OS, and it presumably would have no problem adding a device. However, there may be expenses involved. Windows and Unix-like OSes do things differently. IT would have to be satisfied that you're not an infection danger, and they have no experience securing Macs or Linux boxes. It's easier and (this is important) cheaper to have one base setup and have everyone use it. OP would have to convince people that added value to the company would be worth establishing a new standard. – David Thornley Feb 1 at 16:13
  • Hiring additional Mac OS certified helpdesk person, one additional network engineer with Mac OS experience, and so on, just to allow one person use Mac instead of company default choice is just plainly economically ineffective. Refusal is not a sign of "something wrong" in IT department, it is a sign of "something right" in bookkeeping department. – Mołot Feb 11 at 13:49

Here's the thing about Macs: Apple computers tend to be more expensive than Windows computers, and the specs tend to be worse. People who use Macs tend to use them for reasons other than the price and the specs. Saying to your employer "I want you to double the technology budget" for any reason is almost certainly going to be met with a very very hard "no". Unless your manager is a Mac fanboy and/or your company has a lot of extra money lying around to set on fire, you're not likely to get very far with this.

That said, you may have some leeway with Ubuntu, since Ubuntu is free to use. However, if your company has various security policies (most companies do), they will have to create new security policies for Ubuntu as well as Windows. This is a lot of work for your company's IT department. You should ask them if they can figure it out. Be prepared for them to say no.

  • Depends on what sort of app he's developing for. Some local companies in my area are offering developers a choice between developer workstations including a Macbook Pro. Makes sense with web apps that uses open source or generally cross platform support like Oracle, Apache, and php. – Dan Jan 31 at 20:02
  • @Dan Sounds from OP like he doesn't have this option, and he wants to introduce this option to his company. – Ertai87 Jan 31 at 20:17
  • 4
    The budget reasons aren't that material. In most markets, the difference between the cheapest usable developer workstation and the most expensive options is almost insignificant compared to the main costs of having that developer, which is salary and office space. Increasing the amortized workstation (incl. software) cost by $100/month isn't limited to companies which have "a lot of extra money lying around to set on fire", it's literally a rounding error compared to the main direct expenses - developers are expensive, hardware (including macs) is comparably dirt cheap. – Peteris Jan 31 at 20:44
  • @Peteris but there are other costs with introducing a different dev environment for a single user. What if some required tool or library isn't available? What if something doesn't work just on his machine and no one else can reproduce it? The actual cost of a Mac is the least of the issues. – DaveG Jan 31 at 21:06
  • 2
    @DaveG Yes, standartization of tooling for maintenance, support, interoperability, compatibility etc etc reasons is a valid argument, but this answer was explicitly stating the opposite of "The actual cost of a Mac is the least of the issues." – Peteris Jan 31 at 21:10

How to represent my need

Explain that you work better with a Mac and offer to help the desktop/security people figure out how to properly safeguard it (and I mean from their perspective, not yours).

You may have to offer to buy the computer for this to work (if they don't already have Macs elsewhere). Try to buy it by giving back vacation days. The bean counters likely won't allow that (two different GL codes) but it will demonstrate to your boss how much you want it.

How to... encourage the team members... [to] believe that these better tools should be used.

(humor) Good luck with that... "tabs vs. spaces" can have a team at each other's throats!

VS Code is a fine product, you can just show them the advantages after you have done a feature really fast and they are impressed.

If they won't buy you a Mac try asking for the full version of Visual Studio, it is nicer. Universal with MSDN is a tad pricey - Pro works for most stuff you'd use.

You can have them throw in a version of Resharper which is also a good product, but like Sublime can take a while before you're really efficient in it. It has a lot of the Sublime features (like rename all variables at once) and runs as an add-in with VS.

  • Visual Studio Code exists on Windows as well, the OP doesn't need a Mac for that. And Visual Studio is an entirely different beast than Visual Studio Code. – Mark Rotteveel Feb 2 at 10:13
  • @Mark The first part of my answer addressed the Mac. The second part addressed his longer term goal of getting the team to switch to his tools. Getting the full version of VS was meant as a consolation prize if he had to stay on Windows - only VS Code is cross platform at the moment, VS isn't. – J. Chris Compton Feb 3 at 3:34

You're required to ADAPT and use the TOOLS and HARDWARE you're PROVIDED.

It is only YOUR OPINION that certain tools or hardware is better.

Every company worth their salt has a pipeline.

At one point conscious decisions were made regarding software and hardware.

There are many factors considered and weighed and long term commitments were made.

Most of the time a complete ecosystem grew with custom made templates, proprietary scripts, libraries and tools.

Bringing in new software and hardware on the whim of one (new) employee would not only disrupt the set standards but be also a bad decision during a project, potentially jeopardizing the deadline if it breaks something vital.

It would among other things require sandbox and live testing, porting of custom tools and new different techniques and requirements etc.

This of course adds expenses in addition to potential licences and hardware costs that are usually deemed unnecessary.

  • There's no need to shout. – user1602 Feb 5 at 10:50
  • My opinion matters to me afterall – diEcho Feb 5 at 15:01
  • @diEcho as it should. And if you own a company or have been given authority,you may enforce your opinion. UNTIL THEN, you're expected to follow that of OTHERS (your superiors, the company) who don't care about your opinion or may dismiss it in favour of their own or someone higher up.That's actually why I even said it,to emphasize this fact. – DigitalBlade969 Feb 5 at 19:07
  • @Kyralessa I know capital letters are considered shouting but I wanted to make the emphasis extremely clear.my intention was not to shout at OP but drive home the fact that his opinion is his and if it doesn't conform with his employer,OP needs to follow / accept what he's been told, disregarding personal preference and opinion. – DigitalBlade969 Feb 5 at 19:11
  • In a well-run company, the workers' opinion about their tools carries some weight. It's in the company's best interest to have productive workers. Moreover, you have a lot more faith in company planning than I do. I think it more likely that Windows was picked because it's what everybody else uses. Your points about the problems with introducing another OS are generally valid, but software development shouldn't be a shut-up-and-do-what-I-tell-you operation. – David Thornley Feb 8 at 16:16

Not the answer you're looking for? Browse other questions tagged or ask your own question.