Shopify Engineering

Ruby 3.2’s YJIT is Production-Ready

Ruby 3.2’s YJIT is Production-Ready

YJIT, a just-in-time (JIT) implementation on top of CRuby built at Shopify, is now production-ready and delivering major improvements to performance and speed. Maxime (Senior Staff Engineer and leader of the...

Ruby 3.2’s YJIT is Production-Ready

YJIT, a just-in-time (JIT) implementation on top of CRuby built at Shopify, is now production-ready and delivering major improvements to performance and speed. Maxime (Senior Staff Engineer and leader of the...

How Good Documentation Can Improve Productivity

How Good Documentation Can Improve Productivity

Good documentation has many benefits, but first and foremost it boosts engineers’ productivity. Here are a few tips to encourage a strong writing culture.

How Good Documentation Can Improve Productivity

Good documentation has many benefits, but first and foremost it boosts engineers’ productivity. Here are a few tips to encourage a strong writing culture.

From Ruby to Node: Overhauling Shopify’s CLI for a Better Developer Experience

From Ruby to Node: Overhauling Shopify’s CLI fo...

In this blog post, Pedro explains why we rewrote Shopify CLI into Node instead of Ruby, the tradeoffs that came with the decision, the principles we embraced in this new...

From Ruby to Node: Overhauling Shopify’s CLI fo...

In this blog post, Pedro explains why we rewrote Shopify CLI into Node instead of Ruby, the tradeoffs that came with the decision, the principles we embraced in this new...

Reliving Your Happiest HTTP Interactions with Ruby’s VCR Gem

Reliving Your Happiest HTTP Interactions with R...

VCR is a Ruby library that records HTTP interactions and plays them back to your test suite, verifying input and returning predictable output. If you're struggling with difficult to maintain mocks,...

Reliving Your Happiest HTTP Interactions with R...

VCR is a Ruby library that records HTTP interactions and plays them back to your test suite, verifying input and returning predictable output. If you're struggling with difficult to maintain mocks,...

Monte Carlo Simulations: Separating Signal from Noise in Sampled Success Metrics

Monte Carlo Simulations: Separating Signal from...

Usually, when you set success metrics you’re able to directly measure the value of interest in its entirety. For example, Shopify can measure Gross Merchandise Volume (GMV) with precision because...

Monte Carlo Simulations: Separating Signal from...

Usually, when you set success metrics you’re able to directly measure the value of interest in its entirety. For example, Shopify can measure Gross Merchandise Volume (GMV) with precision because...

React Native Skia: A Year in Review and a Look Ahead

React Native Skia: A Year in Review and a Look ...

With the latest advances in the React Native architecture, allowing direct communication between the JavaScript and native sides, we saw an opportunity to provide an integration for Skia, arguably the...

React Native Skia: A Year in Review and a Look ...

With the latest advances in the React Native architecture, allowing direct communication between the JavaScript and native sides, we saw an opportunity to provide an integration for Skia, arguably the...