A newly hired developer at Etsy will deploy code to the site by the end of his or her first day of work, Brittain said. The organization has set up a work environment that makes it easy for developers to deploy code to the site quickly and get feedback once their changes are embedded in the production code.
Such rapid deployment, a hallmark of the devops methodology, does not intimidate Brittain. "Failure is inevitable, whether we push code or not," Brittain said. "The trick is to test frequently, and make only small, incremental changes."
While such rapid changes to the website may sound risky, Etsy has put a number of measures in place to catch potential problems before the code goes live, Brittain said. New code is reviewed by multiple engineers before it goes live. Code can be rolled out to a small percentage of users at first, around 10 percent to 20 percent, so problems can be caught before they affect the entire site.
One surprising -- and unusual -- source of feedback for the company has been the help forums, Brittain said. When a new feature doesn't work as expected, users will quickly complain, and the number of reports being filed will tip off engineering staff that something is not working correctly.
Another devops technique that Etsy uses is to make the performance metrics as widely available as possible. Such metrics are not just accessible to administrative staff, but are graphically displayed on monitors within the company's offices, so all can see them. If there is a degradation in service, due to, say, thread contention, or overloaded databases, anyone can see the problem and potentially offer a fix.
"It's not unusual to see something happened as you are walking down the hall," Brittain said. "The sooner we can detect the problem, the sooner it can be fixed."