November 15, 2017
How Jane Street Does Code Review
Code review is a fundamental part of developing high quality software, but it's also a difficult practice to apply rigorously.
As a team grows larger and its codebase grows more complex, it becomes harder to maintain the appropriate level of discipline: merge conflicts happen more frequently, branches need to be rebased more often, and sometimes the most delicate code changes receive the least amount of scrutiny.
This talk will describe how Jane Street solves the problem of scaling code review to a large team, while ensuring that all changes to production-critical code receive careful attention. We'll focus on Iron, the code review and release management tool that we've been using and improving internally for years.
We'll show how Iron models the process of code review, and how this model is sufficiently expressive to handle messy cases like merge conflict resolutions and reviewing code across rebases. We'll also talk about some of Iron's other features that it easier to develop robust software, like its hierarchical feature branches and per-file scrutiny controls.
In the before times, he got a CS degree from UT Austin and spent a few years as an iOS developer at startups in New York City. He still isn't sure about this whole 'strict evaluation' thing."