It has been said that software development is a constant battle against complexity. GitHub has built several large systems over the past three years, all while engaging in the proverbial battle against complexity. Things like tight coupling, insufficient testing or documentation, lack of versioning discipline, and underspecified design documents can easily lead developers down a path of ruin. This talk will cover many of the techniques GitHub uses to defend against complexity in Ruby systems, including Readme Driven Development, Semantic Versioning, TomDoc, Git/GitHub workflow, modularization, metrics, and exception reporting.
Tom Preston-Werner is a cofounder of GitHub, the social coding phenomenon that has captured the imaginations of hackers around the globe. He is also a serial entrepreneur having sold Gravatar to Automattic and run a web/graphic design firm, Cube6 Media, out of San Diego.z