Aside from backups/offline storage, all of my company's code/projects reside on a Windows server in shares. (currently on 2016) I have 2 computers in active use at the moment, a desktop and a laptop. Each system uses identical drive mappings to the project folders with one important difference...the mapped drives on the laptop are set to be available offline. For example yesterday I needed to work from a remote location with the laptop. I booted it up before leaving and let it synch that week's changes, shut it down, traveled to my destination, and had access to all my current stuff. Upon returning home, I started it up again and let it synch that day's changes back to the server. The Cons: 0: Some things like databases don't synch well (I use an external drive for those anyway) 1: Speed. Opening, compiling, and even debugging are always going to be slower over a network. (does not apply when working offline) 2: VS web projects don't always play nice when working offline. (seems to only affect VS 2015+) The Pros: 0: The laptop gets synched at least once a week. If the main drive in the server crashed, I've got a daily incremental stored on the other drive so I'd only be down < 1 day of changes. If both drives failed, then the laptop would still have last week's files. 1: Multiple roles - Besides being a file server, this box is also a public facing web server, ftp/sftp server, mail server, print server, database server, etc. The hardware with the exception of drives is all > 10 y/o, it only has 8 GB of memory, but it still performs well enough. 2: It's local and you own it! Also, you don't need a beast of a machine, or anything super expensive. I'm actually considering a laptop to replace the current server.
"Go forth into the source" - Neal Morse "Hope is contagious"