How to set up a powerful remote development environment that's as comfortable as localhost


arrow pointing from laptop to server rack Specialized hardware / flexibility
locked lock Security / intellectual property
three co-located people with laptops Office
three distributed people with co-located servers Remote
laptop connecting to three servers Local environment
laptop connecting to one server connecting to three servers Remote environment


sketch of VS Code UI Nascent tooling
boxes with chaotic lines Additional complexity
computer disconnected from the internet Offline development
delta symbol Change is hard


Hybrid option


  • Editor
  • Git
  • Repository
  • Synchronization software (unison, rsync, etc.)
  • Browser
  • VPN client


  • Synchronization software
  • Runtime dependencies (docker, etc.)
  • Build tools

Fully remote option


  • Editor client (VS Code, terminal, etc.)
  • Browser
  • VPN client


  • Git
  • Repository
  • Runtime dependencies
  • Build tools
computer connecting to private network via VPN VPN configuration

VPN tips

Computer with split internet traffic between VPN and internet


  1. Connect to the VPN
  2. Connect to your machine via SSH
  3. Profit


Remote environment lifecycle approaches

Next steps

Come enjoy a comfortable remote development environment at Rivet.

Questions / want to chat? DM or tweet at @mjswensen.