How do you go about updating code that impacts every single user? How can we avoid introducing bugs or issues that would impact millions? Unit tests and A/B testing might not be enough. GitHub ran into this problem when they had to rewrite their permissions code which affects the access control to accounts, teams, repositories, and more. Any bugs in this code would be catastrophic to their users. Taking inspiration from the scientific method GitHub developed the Scientist library that helped facilitate running experiments in production until they were confident with the results. The original Scientist library was written in Ruby but now, it has been ported to Kotlin. Let’s together explore the features and practice integrating Scientist in this codelab so you can start refactoring critical code with confidence.
In this coffee break codelab, you'll explore:
-
What is critical code?
-
The challenges of updating critical code
-
Learn how GitHub overcame its fear of rewriting its access control rules with Scientist.
-
Validate correctness, error handling, and performance with Scientist
-
Practice integrating Scientist in the Codelab