I recently wrote a development manual for STAQ (embedded below). It represents our current thinking about the best way to build enterprise SaaS software in 2015 - using a variety of techniques from several disciplines. Since I wrote this I have also become very interested in resilience engineering and the notion that web developers are primarily engaged in the construction of socio-technical systems. When I rewrite this I plan to talk about how we should try to minimize mean-time-to-recover (MTTR) instead of mean-time-between-failures (MTBF), and how continuous deployment grows a safety culture around your operations.
I redacted most of the examples that illustrate these points because they use sensitive code examples or URLs. If you want to see the rest of slides, join us!
Side note: I tweeted that "all programmers are self-taught" which was greeted by some skepticism. When I learned about socio-technical systems I thought it was a pretty good distillation of what I meant; you can go to school to learn how to write algorithms, but as far as I know, nobody is teaching classes in writing software that comprises "an interlinked, systems based mixture of people, technology and their environment."