Garrett Smith discusses building reliable systems starting with lessons from Erlang, then outlining a set of principles and the practices for applying these principles in languages such as Ruby, Python, and Java.