Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf 2019 - Adopting Sorbet at Scale by Ufuk Kayserilioglu Shopify is a platform used by 800K merchants generating 12B$ revenue per year, serving 80K requests per second. Our core monolith is a 21K file Ruby on Rails application modified by 800 PRs per day. At this scale, we’re always looking out for tools that improve our confidence in the code that we write and maintain. In this talk, we’ll explain how we adopted Sorbet to leverage static typing in our Ruby codebase. We’ll talk about our journey, the challenges we faced and how we overcame them. Based on this experience, you’ll get a better understanding of how you can benefit from Sorbet, too. #confreaks #rubyconf2019
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 this talk presented at RubyConf 2019, titled 'Adopting Sorbet at Scale', Ufuk Kayserilioglu, a Senior Production Engineer at Shopify, discusses the integration of Sorbet, a static type checker for Ruby, into Shopify’s extensive Ruby on Rails codebase. With over 1 million merchants relying on Shopify's platform and a core monolith composed of approximately 21,000 Ruby files, the need for improved code safety and reliability was critical. Key aspects of the presentation include: - **Introduction to Ruby and Shopify’s Scale**: - Shopify operates at a significant scale, handling 80,000 requests per second and generating $12 billion in annual revenue. - The core application is subjected to 800 pull requests daily, necessitating robust testing and reliability measures. - **Explaining Sorbet**: - Sorbet is highlighted as a fast type checker allowing for gradual adoption in the codebase. - It offers a configurable type system and identifies type mismatches clearly, enhancing code quality and maintenance. - **Adoption Journey**: - Shopify was a pioneer in adopting Sorbet, starting small in 2018 and mandating its use in CI by May 2019. - Challenges included building a runtime component, generating RBI files for external gems, and addressing meta-programming complexities inherent in Ruby on Rails. - **Outcomes and Results**: - Significant progress has been made, with around 4,500 methods annotated with type signatures. - Developers reported improved feedback loops, fewer required tests, and enhanced code quality due to the adoption of static typing principles. - **Conclusions and Recommendations**: - Kayserilioglu suggests a gradual approach to type annotations, using tools like Tapioca for RBI generation and RuboCop for enforcing type checks. - He emphasizes that type safety can coexist with Ruby's dynamic nature without requiring extensive project rewrites. Overall, the talk illustrates how incorporating Sorbet into Shopify’s operations has significantly improved code confidence and safety while maintaining flexibility and developer productivity. The session concludes with Kayserilioglu encouraging developers to embrace gradual typing and focus on leveraging Sorbet’s safety features without overwhelming their workflow.
Suggest modifications
Cancel