Benefits from having multiple computers

To be clear, this doesn't mean to using multiple computers at the same time. In this context is to having multiple instances of similar computers at more than one place like your home, your office, in the cloud, etc.

I use macOS to work & play with code. I try to make all of my computers' file structure, apps and tools be exactly the same. Here's why.

Portability

Having the same computers means I don't have to bring all the work home with me. In the past I used Dropbox to share the code among them and continue working at home with a PC. Nowadays I just push them on any Git repositories and pull it from another machine to start working. In the near future I think I can even code on the cloud easily with online tools like CodeSandbox or GitHub Codespaces.

Integrity

Since I have the copy for tools & all the work I have. I can restore them on any computer at will. Even if my Macbook dies right now, I will have no worries about data and I will be ready in a few hours on a new Macbook.

Getting better as developer

To maintain the state of having multiple ready-to-work machines is not simple. You have to keep building & improving the workflow. The Dotfiles script should work on every computers you have including the newer ones. Adding new tools or apps means updating these files, and run against all of your computers. I maintained my dotfiles for years, reworked them countless times, moved Oh-My-Zsh to ZPlug, realized that ZPlug is very slow and changed to Zinit, restarting everything from scratch, adding Ansible, switched to Dotbot, and so on. I have learned many things in the process of making the dotfiles useful for me and maybe someone else who have forked my code.