I got a new job! Which means, getting a new machine. And the inner geek in me is always excited whenever I get new tech. So this time around, I am upgrading from a Dell Inspirion to a MacBook Pro.
Although I had my fair share of issues with Windows machines, ranging from incompatible drivers, UAC issues when installing softwares, limited control using a terminal etc. I do like the operating system and the features it provides. But being a Mac user for close to a decade now, I really can't make myself use Windows for development work. If given a choice, I'd always pick a Mac or a Linux machine.
Setting up a new laptop is almost always a day's worth of effort. From making sure that the OS is upto date with latest security fixes, to installing development tools, it's a long process, but a rewarding one if done correctly.
These are the usual checklist I follow before starting:
- Make sure the software is upto date. Just a plain system update to update the machine to the latest stable software.
- Internet. This is an important one. No one likes likes to be offline when an update is in progress
My list of software are split into multiple categories:
- Development Tools
- Design Tools
- Misc Tools
These are the most common tools I use for Development
- VSCode - Default Editor for all the projects
- WebStorm - IDE when working on a single project
- iTerm - Because the default terminal is...too simple
- Docker - Virtualize everything
- Postman/Insomnia - Gotta test the APIs
I use VSCode for small projects, or when I want to clone and test and PR locally. For actual work projects, I prefer using a full-fledged IDE, Webstorm.
- Adobe XD
I am not a graphic designer. I can make mockups and layout designs, but nothing beyond that. So the above tools are more than capable for my design needs. Normally, I just create a rough draft of a layout on my Tablet, create a sample design using Sketch or XD, and just start coding the layout.
- Spotify - Because coding without Music is a crime.
- Caffine - To keep the laptop awake
- Pastebot - Mac lacks a Windows style multi-clipboard manager
- Rectangle - For the sweet multi-window management
- Gas Mask - Makes managing host files easier
- Git - Like, do you even version bro?
- Disable Spotlight search. Like really, I know where my files are and I don't need Spotlight to index every single file in node modules for me.
- Setup alias for terminal
- ZSH as default shell
- Oh-My-ZSH for those sweet plugins
This covers most of the setup which I usually do. I might edit this article in the future if something changes, but this is it for now!
Until next time! ✌🏽
On this page