Setting up Your Mac for Dev – 2018
I have a weird hybrid role and skill set where I straddle the line between Technical SME and Functional SME on technology projects. Over the years the variety of technical stacks that my customers have deployed has run the gamut. I have to keep my system up to date on the latest tech tools. It has to handle almost any scenario that may present itself. I also have many side projects I like to tinker on. From video editing to web development, some Node, occasional iOS and lots of writing.
Add in the occasional tech question or recommendation from a friend/colleague, and I am finding myself with more installed apps and tools than is probably necessary. So, I am sharing advice on how I set up my machine for easy reference and updating year-to-year. I have thrown in links to some tutorials and example projects. Yes, I am excluding Windows and other machines, because I just don’t work on them regularly. But, I am sure a lot of these tools are either cross-platform or applicable to any Unix-based machine.
I work on a fully specked out MacBook Pro; a machine not necessary for everyone. You need to really define the 80% of work that you will be doing and purchase based off those needs. Graphics work, get a machine with an upgraded and dedicated video card/chip, like an iMac or Mac Pro. Front end development, a mid-level machine is enough; think MacBook or MacBook Air. Back-end architecture, you will need some horse power; like a MacBook Pro or Mac Pro. Machine learning, go top of the line machine or consider a hosted solution. Writing, go basic, or ultra mobile like an iPad Pro. Whichever line you go with (desktop, laptop, or tablet), always get it specked out as much as you can. If you spend a lot of time at one desk and need something light when away, consider a desktop and iPad combo. I actually love that setup the most but I travel too much for work. Lastly, the best low-tech tip, get a really good notepad and pen. You’ll make the most of any machine if you ideate offline first.
These are the IDEs, tech stacks, and tools I recommend you install & keep updated. These technologies support with LAMP architecture; especially HomeBrew and MAMP.
Data Science is the next big frontier in tech. I highly recommend you familiarize yourself with these tools and data sets and take the Fast AI course mentioned at the bottom of my post.
Tips & Tricks
Getting everything installed is just the beginning. You are bound to get stuck and need help on a project. Below is a valuable list of tutorials, tips, and tricks for getting going.
The next step is to go out and build something after you have set up your configured your machine, setup your environment, and acquired the skills. But like any creative pursuit, finding an inspiration is hard. Below are some links to example projects to get you started. The best project, however, is to solve a problem in your own life with your technical skills and ideation.