97

The title pretty much says it all, but for some context, I started at a new job about a month ago and before I started they ordered me a MacBook Pro to work on.

Every day since I've been pulling my hair out with this PC, as I've only used Windows and Linux my whole life, and it's seriously undercutting my productivity.

The reason I'm here asking for advice, instead of telling him what I just told you is that

  1. working on Mac seems to be company policy - at least in the development department,
  2. everyone in the team, including my boss, seems a tad sensitive to criticism about Apple/Mac, and
  3. I've got social anxiety, which makes confrontation of this kind quite difficult for me.

In addition to "how to tell him", I'd also like to know if I should tell him, and how I'd go about asking for a Windows/Linux PC.

SeriousLee
  • 1,000
  • 1
  • 6
  • 10

21 Answers21

155

I too found it frustrating when first working with a Mac. There are some advantages to doing so, particularly when touching app development with the closed environment of mac devices (think react-native iOS development). You will need to use a mac in these circumstances. As others have noted it can be seen as a potential opportunity to improve yourself and your prospects. To reframe your issue away from can't work to how to better work with Mac, there are a number of things that can be done:

  • Install a good terminal, I use iTerm atm and has settings to help with keyboard shortcuts to make you feel more at home.
  • Start using a cross platform IDE, there are a few to choose from so do a bit of research and find something suiting your dev stack. Then when moving to a different platform you won't suffer a similar frustration.
  • If you are not using any virtual machines (for the backend), suggest doing so (using provisioning tech like docker-compose or similar). This will get you back into a more familiar linux environment for the back end.
  • Investigate power settings in Mac, its based on BSD Unix so there are plenty setting to tweak.
  • Get an external keyboard and mouse, might seem simple solution but with some config you will be a lot less frustrated.

Have a search around the internet for these sort of recommendations, there are many like yourself that get a bit of shell shock when first moving to a Mac but I honestly believe it is nothing that you can not overcome giving a bit of time.

And in the meantime just let your colleagues know you are feeling you are a bit slow due to the new platform, they may have some great advice on how to speed up and be more efficient as they have worked on Mac for a while no doubt!

Aaron Hall
  • 4,273
  • 1
  • 30
  • 36
Webdevuk
  • 1,224
  • 1
  • 6
  • 9
  • 53
    +1 to using external keyboard. Map the Ctrl, Win, Alt to key combinations that make more sense to you. Now at least when using that keyboard i can at least to Ctrl+C Ctrl+V, and all the other ones, without having to essentially use Alt for copy paste. Im in the exact same boat, using windows and linux exclusively for 20 years. Got my setup going good on a stand with external monitor, keyboard and 2 button mouse. – element11 Jul 28 '20 at 20:02
  • 10
    Another +1 for the external keyboard. Apple keyboards look too simple for my taste, and I always have to look for \\ or other keys, because they didn't bother to print the corresponding symbols. Other than that, I feel right at home with homebrew+zsh+oh-my-zsh+neovim+git+ssh+..., especially with iTerm2 sliding from the top (https://apple.stackexchange.com/a/48805/290295). – Eric Duminil Jul 28 '20 at 22:32
  • 6
    +1 for mentioning the UNIX underpinnings, and suggesting that co-workers be a bit patient with OP. – user7761803 Jul 29 '20 at 08:13
  • 5
    Absolutely first thing to do is to get a MagicMouse and set it up for 2-button operation. I love my Macs, but I have to RDP into Windows continuously. A MagicMouse gives you a normal 2 button mouse AND has trackpad gesture capability. Besides that: a mouse gives you better posture. Ergonomically build-in trackpads are a nightmare. – Tonny Jul 29 '20 at 08:30
  • 1
    I agree and I want to add, at least for me it helped to change the scroll direction on the mac. I work in app development and I'm forced to work with a MacBook since 5 years and I hate it ever since, but I have gotten used enough to it so that I can work with it. It's like when I'm forced to work with a language that I don't know and is uncomfortable to me, like Javascript, Ruby or C. Privately I still use Windows and OOP whenever I can. – findusl Jul 29 '20 at 09:04
  • 12
    I really hope OP has a comfortable keyboard, mouse and monitor already. Working directly on a laptop for extended periods of time is an ergonomic (and productivity) nightmare. – Michael Jul 29 '20 at 09:28
  • 2
    While this might be good advice, it's mostly addressing the tech part of the problem as opposed to the workplace part, which arguably makes it off topic. – Bernhard Barker Jul 29 '20 at 11:24
  • 2
    Another +100 for external keyboard (and mouse)! Mac keyboards look sexy, but I find them to be complete ergonomic nightmares. My wife had to use a Mac for work (school teacher), and the first thing I did was get her another ergonomic keyboard, just like we both use at home. I also got her a trackball (which we both use). It made her life much easier (and kept the kids from attempting to use her machine as they couldn't figure out how either device worked! – FreeMan Jul 29 '20 at 11:59
  • This is turning into a reddit post ;) , but just for fun: I switched to a MacBook Pro some months ago (after years of Windows+Linux VMs). I made it a point to specifically not get any external devices (keyboard/mouse/magic pad etc.) because I wanted to become more flexible and not be slower whenever I am in an unfamiliar environment (airport, cafe, whatever). I am loving it. I got completely used to it by now, and have to move the hands very seldomly. Very productive for dev work, and I'm at least as fast as I was before. Also, no trouble switching back to kbd/mouse mode when on PC. – AnoE Jul 29 '20 at 12:43
  • I disagree completely regarding the keyboard. I consider Mac Keyboards superior to any other keyboard I've used in the past 20+ years - in fact, I'm using an Apple Keyboard at work for my Windows desktop. The different layout can easily be overcome by using a Mac tool to reconfigure the keyboard to use a standard PC layout. – Frank Schmitt Jul 29 '20 at 15:09
  • 1
    I've been in a similar to OP situation. I've put a lot of effort into learning Mac, to the point of actually buying one for myself and for close to half a year using it as my primary machine outside of work. Yet the more I learned the more I hated Apple hardware and software. A year or two later we had an ex-Apple employee joining us. He was at first getting very annoyed and dismissive at my criticism of Apple products, until the day I found the root cause of a bug in the macOS version of our app he couldn't figure out and explained to him the exact mechanisms in macOS that caused that bug. – moonwalker Jul 29 '20 at 20:31
  • Luckily, later on I got involved in a project that eventually ended up spawning a whole new team, of which I am now a member, and in that new project I no longer had to deal with Macs. But even before then when I started at my current company I told my manager straight-out that unless there are technical or legal reasons I have to use Mac I would be more productive with something like a ThinkPad, especially if there are no (technical or legal) barriers to me running Linux on it. – moonwalker Jul 29 '20 at 20:36
  • I ended up using my pimped-out ThinkPad W520 as BYOD (bring your own device) with corporate Ubuntu image as my primary development environment, Windows QEMU/KVM libvirt guest for when I needed to build and test Windows code, and a separate company-provided MBP for when I had to deal with macOS-specific issues or features of our product. Many new employees that start are not aware that using Ubuntu is an option at all, and almost all people in my team and even org use Macs. So if I were OP I'd simply ask if Mac is mandatory or other options are available, he may get pleasantly surprised. – moonwalker Jul 29 '20 at 20:39
  • +1 for the bit of time. At my previous job, I was given a choice between a "PC" (Windows) or Mac. I'm a Linux guy, so I chose Mac even though I had never used one professionally. I knew it had BASH out of the box so how bad could it be? Took me 3 days to work through the "quirks" and I found it to be a much better experience – DeepDeadpool Jul 29 '20 at 21:50
  • When I started at my current job (same, fullstack web dev), they had issues with previous hires and software, so I wasn't able to just use my normal setup. But I was able to get to use a VM, and have my setup in that. After some time being able to show I could work effectively in a VM, I was able to replace the underlying Windows install with Linux. Every who just says "learn Mac" must not do much customizing. I don't know that it'd be possible to have my setup in another environment, and if it is, would take a lot of time to configure. – Elle H Jul 30 '20 at 15:33
  • I'm not convinced about this approach. I mean, this is what OP needs to do if there is no option at all of using any other computer. There is a reason why many companies do allow developers to choose whatever tools they have. When I joined my current company and got a Mac by default, and told my boss I'm not a fan, he immediately told me what to do to get a different laptop and that there's no point in me using something I dislike if it can be helped. Of course, if the company doesn't allow this, adapting is the only option, but I don't think it should be the first option. – Noctiphobia Jul 30 '20 at 18:38
  • Given the amount of hassle Macs can be (not only the unusual keyboard combos - anyone not in denial will find other OS's simply don't have constant issues like them, as in, connecting to audio/dropping meetings/ crashing for no reason), I would recommend finding out how to get decent hardware instead. – bytepusher Jan 28 '24 at 05:06
149

The first thing you need to do is learn how to use a Mac.

If everyone else in the department is using Macs, not Windows or Linux, then that's what the whole development environment will be based on. Having one person on a different system complicates the whole process.

Simon B
  • 14,230
  • 5
  • 30
  • 53
  • 10
    I see what you're saying, but it's not like our production environment is on apple servers (if such a thing even exists) - it's just the dev environment. Like, react is one of the platforms we use, and I can't see why it would be an issue if one person out of 5 uses linux, say, while the rest uses mac. – SeriousLee Jul 28 '20 at 11:15
  • 144
    "I can't see why it would be an issue if one person out of 5 uses linux" - it's an issue for IT support by doubling the environments they need to maintain. – Laconic Droid Jul 28 '20 at 12:06
  • 58
    It's also an issue when communicating with coworkers, using tools used in the current team/project etc. Licenses for tools may be available only for Mac. There are a lot of reasons. I'd also prefer Linux over Mac, but after the initial learn curve the productivity is hardly different. A good craftsman knows his tool (which in your case is a Mac). – simon Jul 28 '20 at 12:21
  • 4
    @LaconicDroid in all companies I've worked for so far devs did maintain their non-windows machines themselves. So at least company dependent and it would be fair game to attempt to shift company policy to something one finds better, obviously, one needs to account for resistance or even rejection to such ideas. – Frank Hopkins Jul 28 '20 at 14:52
  • 23
    It's good to learn how to use new technologies, and unfamiliar technologies. That way you increase your set of skills. – Galaxy Jul 28 '20 at 18:38
  • 9
    @Galaxy Except the "learning" here is arbitrary. There is no good reason why things are in different position (CTRL+C vs Command+C) other than "because they want to". The "learning" here is not interesting in one bit. It is an arbitrary set of commands because someone decided that way. – Nelson Jul 29 '20 at 03:35
  • 15
    @Nelson What difference does it make? Programming languages have arbitrary syntax because the creator decided that way. It was not our decision why certain things in the world are like that. However, it is our responsibility to adapt to the world and learn new skills whether we like it or not. Learning is interesting if you make it so. If you go into it with the right mindset, learning can become enjoyable. It's better to choose to make learning enjoyable while you're at it, rather than being miserable, you're gonna have to learn it some day you know. – Galaxy Jul 29 '20 at 04:54
  • 4
    @LaconicDroid: Very valid point. Anecdotally though, most large companies (>1k employees) I've worked for usually had a "do it your own way" policy where you could exempt yourself from the standard environment but then also agreed to bear the responsibility of any IT support that is specific to your environment. Whether OP is going to be allowed such an exemption (and whether those exemptions are allowed to begin with) is at the company's discretion though. – Flater Jul 29 '20 at 11:01
  • 6
    @Galaxy It's like people who switch to Dvorak keyboard layout....yes, it's possible to most humans to make the switch, yes, it makes some people slightly faster...but it's not virtuous to switch. Someone who says "I'd rather just find a job where I can use QWERTY" is not a worse programmer. And it's not a lack of willingness to learn new things to say that you don't want to learn that specific new thing! I have no problem with new programming languages, new types of programming languages (yay functional programming, super fun)...but using a Mac makes me want to bash my head in. – user3067860 Jul 29 '20 at 14:25
  • 1
    @user3067860, I'm right there with you. I've considered learning a new keyboard layout, but the simple fact that when I go somewhere else to use a keyboard and my reaction is to use the "new" one I learned, it would decrease my ability to use the standard keyboard. I use nearly 15 languages routinely and it reduces my ability to use the similar languages: "How do I use substring in this language again?" And even though I used Macs in HS and fixed them as a tech, I hate using them now. Too much extraneous junk and still limited support for basic functionality. – computercarguy Jul 29 '20 at 16:49
  • 7
    Because I can't stand Macs and trying to learn the OS doesn't significantly increase my employability, as well as it being peripheral learning to actually performing the job, I don't even bother applying to the few jobs that say they use Macs in the job description. If other people have the personal preference to use a Mac, they can have it, but I'm not going to beat my head against them on purpose. I had a job that changed from Windows to Mac and I couldn't stand it, even with BootCamp running Windows, since I only had access to half the HD. It was fairly pointless IMO. – computercarguy Jul 29 '20 at 16:55
  • As learning new skills goes, this is one of the easier ones. Just like modern linux is more than a bash shell, mac isn't as much "think different" as it used to be. –  Jul 30 '20 at 03:57
  • @KevinKostlan Yeah, as someone who uses Windows, Linux, and Mac frequently, this kind of hangup is silly. They all do basically the same thing and work basically the same way. Spend an hour learning the Mac UI and you'll be fine. It's basically like running Linux with a pretty skin. (Before the pedants come, I know it's based on Unix.) – user91988 Jul 31 '20 at 13:54
42

Seems like all the other answers are basically "learn to work with a Mac", so I want to give a different point of view.

I worked for a company that developed iOS apps, so everyone had Macs. I tried to work with a Mac for about a year, until I left that company. I HATED it. I learned all the tips, could definitely do my work, but I knew I could have a better experience using Linux/Windows (I did backend work, so didn't actually need the Mac).

When I switched jobs, I asked specifically if I could have a Linux machine. They agreed. Then, when I joined, I was given a Mac. It wasn't a company policy, but everyone in the company just loved Macs. I installed Linux on it, and after about a year asked for a better machine, and linked to a few different options, none of them were Macs. No part of it was confrontational.

My concrete advice is this:

  1. Try to work with the Mac, but don't get too frustrated if it's still a worse experience than you've had before.
  2. After a few months, if you still don't like working with it, explain the situation to your boss (by email), and ask if you can get a different machine with an OS you like working with. Don't worry about the cost of a new laptop - it's marginal to the cost of a developer, and it's not your concern anyway. They can reuse the Mac and give it to a developer that actually wants it. This is not a confrontation, it's just you asking for proper equipment to do your job.
  3. Now that you've had experience with multiple operating systems, and know what you liked working with, remember to bring this up in future interviews.
  • @computercarguy And you're a programmer? Wow, that sucks to be missing out on all the features Macs offer developers. I can't imagine getting any real development work done on, say, Windows. As far as programming goes, Macs are top tier. There's a reason the majority of developers at major tech companies use them. – user91988 Jul 31 '20 at 13:56
  • 7
    @user91988, there's nothing "extra" that Macs provide, unless you are required to use them for iOS development. I've had plenty of those "features" reduce my efficiency. And in my unfortunately vast experience in job searching, Macs are not very commonly used in dev. It's still mostly Windows. Maybe 1 in 20-30 jobs say they use Macs. If you "can't imagine", then you are out of touch with the vast majority of devs who do use Windows. – computercarguy Jul 31 '20 at 15:44
  • 2
    @computercarguy How would you know? You've barely used a Mac. I have extensive experience with both Windows and Mac. There is plenty "extra" that Macs provide - namely a Bash command line and plenty of helpful tools and preinstalled languages out of the box. And I said "major tech companies". There aren't even 20 of those in the world... – user91988 Jul 31 '20 at 16:07
  • Linux has both the Bash, the dev tools, and the languages (on some distros.) But I can't stand windoze – Heng Ye Jul 31 '20 at 16:16
  • 2
    @user91988, I used Macs for years in high school and they were OK. I also spent a year trying to use a Mac for that dev job, and I rarely went an hour without some stupid Mac "feature" getting in my way or not having a necessary setting. I'm also one of the devs that grew up with CLIs and used to like them, but think they are superfluous now. I became a programmer so I could help get rid of CLIs. Windows has CLI tools, too. And "20 in the world" means everyone should learn Mac on the off chance they get a job at one? Nah, too low chances, like the lotto, which I don't count on for living. – computercarguy Jul 31 '20 at 16:18
  • I've spent 25 years programming on Windows, both personally and professionally (for +7 years) and had few issues, and none that having a Mac magically fixed. Like I've mentioned before, using a Mac introduced problems, not solved them. You can have your personal opinion, but the fact remains that most devs are still on Windows and will stay there long into future. – computercarguy Jul 31 '20 at 16:21
  • @user91988 60-ish percent of developers use Windows. https://www.statista.com/statistics/869211/worldwide-software-development-operating-system/. I would be interested to see any information about your claim that the majority of developers at "major tech companies" use Macs. – nasch Jul 31 '20 at 17:56
  • The numbers seem highly dependent on the particular culture / company type you pick. In about 3/4 of companies I worked so far the majority OS for devs was Linux. When Windows was the majority, either Mac or Linux was present and allowed as well. The other way around too. There are things that each one really supports better aside from personal preference, bash scripting, related functionality and docker support on the *nix side, fancy graphics engine support on the windows side for instance. But a lot is (company) local developer culture. – Frank Hopkins Aug 20 '20 at 23:14
30

I'm in this exact situation, receiving a macbook pro for work.

  • The keyboard/trackpad are dreadful - use an external keyboard/mouse
  • Can't plug in anything because USB-C - get a USB-C dock that provides the ports you need, and leave it on your desk at work. Take the stock PSU home for emergencies.
  • Not enough monitors - make sure that dock you got has some HDMI or Displayport or even a VGA output.
  • No serial port for console access - get a USB/serial adapter.

On the software side

  • Preferred CLI tools are missing - install homebrew and add them that way. mtr, nmap, screen, tcpdump, etc are all available
  • Synergy works perfectly too, for multi-machine control
  • iterm2 is an upgrade for Terminal
  • if you have touchID then there are ways to mod pam to enable the touchID reader for sudo
  • VPNs generally exist in a mac flavour, its a matter of finding the differences.

And while yes some things are definitely different, that's the nature of IT. Change is endemic, and if you have frozen your skillset then that is not good for your longterm employ-ability. Work on learning and developing yourself, and spin it as a learning experience.

If you fosillise in any technology field, you risk being left behind. My advise is to learn some new stuff, sorry.

Criggie
  • 2,658
  • 20
  • 28
  • 3
    Confused about your serial port point. USB is serial, what are you referring to here? – gerrit Jul 29 '20 at 11:57
  • 21
    Can you name a laptop with a better trackpad? Genuinely curious, as Apple is well-known for having the best trackpads in the industry. The keyboard on that one run of MBPs was terrible, but otherwise their keyboards are known for being great, too. – user91988 Jul 29 '20 at 14:16
  • 10
    @gerrit I'm sure he's referring to an RS232 serial connection, which is still often used for console connections to hardware devices. I'm not sure how that's notably relevant here, though. – wfaulk Jul 29 '20 at 14:18
  • 4
    One tip for the switcher: embrace the Apple button. It's so much easier than doing the stupid pinky reach for copy-paste etc. I haven't used OS X daily in years, but I still miss using my thumb. – nomen Jul 29 '20 at 20:31
  • 3
    @nomen by "apple button" you mean "command" which is left of the space bar. – Criggie Jul 30 '20 at 01:00
  • 1
    @gerrit yeah - serial console ports for hardware that needs it, like routers and switches. A good USB/serial adapter helps, a cheap janky USB/serial adapter is painful. I still have a ~12 year old centrino laptop because of its real physical serial port. – Criggie Jul 30 '20 at 01:01
  • 3
    @user91988 its probably partially me "getting used to it" and partially that the entire surface of the track pad is a physical button that moves down when pressed. As I said, a normal USB mouse makes things much more "normal" – Criggie Jul 30 '20 at 01:02
  • 1
    @Criggie Well, yeah that's one of the best things about it, so I'd say give it more time (and turn tracking speed to fast). But I get it, I always prefer to use a mouse too. I just don't mind the trackpad much. – user91988 Jul 30 '20 at 01:55
  • 3
    @user91988: I've only used a Mac for a few minutes. I'm not saying that the build quality of the trackpad is bad, but using it feels off. That may just be a matter of Mac using a different configuration (sensitivity etc) and me being used to different settings, but I've used many laptop brands and Mac is the only one where the different cursor response stood out. It feels "floaty" to me. Hard to describe but I didn't like it. Not saying I couldn't get used to it after a while, but I understand Criggie's annoyance. – Flater Jul 30 '20 at 10:45
  • 2
    @Flater Yeah, what you're talking about is not being used to how much better Mac trackpads are. The floatiness you mention is actually speed (once you get used to it). Other trackpads feel sticky in comparison. – user91988 Jul 30 '20 at 14:06
  • 3
    @user91988 I would not argue that the Mac trackpad is bad in particular, in fact I think they are more usable than most, but I would argue that trackpads are bad in general for development. Some people have become quite good with them and can make them work just fine for development, but I've also seen people use all kinds of strange input devices that I wouldn't recommend for people who have other choices. – Kevin Jul 30 '20 at 17:55
  • 1
    @KevinWells I certainly agree with all of that, as I've already said, and I think everyone else here does, too. All I'm saying is the trackpad isn't a reason to dislike a Mac—their trackpads are best in class. A criticism I could understand, for example, is that they don't have enough ports. Or not liking the touch bar. Both perfectly valid. But criticizing the trackpad is insane. – user91988 Jul 30 '20 at 18:28
  • 4
    "If you fosillise in any technology field, you risk being left behind. My advise is to learn some new stuff, sorry." - I'm not sure that this is really valid in the context of comparing competing OSes. It's not like windows and linux are old and mac is new and if you're not on a mac you're stuck in the old days, haha. – rooby Jul 31 '20 at 01:45
  • @rooby It kind of is, though. Especially with Apple's custom chips coming. Macs have kept getting better and better over the past 20 years while the others have stagnated. There's a reason the majority of developers at major tech companies use Macs. They can all choose whatever they want, and they prefer Macs. As a programmer myself, I get it. It's not just personal preference. Macs are better at a lot of things in regards to development and programming work. That's how they become personal preference. – user91988 Jul 31 '20 at 13:59
  • If you're a dev, and you think that you'll need to tweak packages that are getting installed, macports might be a better option over homebrew. (it's more like BSD ports, where it patches the distribution and you compile vs. downloading pre-compiled binaries) And I whole heartedly agree with iTerm2 (it's pinned in my dock, although it's rare that if it's not running). There's also lots more options for text editors these days, but I'm still a fan of BBEdit. – Joe Jul 31 '20 at 15:30
  • @user91988 For me, the problems with the track pad were OS/software related. Specifically, the horrible delay after drag and drop which seemingly can't be removed. The hardware itself seems fine. Also, do you have any other improvements besides "better chips" to list? As long as my application builds and deploys quickly (which ime has to do with your build setup more than processor speed) I'm not sure what "better chip" is getting me. My text editor is hardly straining my processor or video card... – user3067860 Jul 31 '20 at 16:05
  • @user91988 Your evidence is anecdotal. Personal preference for one thing doesn't mean something else is becoming obsolete. The stats of the latest SO developer survey don't really agree with you. After 5 years on mac I'm recently back on Windows and am happier. Better value for money on hardware too (although I'm happy with my apple hardware). I also prefer Ubuntu over OSX. For the particular work I do (mostly web & mobile app dev) the only thing I have to have a mac for is iOS dev & cross platform testing. There is nothing else I do that I find better on a mac. Most tools are cross platform. – rooby Aug 02 '20 at 23:51
  • @rooby SO developer surveys are basically anecdotal too. – user91988 Aug 03 '20 at 13:49
  • @user91988 true. It also doesn't account for whether or not people are forced to use those OSes for their job. That doesn't make the claim that macs are ahead of other platforms in terms of developer productivity any less ridiculous. Aside from a small number of non-cross-platform tools, it is entirely whatever a person is used to and their personal preferences. There is no legitimate argument I can think of for non-mac OSes being antiquated. I can name a number of things I like and dislike about any major OS platform. It's about how much weight those pros & cons have for you personally. – rooby Aug 04 '20 at 02:07
22

Well, I would probably want to leave my company if they took my MacBook away and gave me a Windows or Linux machine.

You have basically two choices: Move somewhere else, or embrace it as an opportunity. Develop a positive attitude towards it - things will be a lot easier if you focus on succeeding and not on failing. Learn how to use your computer, and learn how to use it effectively.

(Have you gone to System Preferences and set up your Trackpads properly? That alone is an instant 20% improvement).

gnasher729
  • 169,032
  • 78
  • 316
  • 508
  • Thanks for understanding xD.. And I have changed some stuff in preferences, and it's defs helped, but my main issues are with the keyboard layout (i.e. keyboard shortcuts work differently now, and like the tilde key is next to Z, etc), and the default os-specific applications like the calculator, image previewer-and-editor.

    As I type that I realise it sounds pretty petty, but it's seriously effecting me.

    – SeriousLee Jul 28 '20 at 11:20
  • 4
    The keyboard issue is easy to fix, buy your own. There is also the added benefit that you can bring it with you if you move company. – Keith Loughnane Jul 28 '20 at 11:59
  • 1
    @PrintlnParams you can edit the keyboard settings to match what you expect or install an existing keyboard layout that matches what your fingers expect, but that won't match what is printed on the keys... – Solar Mike Jul 28 '20 at 12:46
  • Which country are you in? Use keyboard viewer to find a keyboard layout you like, then by a matching keyboard. Any usb keyboard will do but I’d take a Bluetooth keyboard (no cables). – gnasher729 Jul 28 '20 at 13:49
  • @SolarMike I've had to use Karabiner-Elements to remap a bunch of stuff. The modifier-keys being re-arranged drove me mad. I've used Linux and Windows machines for decades but switching to/from a Mac in-between was torture without fixing the keyboard layout (I'm still mad about pos1/end not working). – PeterT Jul 29 '20 at 06:47
  • @DanM. That might just be my inexperience as a programmer showing. – Nzall Jul 29 '20 at 11:35
  • 2
    @DanM. Because you don't work on your laptop. You have an external monitor, keyboard and mouse. – dan-klasson Jul 29 '20 at 12:11
  • 1
    @gnasher729 A keyboard beats both mice and trackpads. VIM is your friend. – dan-klasson Jul 29 '20 at 12:32
  • 1
    Apple trackpads are amazing things. It's been a few years since I used one, but they're easily top of my list. If I couldn't have an Apple trackpad, an external mouse was a distant second, but I've never come across a decent trackpad on a PC. That's why Apple even sell their trackpads as external peripherals, branded as Magic Trackpad 2. – Phueal Jul 29 '20 at 13:49
  • 1
    @KeithLoughnane, some companies don't allow you to use your own equipment, especially if it requires a USB/Thunderbolt/data connection. Working at different places (as a dev and repair tech), I've learned they do this so it's harder for a hacker to embed tools into a peripheral to steal data. Better to get the company to buy the keyboard and mouse. – computercarguy Jul 29 '20 at 17:02
  • @DanM. when I am programming, most of the time I am thinking and drawing diagrams, and then start some typing. Whether I have to use a mouse in between, or not is really not that important. – kap Jul 29 '20 at 20:21
  • @DanM. Maybe in greenfield development? But my record so far is 2.5 days of research for a change that turned out to be 6 characters long... I added ,false into an API call. – user3067860 Jul 31 '20 at 16:12
17

I have seen this exact situation a number of times. The issue might not be the development environment.

Sometimes the computer sitting on the desk serves two purposes:

  • A launchpad to get into the development servers. Those servers could be running windows, they could be running a flavor of Unix. or they could be running the databases. sometimes the development environment is the PC.
  • An interface to the day-to-day functions of the company. They are used to generate emails, spreadsheets,presentations, meeting invites...

One place I worked let a few developers use their favorite Unix distro on the machine sitting on their desk. Many man-hours were lost because of incompatibilities between the versions of office running in the rest of the company, and the free version running on their machine. Meeting invites never worked, unless they remembered to manually enter the date into their calendar after checking their phone. Email attachments were always getting lost or mangled.

The issue can also be money and risk. Non-standard OS usage means that IT has to support patching multiple different systems. If they allow the user to be responsible for patching the risk is that a user running their own configuration might miss a patch and expose the company to problems.

Most companies will not allow this without serious justification. In places where it is needed for legitimate purposes they tend to wall off that system from the rest of the network.

mhoran_psprep
  • 72,299
  • 8
  • 131
  • 233
13

Just be honest. Tell it to him straight. If you honestly believe your productivity is being negatively affected by using the mac, tell it to him straight and that you can be more of an asset to the company by using a Windows computer. Put it in writing.

Don't over think it.

SmackDown
  • 391
  • 1
  • 2
  • 2
    Same advise, just s/Windows/Linux/. You might be able to just install linux on your macbook. Not doing +1 just because of this 8-) – akostadinov Jul 29 '20 at 11:33
12

I think your best bet would be to ask for a VMWare Fusion license. This will allow you to run your Windows/Linux environments as you see fit. Failing that:

  • Virtualbox is free but slow on macOS.
  • Ask if you're allowed to set up Boot Camp. This will allow you to run Windows (but, IIRC, not Linux without work) natively. You can then run Virtualbox on Windows for a much faster VM experience.

Frame the request as a functionality or tooling issue rather than a criticism of Apple or Macs. Many developers swear by Visual Studio or by development environments made possible only on Linux machines. Neither of these are really possible on macOS. It also could make a convenient testing environment too.

520 says Reinstate Monica
  • 14,872
  • 3
  • 29
  • 60
  • FWIW, QEMU is also free, and significantly faster on macOS if set up correctly than VirtualBox, though it's not as flexible in some respects as VMWare and not as user friendly. – Austin Hemmelgarn Jul 28 '20 at 20:09
  • 2
    I might have to pick your brains on that, as I've failed to get a QEMU Win10 vm working with any significant speed increases – 520 says Reinstate Monica Jul 28 '20 at 20:34
  • I run a full screen Linux VM under vmware fusion on my mac for all of my development with 2 monitors you can have 1 screen with MacOS and one with Linux. – Craig Jul 28 '20 at 21:24
  • 1
    @520saysReinstateMonica The trick is to experiment with the acceleration (-accel option in QEMU, HVF and HAXM both work pretty well on macOS in my experience) and using paravirtualized network and storage hardware (VirtIO in most cases, you'll need extra drivers for this in Windows). – Austin Hemmelgarn Jul 28 '20 at 22:32
  • I tried with HVF (HAXM didn't work) but there wasn't much change in performance – 520 says Reinstate Monica Jul 28 '20 at 22:45
  • I've used BootCamp to run Windows on a MacBook Pro. It was slow and only allowed access to half the hard drive. The switch from Windows to Mac was purely because of the personal preference of the senior dev, which none of the other devs agreed with. The change slowed us all down for 6 months and most of us never really figured out how it was supposed to be better or how to get it configured to work as well as before the change. Also, Visual Studio has a version for Mac, so don't expect that to be a good reason to IT or a manager to change back to Windows or Linux. – computercarguy Jul 29 '20 at 17:10
  • @computercarguy: Visual Studio does not have a version for Mac. "Visual Studio for Mac" is a completely different product with the "Visual Studio" name slapped on. – Ben Voigt Jul 31 '20 at 15:58
  • @BenVoigt, I never said it was the exact same thing, or even same layout, as Windows. And plenty of people will still say that VS for Mac exists because of the "name slapped on". It's produced by MS, which is more than enough for people to believe it's at least an equivalent product. – computercarguy Jul 31 '20 at 16:13
9

I can completely understand that using a mac is breaking your productivity. I feel like a complete beginner everytimer I touch my girlfriend's macbook even for the most simple things such as searching something on the web.

There is a basic rule that is unfortunatley often disobeyed: Do not hand people unfamiliar equipment without training.
Being an expert on windows or linux helps almost nothing unless you want to fall back to the terminal. Most answer propose that you have to learn how to use a mac. They are slightly wrong, as it is your company's interest to ensure you know how to use a mac (unless this was a job requirement). As your boss to arrange some form of training. It does not need to be the shiny expensive certification, it can be as simple as dedicating some of your time to work through tutorials.
While you could figure out of this just on-the-job, I would talk with your boss beforehand. Learning while working is slowing you down and you do not want to let this fall back on the impression of your productivity (especially as it seems you are the new guy!)

Manziel
  • 746
  • 4
  • 9
  • 2
    I had a job switch from Windows to Mac based on the personal preference of the senior dev. They didn't give us any training on it and even made us configure the thing ourselves, since there was no IT. Even though I used Macs in HS, the OS was completely different than I was used to from that as well as when I fixed computers for +15 years in between. Even basic stuff led me to questions tutorials didn't cover, and tuts often were extremely version specific, and didn't help. It was over 6 months before I became effective at my job again, that was a lot of wasted time due to lack of training. – computercarguy Jul 29 '20 at 17:15
7

It is worth considering make an effort with the Mac because although Mac OS itself can be a pain, underneath it's Unix and that's increasingly worth knowing. Linux is also a type of Unix, for example, so learning Mac OS will have a lot of transferable skills and Linux is getting more and more popular.

You might consider asking your boss for some training materials or time allocated to learning on your own, e.g. with tutorial sites or videos.

user
  • 6,451
  • 2
  • 14
  • 33
  • 7
    The OP says they used "Windows or Linux" their whole life, so I think they're already good there. – user3067860 Jul 28 '20 at 20:38
  • 7
    And "unix" on a Mac is really an illusion as so many things are different and will make no sense when back in a real Unix system. Like putting home directories in /Users instead of /home, and millions of peculiarities like that. – Patrick Mevzek Jul 29 '20 at 00:11
  • 6
    @PatrickMevzek Not all Unixes put home directories in /home. Solaris is /export/home, for example. – wfaulk Jul 29 '20 at 14:22
  • @wfaulk Yes, but there is a de facto standard even formalized for Linux variants, see https://en.wikipedia.org/wiki/Unix_filesystem#Conventional_directory_layout – Patrick Mevzek Jul 29 '20 at 14:37
  • 6
    @wfaulk Yes but the automounter then maps it to /home/ in the recommended setup :) Anyhow, Linux is definitely no "type of Unix" while macOS is (by heritage and trademark) – ljrk Jul 29 '20 at 15:43
  • Its very bizarre fork of BSD and doesn't work I basically gave up on macs after I found a mac couldn't install a stock CPAN module – Neuromancer Jul 30 '20 at 22:16
5

When I was put into this exact same situation some years ago, my chosen solution was basically to turn the Macbook into a server and continue to work on my Windows machine.

I set up SSH and installed some software on my Windows machine to create a network drive of the folders on my Mac via SSH.

I was then able to use PuTTY to SSH in for the command line utilities, and I could use either SFTP or the false drive with my IDEs to actually develop.

Scoots
  • 1,212
  • 1
  • 8
  • 11
  • 9
    "… continue to work on my Windows machine." Is this Windows machine your private computer? I would imagine that a lot of companies might not support such a solution. – Emil Jul 29 '20 at 05:34
  • 2
    @Emil In this case yes it was - it was a purely remote working gig. – Scoots Jul 29 '20 at 19:17
  • 1
    This answer is probably the best one realistically, or at least the fallback after giving the mac old college try. Working at a FAANG, in finance tech, or wherever on a DoD contract? No, probably won't work. Working anywhere else? Forgiveness > Permission etc. – Carley Jul 30 '20 at 20:53
4

As a Linux desktop user going on since 2006, and a professional engineer since 2012, I agree that it can be a tricky transition to move from a platform you're familiar with to one that is alien to you. Note that I did have to leverage a Mac when I first got into the industry, but I've insisted ever since I left that job in 2014 that I leverage a Linux machine so that I could get more into the groove.

The big circumstance around this is to not make it seem like you're displeased with the hardware choice; instead, tie it to the fact that you will perform your job better if you're working in an environment that you're comfortable in. Money is being spent to ensure that you're equipped with what it is you need to do your job, and it's in your and your company's best interest to ensure that money is being well spent.

Time spent acclimating to or dealing with an environment that isn't familiar or comfortable to you is lost productivity and lost motivation, especially during this period when the latter is worth its weight in gold. Time felt like you're fighting against your environment is going to wear you down in subtle ways at first, and could easily harm your morale.

Makoto
  • 5,387
  • 21
  • 34
4

TLDR: Suck it up, but, make the most of the hardware. It's good hardware.

"I can't work with your platform" makes you look awful

Here's the problem with that. Companies innovate all the time - everything from code repositories to conferencing platforms gets changed. Can you imagine an employee who says "I won't work with AWS" right in the middle of an AWS rollout? When you hear that, you fully expect that next week, the story will be "I can't use Bugzilla" or "I won't use ZOOM" or "I won't wear a mask or social distance because 4th Amendment".

That frames you as a whiner / complainer, who puts personal prejudices ahead of team play.

This is worse when it's about Mac vs PC/Linux. Because there is a petty and well-known "religious war" in that vein. Regardless of your actual reasons for disliking Mac, those will be mistaken for the pettiness of that aforementioned "religious war", and your reasons will be considered trivial. So this also frames you as a "snowflake" or "diva" who thinks oneself is more special than other employees, and who wants petty concessions from the company, e.g. the apocryphal "M&Ms with the green ones picked out".

It also suggest mental limitations, i.e. inability to learn new things. Which in the technology field, makes you completely un-marketable.

You ought to be able to work with the platforms they tell you to work with.

If that's an irreconcilable problem for you, then we're really dealing with a cultural-fit issue, and that's a completely different problem.

IT picked this for a reason

This was a lot more obvious back in the day. IT would have plopped an actual 3278 terminal on your desk to access the mainframe. If you demanded a VT100 instead, that obviously wouldn't work, and you'd know that, and wouldn't ask.

It's a server farm now instead of a mainframe, but the same basic concept applies: there are very complex platforms maintained by significant teams, and these platforms are "vertical" from the server to the client. That computer isn't a perc... Think of it as a "terminal" into the corporate cloud, and nothing more. That whole stack, everything from VPN to antivirus to web app interoperability, is externally managed by people whose job that is, and they chose hardware that makes their workload manageable.

Here's what they don't want happening: You opening a bug saying "CVS won't let me upload code". -> "WFM, what browser are you using?" -> Midori.

So you have to work with the platforms they tell you to work with.

That said, you should certainly talk with IT about your options. You're probably not the first person to ask. And here's the thing: If IT wanted to support a diversity of platforms, they picked a good choice of hardware!

Maximize the versatility of the Mac hardware

The Mac is designed to triple-boot MacOS, Windows and Linux. Not emulated*. Native, on bare metal. Hold down option on startup, pick your OS. Heck, you can even pick among several versions of each.

* But that too is available.

Further, MacOS itself is a POSIX compliant BSD implementation. It has an Apple implementation of X11 free for the downloading. So, depending on what you are doing, you may not even need to option-boot into a proper Linux.

I switch back and forth between MacOS command line and actual remote Linux, and it's pretty seamless. I honestly can't see what you're fussing about. You may have to unlearn some archaic commands like sort +2 and learn POSIX versions, but you should be able to handle that.

Even more, Apple has supported booting from external drives since the PowerPC days. So the other OS can be on an external USB 3 keyfob. (Windows might have a problem with this, but that's Windows' problem not the Mac's. No problem with Linux.)

So you already have a very Linux friendly OS natively in MacOS... and if IT permits it, you can simply reboot into Actual Linux or Windows, on external volumes or USB sticks if you prefer.

Harper - Reinstate Monica
  • 14,137
  • 2
  • 31
  • 59
  • Quick note regarding versatility of Mac hardware: Macs have gotten a lot less versatile lately. macOS has not shipped with X11 since 10.8. Running Linux on modern Macs is also a huge pain and it won't even run in some cases anymore (SecureBoot, signing keys, etc.). Depending on company policy (and hardware revision), disabling SecureBoot may be impossible. – Kaz Wolfe Jul 29 '20 at 18:50
  • I would disagree to some points. Of course you wouldn't like to look like a whiner. But, while I can surely use certain browsers to upload stuff to weird HR websites, I wouldn't want to use a non fitting system to work with. The former needs to be done probably once or twice a year, while the other thing is used 40 hours a week. Other than that the work laptop is simply a tool. They should just provide the one that the dev can work best with. – kap Jul 29 '20 at 20:39
  • Speaking solely as an engineer, the "right hardware" only matters when we're talking about production deploys. Something about that turn of phrase otherwise rubs me the wrong way. – Makoto Jul 29 '20 at 20:56
  • @kap Good point about HR interactions being rare. Example changed. – Harper - Reinstate Monica Jul 30 '20 at 06:06
  • @KazWolfe Y'know you're right, I did need to download something to get X11 to work on 10.10. But Apple didn't exactly make it hard. It just installed, and IIRC Software Update cheerfully patched it. Edited. As far as Linux being "a huge pain" that appears to relate to Mac-unique hardware; not a huge surprise. Could the WiFi be a USB stick? – Harper - Reinstate Monica Jul 30 '20 at 06:08
  • Worth noting you can get the GNU versions of the command line utilities via Homebrew, first thing I do with every new Mac since my other work computer is a Linux workstation. – Jared Smith Jul 30 '20 at 13:59
  • What are you talking about @rkeet? I can’t downvote comments. – Harper - Reinstate Monica Jul 30 '20 at 16:07
2

Don't frame it as criticism or confrontation.

Say I love this new Mac, but it's a bit different from what I've used before, and I want to make sure I get the best out of this lovely new equipment, so can I have some training please?

I don't know if you're working remotely usually or temporarily, but maybe you just need to sit with an experienced user for an afternoon and run through the processes you need to use with them, or get the Mac personalised to suit you better.

Macs are nice-but-different.

Owain
  • 1,824
  • 10
  • 11
  • 11
    @PhilipKendall The fact that you have to train yourself doesn't mean it isn't training. It's time spent learning new skills instead of doing chargeable work. That's the definition of training. – Graham Jul 29 '20 at 01:01
  • 18
    @PhilipKendall: That is training. The main point is: the OP has started a new job, and training on the company's tools (and that includes their choice of computer flavor and OS) should be part of the onboarding process and must be (time) budgeted accordingly. Self-learning is still training, and self-learning time is still work time. – Jörg W Mittag Jul 29 '20 at 06:25
  • 1
    I'm in this situation now - not regarding Mac hardware and OS, but new technologies I've never developed in before. Whether or not to use work time to train myself in the new languages our stack was written in is an important negotiation. – Beanluc Jul 29 '20 at 16:24
  • 5
    Never lie to your manager, and especially to yourself. I hate Macs. I used and even fixed them in HS, but I can't stand the OS now. And the hardware isn't anything special, either. It's usually 2-3 years old, so they can "make it solid". Whatever. And it takes longer than an afternoon to learn a new OS, even with help. People tend to think Macs will somehow magically improve their performance, which doesn't work when it takes weeks or months to get up to speed on the OS. IMO, that time is better used working than learning a purposeless change in OS like this. – computercarguy Jul 29 '20 at 17:24
  • 1
    @PhilipKendall Why would training not be needed when you get forced into using a different system? Assuming that is just silly. – rkeet Jul 30 '20 at 09:55
  • @rkeet It's a a matter of training in what. MacBook is a highly mainstream laptop and the job is developer; asking the company for support in learning how to use a MacBook will rightfully get across as wimpy and spoiled. Especially if expressions like "forced to use a different system" are used (did the company lie about the OS when hiring?) I worked on Windows for 20+ years until the last job where the dev team was on MacBook and I just got familiar with it, as should be normal, seriously, what's the big deal? Is it possible that all those difficulties are just a way to take a stance? – SantiBailors Jul 30 '20 at 19:13
  • @SantiBailors No it's not to take a stance. It's that you don't intentionally hinder productivity. A sure way to hinder productivity is to force systems upon people they're not only unfamiliar with, but to assume they should just learn it, should be familiar with it, want it, know it. Because they shouldn't. If you're a C# dev, you needn't know PHP. If you're a front-end dev, you needn't know DevOps. If you're very good on Mac, you needn't be on Windows. And vice versa. That you should just know any OS, is stupid. How about you switch, right now, to Arch? Or Pop OS? Go on, just be good at it. – rkeet Jul 31 '20 at 06:19
  • @rkeet Your references to exotic operating systems or whatever Arch and Pop OS are don't really match the context here, which is about being able to use a mainstream laptop (and while being a software developer). Also the fact alone that you oddly compare learning to use a MacBook with learning to code in a given programming language hints to the idea of excuses made in order to take a stance, which is confirmed by the condescending tone of your last sentence, so this exchange is pointless. – SantiBailors Jul 31 '20 at 08:05
  • 1
    @SantiBailors I'll just come back to the point about exotic systems then. https://en.wikipedia.org/wiki/Usage_share_of_operating_systems#:~:text=In%20the%20area%20of%20desktop,distributions%20are%20at%20around%202%25. That should highlight for you that MacOS is used globally varying from 9.6% to 13%. Imo that really does not justify forcing your employees to use it. Especially when compared to the global usage variance of Windows "generally" above 70 and "in most markets and at 77% to 87.8% globally". – rkeet Jul 31 '20 at 08:51
  • 1
    @rkeet Now your point seems to be that MacOS is an exotic OS. So one would wonder which OSs, besides Windows, are mainstream enough for you to "justify forcing your employees to use it" (for the record I think Windows is the best by far when it comes to usability and I would never trade it for a Mac). It's unclear if your position is "shouldn't impose on people an OS they don't like", or the same but with the addition of "unless the imposed OS is not exotic (and MacOS is)". You also keep ignoring the hurdles due to having to maintain and support different OSs across the workforce. – SantiBailors Jul 31 '20 at 09:57
  • @SantiBailors Hmm I think I was clear on the "You shouldn't force an employee to use an OS" they don't like. If an employee likes MacOS, by all means go for it. Same with Windows, Arch or anything. What I initially responded to was the no-training when being forced to use another OS. I'm of the (strong) opinion you let the employee determine their preferred OS (and other software), as for the employer that will garner the best / most efficient results. Thus that an employer asks the employee before purchasing a system which would be the preferred OS. – rkeet Jul 31 '20 at 13:32
2

Configure your Mac so that it would be more like Linux. It is possible to do so. Mac in Unix.

  • Get a 2 button mouse. The major half of frustration is usually because of that single button "almighty mouse". The right button should just work.
  • Reconfigure keyboard so that CTRL works like on Linux and Windows (CTRL-C - copy, etc). This can be done in GUI settings.
  • If it is a laptop, get a proper external keyboard. The laptop keyboard is too far and too high when the laptop is placed optimally for viewing the screen.
  • User settings allow to change the scrolling direction the Windows/Linux way.
  • If the software you develop or use is command line based, use Docker to run it. There is a nice Docker app in the store. There you can have Linux of your choice with root rights on it. Alternatively, use a virtual machine.
  • The location of the default home folder covers major half of the console. However it is possible to create user account nicely placed under /home/username right from GUI.

It is not difficult at all to configure Mac into very productive workstation you would never want to trade into anything else.

eee
  • 4,784
  • 4
  • 27
  • 44
  • 2
    Go to System Preferences, make sure your mouse is set up as a two button mouse. Or use the trackpad, ten times better. – gnasher729 Jul 29 '20 at 12:26
  • Yeah, really. First thing I do with any Mac is get a 2-button mouse. Fortunately Apple yielded to this about 15 years ago and virtually all Mac mice allow 2-button mode. – Harper - Reinstate Monica Jul 29 '20 at 17:21
  • Unfortunately one of the worst things, moving the close button to the right side of the windows is not possible afaik. – kap Sep 23 '20 at 21:37
2

Been in the same situation. You could ask if your machine can be given to then next new joiner, and then you order something you prefer.

ThatDataGuy
  • 375
  • 1
  • 4
1

A lot of the CLI tools on the Mac are very old. They are not even updating bash or emacs. So, do you have root on this thing? How much can you install? As mentioned above, you could go with a VM and get linux back, but a half way measure would be to use a package manager. Other answers have mentioned Homebrew, which doesn't need root. That should get you most of your familiar tools. There are actually many such package managers, like portage (via Gentoo Prefix), pkgsrc, Guix/Nix, Junest/Juju, zpkg ... . Here is a good thread on package managers for non-root installs. Since you're doing development and may want to be able to do reproducible builds, I'd encourage you to look at Guix or Nix. Here is a link for how to install Guix without root, if you have to do it that way. (Otherwise, just use the installer script.) Here is similar for Nix.

You might take it as an opportunity. Working around externally imposed limitations is a good life skill! :)

Diagon
  • 207
  • 1
  • 4
  • 2
    Well, while I thought I was offering sound technical advice, and a bit of wisdom picked up in my superlative MIT training, I suppose the downvotes are merely a reflection of the fact that being an anarchist, I'm unwilling to inhabit "the workplace," at least those that are organized as feudal structures. – Diagon Jul 29 '20 at 22:03
  • 1
    I'm right there with you. Having an anti-capitalist and anarchist perspective instantly puts us at odds with a huge portion of users on SO and hacker news. I think the thirst for those big dev bucks really pushes people into a craven boss-loving/fearing position. Far being from irrelevant here, I think your note about philosophical differences is key to OP and others evaluating all the answers for ones that truly address their needs/proclivities. I liked rkeet's answer above especially because it is far more realistic of an option and represents what a ton of people will secretly do! – Carley Jul 30 '20 at 21:16
  • 3
    Ya, you see this thread filled with suggestions to either give up autonomy, be a "good soldier," &do what you're told; or to play psychological games to support the ego of the boss. All this is completely pathological, leading to utter distortions in character on both sides, up &down the chain. I haven't taken a close look, but I wonder if we have many discussion on this site regarding worker cooperatives, mutuals, or other forms of organization other than capitalist hierarchies. – Diagon Jul 31 '20 at 02:31
  • 2
    Liberating the tradesman who creates the code is the only way we'll ever fundamentally challenge the nature of "ownership," &thereby liberate the code itself. So, nice to meet you, @carley – Diagon Jul 31 '20 at 02:31
1

Install an emulator for your preferred OS.

You were given a computer that uses a different OS than the one you're most productive on. Fortunately, there's a fairly simple solution for fixing this: emulators! Simply install an emulator on your machine for your preferred OS, and go to town working on your job in the emulated environment.

Sure, there'll be a slight reduction in processing power, since you'll have to run the emulator as well as the software on the emulator, but unless you're doing something computationally-intensive like machine learning or pre-rendered 3D animations, it's unlikely that it would make much of a difference.

Just make sure that you follow any company policies or procedures for installing software onto your machine.

nick012000
  • 10,747
  • 2
  • 29
  • 46
  • Even if he can't install software on the machine, he could install linux on an external hard drive, boot off of that, and then run a virtual machine in linux. There are tutorials on the web for how to run MacOS in a VM. So I'm thinking that with some hacking, he might be able to then run the MacOS installed on the internal laptop hard drive in the VM, which would allow him to transfer data back and forth. Easier, of course, might be to bring his own laptop and run VNC or somesuch to interact with the Mac, similar to what someone suggested in a previous answer. – Diagon Jul 30 '20 at 18:51
0

OK I think I'll summarise what your problems are:

  • You are a fullstack webdev
  • You normally use window / linux and don't like using OSX
  • You are anxious about saying this to colleagues
  • You would like to tell colleagues you prefer to use a different OS

Well as others have suggested you should at least try to get use to the operating system as being too blunt and saying you just can't work with this OS is not a very good attitude and would show poorly on you.

Others answers are good in that you should try to use the OS here as it's not unusable and whatever frustrations you have should be able to be sorted with a few utilities, external keyboard mouse ...etc. If, for example, you don't like finder have a look for a paid for alternative that suits your needs and put in a request for that.

I'm going to deal with an alternative answer though which is how do you approach a team with that is going to be hostile to your request. In your example this will be handing back the macbook and getting a windows machine say, just to frame the discussion, a Dell XPS 15.

The first thing is that you shouldn't directly approach the manager / decision maker and tell them you want a new PC with windows because OSX is not your thing. As you've said they will take offence at this as you know a macbook is not a cheap bit of kit and they feel it's easier to work in than windows.

What you want to do is make it feel like it's the managers decision to get you a new PC. So in this case you need to show them that for you it's much better. I think you might find that very difficult but if you can somehow get a comparison between time of work done on windows vs mac. I would present this as an experiment rather than an opinion but objective facts about your speed of work.

This needs to be done a few times for it to properly bed in with the manager.

Then you need to present to the manager a question what do they think about these results? Regardless of their response you would response by something like well I think it's interesting maybe if I used windows for a few months we could check. If they don't agree I think they are very much dead set but you can repeat this processes with a different angle a few times to get them to come around to the idea.

The implementation of this isn't actually important what's important is the manner you present it to your colleagues. You want them to be the ones that want to know if running on windows is faster than OSX and you're just the guinea pig. You want them to feel like they are the ones that came up with the idea not you.

All in all though I think this is an android vs iOS thing and really you should just try to get used to the OS.

Dave3of5
  • 3,552
  • 14
  • 17
0

While the general consensus in the answers is "learn to use a Mac", I'll offer a different perspective.

In my advise: explain in simple terms that this machine, this tool of your trade, is hindering your efficiency in the trade. If a comparison is offered or asked, feel free to respond that you would not replace a woodworkers' hammer with a crowbar to slam down the nails.

Now, with the crude simile out of the way.

A bunch of jobs ago I too was given a Mac, as it was just ordered before I started and assumed I would like it. Or whatever their reason was, it was just a "we all use Macs, so you probably do to". Turned out: I don't like working on them either.

In Windows I know all of the shortcuts. The "close" button is a cross in the top-right. The registry is right there to edit. Services are shut down using a GUI. Anything for working with Windows, I know.

Then comes this Mac. The buttons are wrong. I cannot charge & use a mouse simultaneously. There's additional programs required to work easily as a developer (homebrew?). The only advantages it had were it's IO speed when using Docker / Vagrant for being a unix based OS. Especially that file browser... ermergerd, the frustration is still just below the surface, after all these years.

So. I asked for a Windows laptop/desktop. I got one too. Took some convincing, because why couldn't I learn a Mac? Well, for starters I didn't want to (I know, bit against the 'all things must be learned in IT' principle (on which I also disagree - different topic)). So the only time I would be using it would be at the office. At home I would simply dump it next to the front door for tomorrows' usage. So to convince the boss I asked if he had some time. I brought my own desktop in (heavy up some stairs :p didn't have a laptop at the time) and set that up. Then I went about doing the same tasks, with a timer, to show the boss the difference. Then I said: "This machine just saved you $50,-." That opened some eyes.

Another few things I'm a really big fan of is: "A tool should enable you in your trade, not hinder you" and "If you have to mind your tools all of time, when do you work?".

Which basically mean: A tool should help you do your job more efficiently and how much time is taken up thinking about how to do basic things?

So yes. Ask your boss for a computer running an OS you like and with which you're familiar and fast/efficient. Buying a computer is an expense of $1500 (unless Mac), something easily and fast redeemed by an efficient employee.

rkeet
  • 1,794
  • 12
  • 20
  • 1
    The problem here is, while you are a man who understands his trade, you are forced to ply it in a system where the independence of the tradesman has been replaced by a system of corporate fiefdoms, in which everyone has been turned into wage slaves. So now we are reduced to playing the games that you see in the answers here, just so we can do the work that we are good at and want to do! They call this system "efficient??" – Diagon Jul 30 '20 at 18:38
  • 1
    This answer should have more upvotes simply for this: " Then I went about doing the same tasks, with a timer, to show the boss the difference. Then I said: "This machine just saved you $50,-." That opened some eyes.". While everyone else bringing up IT costs, security issues, and pursuing character-developing experiences (!) is right to a degree, the chance that these issues pale in comparison to the actual difference in productivity (and thus labor costs and ability to meet deadlines) is not insignificant and likely huge. – Carley Jul 30 '20 at 21:06
  • 1
    The only time I ever punched a clock,I coded in Forth,took literally 1/10th the time to develop a piece of code as anyone else,&then spent the rest of my time learning what I wanted. This is a common tactic on assembly lines. Come up with a better way to do your piece of the work,&then keep it to yourself to save your sanity &give yourself a break when you need it. So,while I understand what rkeet needed to do,I have to ask why this surplus product (the extra productivity that came from this improved engineering) should go to the boss? Maybe it should go to the tradesman himself. (@Carley) – Diagon Jul 31 '20 at 03:06
  • @Diagon it's not the boss got "extra" productivity though. He got "normal" productivity. I'm very good at using Windows, just is. If you force me onto a Linux or Mac, I will just be a lot less productive. It's a simple matter of using the tools best suited to the person. As the result is still code, either way. Also, about time tracking. Started a new job recently at a web agency. We bill customers by the hour, so time tracking is defo a thing here ;) (I'm still getting used to that, but today is the last day of 1st month - after years of in-house apps at other jobs, without tracking time) – rkeet Jul 31 '20 at 06:24
0

No Problem!

First of all, your brand-new Mac is inherently a Unix® machine, which you really should take the time to know.

Second, there's this wonderful software tool called VirtualBox, which is produced by none other than Oracle Corporation (the biggest software company on the planet ...), and which runs on everything, and it's free.

In very short order you can use it to set up the Linux environment of your choice ... in a window. I do it all the time.

(And if you want to set up a Windows virtual machine, guess what ... you can do that, too. Both at the same time!)

Something to think about is ... "if you do that, you now have all three of the world's major software development environments, all on one machine." You never know where your career might next lead you. ("I sure didn't!")

Full disclosure: "If you did that, you'd basically have re-created my everyday machine!"

Mike Robinson
  • 8,111
  • 1
  • 17
  • 27