Setting up a new development machine
What an exciting past couple of days. A brand new development machine was delivered to the doorstep after a 3-week wait for it to be built. The new toy is a Dell XPS 15, complete with 32 Gb of RAM, an Intel i7, and Windows 10 Pro. While this is not the best machine that I have ever used for development. It is the most powerful machine I have owned personally.
As you might expect this is not my first development machine setup. It feels like this is a once-a-year activity. Not including the countless times assisting the associate-level developers in machine setups.
Every single set up there are 2 downloads that come before all others:
- Google Chrome
- Spotify
In that order. No exceptions. Why? Until recently, Windows default browser was only seen as a maintenance nightmare rather than a viable default browser. So an upgraded browser is a must, as the majority of installs to follow require a download from the browser. Spotify is a quick next install, as we all know, machine setup can take some time. So why not enjoy some music while working through the process.
Next, I tend to install the items that will make me productive from a development perspective. More so the tooling and SDKs are required to perform the tasks at hand. The installations are normally in the order of:
- Terminal
- Visual Studio
- Visual Studio Code
- Development database server and query tooling
- Git
- NVM
Once I can be productive, communication tools are the next most important to me. After all what good is a developer if they are unable to communicate?
- Email client
- Teams
- Slack
- Discord
After I can communicate with the organization and the world one could call the initial setup complete. However, there are a couple of tools that I have been installing on every machine in recent memory. I find that each of these installations is 100% worth it. They are small, maybe deemed trivial or unnecessary, however, the amount of time they have saved me throughout my career thus far is huge.
- 7zip
- LightShot
- PowerToys
That is all there is to it. Of course, several tools are on several of the machines I have used over the years that do not appear on this list. That is for good reason, I don't install everything when setting up a new machine. Just as architecture emerges as we continue to build on a system so does a machine setup. There are instances where .NET Core SDKs need to be installed or global CLI tools. Typically, these setup steps are only to support the project(s) that are being worked on, not part of the base machine setup.