
Adventures in Garbage Collection: Improving GC Performance in our Massive Monolith

How Migrating from Vanilla Redux to Redux Toolkit Improved State Management in Shopify POS

What Being a Staff Developer Means at Shopify

Supporting Passkeys in Shop's Authentication Flows

Lessons From Linguistics: i18n Best Practices for Front-End Developers

Tophat: Crafting a Delightful Mobile Developer Experience

Unlocking Real-time Predictions with Shopify's Machine Learning Platform

Improving the Developer Experience with the Ruby LSP

The Case Against Monkey Patching, From a Rails Core Team Member

The 25 Percent Rule for Tackling Technical Debt

ShopifyQL Notebooks: Simplifying Querying with Commerce Data Models

Bringing Javascript to WebAssembly for Shopify Functions

The Complex Data Models Behind Shopify's Tax Insights Feature

The Hardest Part of Writing Tests is Getting Started

Performance Testing At Scale—for BFCM and Beyond

From Farmer to Security Engineer: How Dev Degree Helped Me Find My Dream Job

Making Your React Native Gestures Feel Natural

Ruby 3.2’s YJIT is Production-Ready

How Good Documentation Can Improve Productivity

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

Reliving Your Happiest HTTP Interactions with Ruby’s VCR Gem

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

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

Migrating our Largest Mobile App to React Native

Optimizing Ruby’s Memory Layout: Variable Width Allocation

Year in Review 2022: Tenderlove's Ruby and Rails Reflections and Predictions

Automatically Rotating GitHub Tokens (So You Don’t Have To)

Shopify Embraces Rust for Systems Programming

3 (More) Tips for Optimizing Apache Flink Applications

Three Essential Remote Work Practices for Engineering Teams

Planning in Bets: Risk Mitigation at Scale

Using Server Sent Events to Simplify Real-time Streaming at Scale

How to Export Datadog Metrics for Exploration in Jupyter Notebooks

Our Solution for Measuring React Native Rendering Times

Implementing Server-Driven UI Architecture on the Shop App

What We Learned from Open-Sourcing FlashList

Caching Without Marshal Part 2: The Path to MessagePack

Caching Without Marshal Part 1: Marshal from the Inside Out

Apollo Cache is Your Friend, If You Get To Know It

Reducing BigQuery Costs: How We Fixed A $1 Million Query

Mixing It Up: Remix Joins Shopify to Push the Web Forward

The Management Poles of Developer Infrastructure Teams

A Software Engineer's Guide to Working Across Time Zones

Hubble: Our Tool for Encapsulating and Extending Security Tools

How to Structure Your Data Team for Maximum Influence

Finding Relationships Between Ruby’s Top 100 Packages and Their Dependencies

On the Importance of Pull Request Discipline

How to Write Code Without Having to Read It
