I've never understood this argument where you limit yourself to something that will work in the worst case scenario. For programming projects as well, the only time I'm using SSH directly is to troubleshoot rare server issues. Besides this, server admin should be automated/scripted so I'm not doing complicated edits over SSH.