I write all my code on my MBP 15” (2015 model). I have been using this machine for a number of years, it has made me really productive. The screen size can feel a little bit big, but it has worked well so far. I have 16 GB RAM, so you wont hear any drama from me about Slack eating up the memory.
In my current job at Surventrix I primarily work on 2 products:
All my side projects are using Ruby on Rails, JS, or recently GoLang and terraforms, for which I use my mac exclusively.
Parrallels: Lets you run windows on your mac. I never have to reboot my machine to run boot camp, I much rather like the switching between windows and my mac with a simple 3 (or 4) finger swipe. Now parellels can eat up some RAM, however I do tend to limit the quality of the machine but that never really limits me too much. I still have Safari open on my mac if there is anything I need to lookup or find.
I run Windows 10, Visual Studio 2017, SQL Server Management studio, GitHub desktop, Chrome, IE — never had the need to use too many apps on the VM. Visual studio is a beast, it has many tools built in, no real need for a command line as the build, compile, run is a shortcut or link away. I run all my unit tests (NUnit) using the tooling, there is even a GitHub plugin which allows me to commit all my changes.
Now onto my mac setup, I use the Terminal and Atom editor for all my development, never used Vim, Sublime or anything else. I have my dotfiles cloned from holman, which gives my terminal a little more powers. I use the built in mail app (which I feel is a bit clunky tbh), Safari, Notes (to store anything that is on my mind or current to-do list), Calender, Slack and Tomighty the pomodoro app. I don’t listen to any radio or music whilst I work, I find it unsettles my flow constantly.
Now the biggest difference I have found with Mac and Windows is, the terminal makes me so much more productive than when I was on Windows. I know there is a terminal on the windows, however it was always a second class citizen. Back in 2007 for a number of years whilst I was programming in the .NET world terminal (command prompt) was not so common amongst many developers I used to work with.
I try not to introduce too many tools into my workflow, I find that everything I currently use, makes me very productive. Even as a person I like to declutter, our house has very little items too (if you don’t count all my little girls toys — which are usually contained in one room). I love the feeling of less, it makes me feel lighter. Less options are not inherently bad, they force me to work with what I got, so I get into the zone quicker and be productive.
Everyone has their own way of working, really interested in reading about how everyone else works.