Shopify Engineering

How to Fix Slow Code in Ruby

How to Fix Slow Code in Ruby

By Jay Lim and Gannon McGibbon At Shopify, we believe in highly aligned, loosely coupled teams to help us move fast. Since we have many teams working independently on a...

How to Fix Slow Code in Ruby

By Jay Lim and Gannon McGibbon At Shopify, we believe in highly aligned, loosely coupled teams to help us move fast. Since we have many teams working independently on a...

Categorizing Products at Scale

Categorizing Products at Scale

By: Jeet Mehta and Kathy Ge With over 1M business owners now on Shopify, there are billions of products being created and sold across the platform. Just like those business...

Categorizing Products at Scale

By: Jeet Mehta and Kathy Ge With over 1M business owners now on Shopify, there are billions of products being created and sold across the platform. Just like those business...

Software Release Culture at Shopify

Software Release Culture at Shopify

A recording of the event and the additional questions are now available in the Release Culture @ Shopify Virtual Event section at the end of the post. By Jack Li, Kate Neely,...

Software Release Culture at Shopify

A recording of the event and the additional questions are now available in the Release Culture @ Shopify Virtual Event section at the end of the post. By Jack Li, Kate Neely,...

Building Arrive's Confetti in React Native with Reanimated

Building Arrive's Confetti in React Native with...

Shopify is investing in React Native as our primary choice of mobile technology moving forward. As a part of this we’ve rewritten our package tracking app Arrive with React Native and launched it...

Building Arrive's Confetti in React Native with...

Shopify is investing in React Native as our primary choice of mobile technology moving forward. As a part of this we’ve rewritten our package tracking app Arrive with React Native and launched it...

Optimizing Ruby Lazy Initialization in TruffleRuby with Deoptimization

Optimizing Ruby Lazy Initialization in TruffleR...

Shopify's involvement with TruffleRuby began half a year ago, with the goal of furthering the success of the project and Ruby community. TruffleRuby is an alternative implementation of the Ruby...

Optimizing Ruby Lazy Initialization in TruffleR...

Shopify's involvement with TruffleRuby began half a year ago, with the goal of furthering the success of the project and Ruby community. TruffleRuby is an alternative implementation of the Ruby...

Refactoring Legacy Code with the Strangler Fig Pattern

Refactoring Legacy Code with the Strangler Fig ...

Large objects are a code smell: overloaded with responsibilities and dependencies, as they continue to grow, it becomes more difficult to define what exactly they’re responsible for. Large objects are...

Refactoring Legacy Code with the Strangler Fig ...

Large objects are a code smell: overloaded with responsibilities and dependencies, as they continue to grow, it becomes more difficult to define what exactly they’re responsible for. Large objects are...