![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_04_DebuggingsystemsintheCloud-MySQLKubernetesandCgroups.jpg?v=1634832350&width=600)
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_04_DebuggingsystemsintheCloud-MySQLKubernetesandCgroups.jpg?v=1634832350&width=600)
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_03_GitHubDoesMyOperationsHomeworkA-RubySpeedStory.jpg?v=1634656542&width=600)
GitHub Does My Operations Homework: A Ruby Speed Story
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_02_TryOutYJITforFasterRubying.jpg?v=1634573165&width=600)
Try Out YJIT for Faster Rubying
![YJIT: Building a New JIT Compiler for CRuby](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_01_YJIT-BuildingaNewJITCompilerforCRuby.jpg?v=1634573149&width=600)
YJIT: Building a New JIT Compiler for CRuby
![Winning AI4TSP: Solving the Travelling Salesperson Problem with Self-programming Machines](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210913_72ppi_06_TeamShopifyAndFriendsWinsInternationalAICompetition.jpg?v=1634153835&width=600)
Winning AI4TSP: Solving the Travelling Salesperson Problem with Self-programming Machines
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_72ppi_01_JourneyThroughaDevDegreeInternsFirstPlacement.jpg?v=1633101623&width=600)
Journey Through a Dev Degree Intern’s First Placement
![Reusing Code with React Native Packages at Shopify](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210630_72ppi_06_ReactNativePackagesAtShopify.png?format=jpg&quality=90&v=1632843288&width=600)
Reusing Code with React Native Packages at Shopify
![Shard Balancing: Moving Shops Confidently with Zero-Downtime at Terabyte-scale](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210913_72ppi_01_ShardBalancingMovingShops.jpg?v=1634153777&width=600)
Shard Balancing: Moving Shops Confidently with Zero-Downtime at Terabyte-scale
![Making Shopify’s Flagship App 20% Faster in 6 Weeks Using a Novel Caching Solution](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210913_72ppi_05_MakingShopifysFlagshipApp20PctFasterIn6Weeks.jpg?v=1634153724&width=600)
Making Shopify’s Flagship App 20% Faster in 6 Weeks Using a Novel Caching Solution
![Introducing LinNét: Using Rich Image and Text Data to Categorize Products at Scale](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210913_72ppi_04_ContinuousJustInTimeGrowthForYourCareer.jpg?v=1634153999&width=600)
Using Rich Image and Text Data to Categorize Products at Scale
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_72ppi_03_KotlinStyleCopyForSwiftStructs.jpg?v=1630535247&width=600)
A Kotlin Style .copy Function for Swift Structs
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_72ppi_05_FiveStepsforBuildingMachineLearning.jpg?v=1631637937&width=600)
5 Steps for Building Machine Learning Models for Business
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_72ppi_04_DigginAndFetchin.jpg?v=1629396570&width=600)
Diggin’ and Fetchin’ with TruffleRuby
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_72ppi_04_ModellingDeveloperTooling.jpg?v=1631637906&width=600)
Modelling Developer Infrastructure Teams
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_72ppi_02_LifeWorkLessonsFromBridgeTheGapSessions.jpg?v=1628703766&width=600)
Bridging the Gap Between Developers and End Users
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210630_72ppi_02_UnderstandingGraphQLForBeginners_f7795cc6-e256-4b0b-a53b-e849cd00ae1f.png?format=jpg&quality=90&v=1628187703&width=600)
Understanding GraphQL for Beginners–Part Three
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210630_72ppi_03_MobPairing.png?format=jpg&quality=90&v=1627590319&width=600)
Connecting with Mob Programming
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210614_72ppi_02_GuideToRunningAnEngineeringProgram.jpg?v=1626795999&width=600)
A Guide to Running an Engineering Program
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210630_72ppi_04_ReactNativeEntryPoints.png?format=jpg&quality=90&v=1626811283&width=600)
Perspectives on React Native from Three Shopify Developers
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_72ppi_01_ShopifyMadePatternsInOurRailsApps.jpg?v=1631638188&width=600)
Shopify-Made Patterns in Our Rails Apps
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_72ppi_06_ShopifysPathtoaFasterTrinoQueryExecutionInfrastructure.jpg?v=1631638033&width=600)
Shopify's Path to a Faster Trino Query Execution: Infrastructure
![A snail in profile with the spinning waiting symbol on its shell](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210630_72ppi_01_HighAvailabilityByOffloading.png?format=jpg&quality=90&v=1626811143&width=600)
High Availability by Offloading Work Into the Background
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210630_72ppi_02_UnderstandingGraphQLForBeginners_92d951dd-ba2c-4cf7-a847-690a38c4c34e.png?format=jpg&quality=90&v=1626811198&width=600)
Understanding GraphQL for Beginners–Part Two
![Understanding GraphQL for Beginners–Part One](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210630_72ppi_02_UnderstandingGraphQLForBeginners.png?format=jpg&quality=90&v=1626811179&width=600)
Understanding GraphQL for Beginners–Part One
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210614_72ppi_03_LetsEncryptXShopify.jpg?v=1625687537&width=600)
Let’s Encrypt x Shopify: Securing the Web 4.5 Million Domains at a Time
![Rate Limiting GraphQL APIs by Calculating Query Complexity](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210614_72ppi_01_RateLimitingGraphQLAPIs.jpg?v=1625687557&width=600)
Rate Limiting GraphQL APIs by Calculating Query Complexity
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/science-beaker-and-pipette.jpg?v=1623948709&width=600)
10 Lessons Learned From Online Experiments
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210614_72ppi_04_QueryingStrategiesForGraphQLClients.jpg?v=1625687621&width=600)
Querying Strategies for GraphQL Clients
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210614_72ppi_06_DeletingTheUndeletable.jpg?v=1625687599&width=600)
Schematizing Deletion at Scale
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Frame_11-4.jpg?v=1622753152&width=600)
Updating Illustrations at Scale
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShipIt_14YouTubeThumbnail.jpg?v=1622121002&width=600)
Shipit! Presents: How We Write React Native Apps
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/In-Context_Orders_Blogpost_Header_-_1024x538px-1.png?format=jpg&quality=90&v=1621968017&width=600)
How Shopify Built An In-Context Analytics Experience
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210614_72ppi_05_OtherDrivenDevelopments.jpg?v=1625687646&width=600)
Other Driven Developments
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shop_Eng_Blog_Header_7.png?format=jpg&quality=90&v=1620851831&width=600)
Three Ways We Share Context at Shopify Engineering
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shop_Eng_Blog_Header_6.png?format=jpg&quality=90&v=1620231164&width=600)
How I Define My Boundaries to Prevent Burnout
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shop_Eng_Blog_Header_5.png?format=jpg&quality=90&v=1619632390&width=600)
A Five-Step Guide for Conducting Exploratory Data Analysis
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shop_Eng_Blog_Header_4.png?format=jpg&quality=90&v=1618938757&width=600)
Dynamic ProxySQL Query Rules
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shop_Eng_Blog_Header_3.png?format=jpg&quality=90&v=1618518074&width=600)
Management of Native Code and React Native at Shopify
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shop_Eng_Blog_Header_2.png?format=jpg&quality=90&v=1617992782&width=600)
How Shopify Dynamically Routes Storefront Traffic
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyHelpCenter.png?format=jpg&quality=90&v=1617296393&width=600)
Building Smarter Search Products: 3 Steps for Evaluating Search Algorithms
![How to Build a Web App with and without Rails Libraries](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210525_72ppi_03_HowtoBuildaWebAppwithandwithoutRailsLibraries.jpg?v=1623688086&width=600)
How to Build a Web App with and without Rails Libraries
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shop_Eng_Blog_Header.png?format=jpg&quality=90&v=1616070726&width=600)
Remove Circular Dependencies by Using Dependency Injection and the Repository Pattern in Ruby
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Untitled_design_13.png?format=jpg&quality=90&v=1615570739&width=600)
Capturing Every Change From Shopify’s Sharded Monolith
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Untitled_design_9.png?format=jpg&quality=90&v=1615480581&width=600)
Updates on Shopify’s Bug Bounty Program
![4 Tips for Shipping Data Products Fast](https://cdn.shopify.com/s/files/1/0779/4361/articles/subway-tunnel-speed-vortex.jpg?v=1614706084&width=600)
4 Tips for Shipping Data Products Fast
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/car-99-takes-the-lead-in-a-blur-of-speed_6f31a4e3-3a2e-4218-ad81-52e8c1d2eaa6.jpg?v=1614108132&width=600)
Keeping Developers Happy with a Fast CI
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Erick_06.jpg?v=1614029735&width=600)
Read Consistency with Database Replicas
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/hands-holding-money-aflame_1.jpg?v=1613502995&width=600)
Bound to Round: 8 Tips for Dealing with Hanging Pennies
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/in-office-working-on-laptop_617cee5e-bde8-4a47-b3f8-53edf736a7d3.jpg?v=1613506241&width=600)
Using Betas to Deploy New Features Safely
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/man-and-woman-work-meet.jpg?v=1612976963&width=600)