How to Build Stable Systems

This is such a great article I wanted to share it with everyone here. It’s language/platform agnostic too. In retrospect the times followed these suggestions i’ve had a really great outcome.

I’d love to hear any comments about the article as well!


**TL;DR**

When starting a new “project” only take one gamble/experiment. Controlling risk increases the chance of a success.

Pick a process that works well for your team… cut out parts that don’t work (eg… dont be dogmatic about scrum with a small team).

Optimize for loosely coupled modules (hey we have ES6 modules now!) Keep things easy to switch out later (eg… wrap your db calls in a wrapper)

Setup continuous integration and deploy a staging and prod server as soon as you have a hello world up. It’s much easier to get things running now and easier to fix issues while they’re being integrated.

Plan for the failure case so that your machine can crash instantly and recover.

10 Likes

Excellent article. 12 Factor Apps are highly recommended (as well as the Joel Test). If you dig that article and want to dive in deeper, Nygard is a must-read (even if it’s written about Java).

Release It! Design and Deploy Production Ready Software

1 Like