Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
Changing code is easy. Changing code with confidence isn't. Even the most robust, mature test suites have blind spots that make large scale changes difficult. At GitHub we use Science to instrument, compare results, and measure performance of parallel code path experiments to see how new code runs against a current production baseline. This talk will show you how to Science, too. Help us caption & translate this video! http://amara.org/v/FG3t/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled 'Refactoring With Science', Wynn Netherland of GitHub discusses the complexities of changing code confidently in software development. He recognizes that while modifying code can be straightforward, ensuring the reliability of those changes—especially in production environments—presents significant challenges. To address these challenges, Wynn emphasizes the necessity of employing robust testing strategies and leveraging data to inform decisions. Key points from his discussion include: - **The Challenge of Confidence in Code Changes**: Even with extensive test suites, developers often face anxiety when deploying changes to production. - **Utilizing Data at GitHub**: GitHub employs various tools to gather metrics and analyze code performance. These tools, such as Hubot and the 'Graph Store', enable teams to visualize data and gain insights into API status codes and other critical metrics. - **Tracking Metrics**: Wynn categorizes metrics into counters, gauges, and timings, each serving a different purpose in monitoring application performance. - **Deployment Process**: He describes GitHub's deployment strategy, which includes creating pull requests, verifying deployments, and using CI systems like Janky on Jenkins for smooth integration. - **Managing Legacy Code**: Wynn discusses the importance of confidence in removing unused methods and introduces a tool called Backscatter, which tracks method calls to help developers make informed decisions on code removal. - **Refactoring with Science**: The theme of using data-driven experiments to inform code refactoring is highlighted, showcasing how GitHub adapts its systems as it scales from 20,000 to over 7 million users. - **Community Reflection**: He concludes with a reflection on the value of community engagement, symbolized by contributions from individuals like Jim Wier, stressing the importance of connections over the code itself. Overall, the talk provides a comprehensive overview of GitHub's innovative approaches to deploying code and maintaining high levels of confidence through measurement and experimentation.
Suggest modifications
Cancel