# The State of Ruby Static Typing at Shopify

DevFeed: [The State of Ruby Static Typing at Shopify](<https://devfeed.tech/articles/the-state-of-ruby-static-typing-at-shopify-1646.md>)

Original publisher: [Read original article](<https://shopify.engineering/the-state-of-ruby-static-typing-at-shopify>)

Author: Ufuk Kayserilioglu

Published: 2020-12-07T19:42:31Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [core](<https://devfeed.tech/tags/core.md>), [history](<https://devfeed.tech/tags/history.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [review](<https://devfeed.tech/tags/review.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [scale](<https://devfeed.tech/tags/scale.md>), [shopify](<https://devfeed.tech/tags/shopify.md>)

## AI overview

Shopify describes its adoption of static typing for its large Ruby monolith, including the history of the effort and the use of Sorbet. The article explains challenges involving modules, inclusion requirements, and typing collections such as arrays containing hashes.

## Source excerpt

Shopify changes a lot. We merge around 400 commits to the main branch daily and deploy a new version of our core monolith 40 times a day. The Monolith is also big: 37,000 Ruby files, 622,000 methods, more than 2,000,000 calls. At this scale with a dynamic language, even with the most rigorous review process and over 150,000 automated tests, it's a challenge to ensure everything works properly.