https://shopify.engineering/blog.atom 2024-03-05T15:37:37-05:00 Shopify Engineering https://shopify.engineering/improving-shopify-app-s-performance 2024-03-05T15:37:37-05:00 2024-05-16T10:42:31-04:00 Talha Naqvi https://shopify.engineering/a-packwerk-retrospective 2024-02-07T16:40:35-05:00 2024-05-16T17:07:12-04:00 Gannon McGibbon https://shopify.engineering/horizontally-scaling-the-rails-backend-of-shop-app-with-vitess 2024-01-17T15:34:53-05:00 2024-07-25T09:13:52-04:00 Hammad Khalid Shop app horizontally scaled a Ruby on Rails app with Vitess. This blog describes Vitess and our detailed approach for introducing Vitess to a Rails app.

More

]]>
https://shopify.engineering/getting-started-with-react-native-skia 2023-12-04T10:00:03-05:00 2024-05-17T12:41:06-04:00 Daniel Friyia https://shopify.engineering/introducing-ruvy 2023-10-18T09:43:29-04:00 2024-06-07T10:41:47-04:00 Jeff Charles https://shopify.engineering/building-a-shopifyql-code-editor 2023-09-11T10:02:54-04:00 2024-06-06T11:04:08-04:00 Trevor Harmon https://shopify.engineering/sidekicks-improved-streaming 2023-08-01T16:08:07-04:00 2024-06-07T10:39:44-04:00 Ateş Göral https://shopify.engineering/shopifys-platform-is-the-web-platform 2023-07-26T11:51:33-04:00 2024-06-06T11:04:22-04:00 Surma https://shopify.engineering/contributing-support-for-a-wasm-instruction-to-winch 2023-07-18T16:17:28-04:00 2023-07-18T16:17:28-04:00 Jeff Charles Jeff Charles, a Senior Shopify Developer, shares key learnings from his successful pull request to Winch. The pull request aimed to add support for various WebAssembly instructions to Wasmtime's baseline (non-optimizing) compiler.

More

]]>
https://shopify.engineering/creating-a-flexible-order-routing-system-with-shopify-functions 2023-04-13T09:30:00-04:00 2023-04-13T09:30:00-04:00 Ebun Segun In this article, I’ll cover how we added flexibility to our previous one-size-fits-all order routing system with the introduction of “routing rules”, and how we dogfooded our own Shopify Functions feature to give merchants the ability to create their own routing rules.

More

]]>
https://shopify.engineering/adventures-in-garbage-collection 2023-04-06T10:30:00-04:00 2023-04-13T11:31:32-04:00 Jean Boussier At the beginning of this year, we ran several experiments aimed at reducing the latency impact of the Ruby garbage collector (GC) in Shopify's monolith. In this article, Jean talks about the changes we made to improve GC performance, and more importantly, how we got to these changes.

More

]]>
https://shopify.engineering/react-redux-toolkit-migration 2023-03-31T09:30:02-04:00 2023-03-31T09:30:02-04:00 Daniel Friyia A look at Shopify’s experience improving state management in the Shopify POS app by migrating from a Vanilla Redux codebase to Redux Toolkit one.

More

]]>
https://shopify.engineering/what-being-a-staff-developer-means-at-shopify 2023-03-29T10:00:01-04:00 2023-03-29T10:45:42-04:00 Rose Wiegley staff developer is an adaptable engineering leader that's comfortable working with ambiguity.

More

]]>
https://shopify.engineering/supporting-passkeys-in-shop-authentication-flows 2023-03-24T09:00:01-04:00 2023-03-24T09:00:01-04:00 Abraão (Abe) Lourenço Passkeys are a new login credential based on public-key cryptography that replace the need for username and password sign-ins.

More

]]>
https://shopify.engineering/internationalization-i18n-best-practices-front-end-developers 2023-03-16T14:19:33-04:00 2023-03-16T17:38:22-04:00 Lucas Huang

Here are a few internationalization (i18n) best practices to help front-end developers avoid errors and serve more robust text content on multilingual websites and apps.

More

]]>
https://shopify.engineering/shopify-tophat-mobile-developer-testing 2023-03-14T10:30:00-04:00 2023-03-15T14:10:27-04:00 Lukas Romsicki More

]]>
https://shopify.engineering/shopifys-machine-learning-platform-real-time-predictions 2023-03-10T11:16:27-05:00 2023-03-27T11:38:44-04:00 Isaac Vidas Learn how Shopify Data built new online inference capabilities into its Machine Learning Platform to deploy and serve models for real-time prediction at scale.

More

]]>
https://shopify.engineering/improving-the-developer-experience-with-ruby-lsp 2023-02-24T09:00:01-05:00 2023-02-24T09:00:01-05:00 Vinicius Stock The Ruby LSP is a new language server built at Shopify that makes coding in Ruby even better by providing extra Ruby features for any editor that has a client layer for the LSP. In this article, we’ll cover how we built the Ruby LSP, the features included within it, and how you can install it. 

More

]]>
https://shopify.engineering/the-case-against-monkey-patching 2023-02-21T09:00:04-05:00 2023-02-21T13:22:05-05:00 Eileen Uchitelle

Monkey patching is considered one of the more powerful features of the Ruby programming language. However, by the end of this post I’m hoping to convince you that they should be used sparingly, if at all, because they are brittle, dangerous, and often unnecessary. I’ll also share tips on how to use them as safely as possible in the rare cases where you do need to monkey patch.

More

]]>
https://shopify.engineering/technical-debt-25-percent-rule 2023-02-16T12:00:01-05:00 2023-02-16T12:00:01-05:00 John DeWyze Let’s talk about technical debt. Let’s talk about practical usable approaches for actually paying it down on a daily, weekly, monthly, and yearly basis. Let’s talk about what debt needs to be fixed now versus what can wait for better planning.

More

]]>
https://shopify.engineering/building-commerce-data-models-with-shopifyql 2023-02-14T11:00:04-05:00 2024-07-25T09:13:11-04:00 Cody Mazza-Anthony We recently released ShopifyQL Notebooks, a powerful self-serve tool which enables merchants to explore their business metrics without any SQL expertise. Here’s how we used ShopifyQL and commerce data models to make it possible.

More

]]>
https://shopify.engineering/javascript-in-webassembly-for-shopify-functions 2023-02-09T09:00:02-05:00 2023-02-09T11:54:44-05:00 Surma While we’re working on getting our Shopify Functions infrastructure ready for the public beta, we thought we’d use this opportunity to shine some light on how we brought JavaScript to WebAssembly, how we made everything fit within our very tight Shopify Function constraints, and what our plans for the future look like.

More

]]>
https://shopify.engineering/complex-data-models-behind-shopify-tax-insights 2023-02-08T10:00:04-05:00 2023-02-08T10:38:00-05:00 Siraj Ali building  functionality to handle dynamically changing information

More

]]>
https://shopify.engineering/the-hardest-part-of-writing-tests-is-getting-started 2023-02-02T10:30:00-05:00 2023-02-02T10:30:00-05:00 Jack Reichert The hardest part of writing tests is setting things up. Full test suites have a lot of complicated helper tools, stubs, and fixtures. They’re not easy to understand as a beginner, let alone set up for yourself. This post covers the four things you can do to get started.

More

]]>
https://shopify.engineering/scale-performance-testing 2023-01-27T11:32:54-05:00 2023-01-27T12:41:18-05:00 Jordan Neufeld More

]]>
https://shopify.engineering/from-farmer-to-security-engineer 2023-01-26T11:00:02-05:00 2023-01-26T11:56:08-05:00 Cailyn Edwards This story looks at the opportunity Dev Degree gave me, the challenges I overcame, and the weaknesses that turned out to be strengths. If you’re thinking about a career in tech, but don’t think you have the stuff for it, this story is for you. 

More

]]>
https://shopify.engineering/making-react-native-gestures-feel-natural 2023-01-20T13:37:05-05:00 2023-01-20T13:37:05-05:00 Andrew Lo https://shopify.engineering/ruby-yjit-is-production-ready 2023-01-17T08:30:02-05:00 2023-01-17T12:03:01-05:00 Maxime Chevalier-Boisvert More

]]>
https://shopify.engineering/good-documentation-productivity 2023-01-12T10:00:04-05:00 2023-01-20T13:15:15-05:00 Michael Chemani More

]]>
https://shopify.engineering/overhauling-shopify-cli-for-a-better-developer-experience 2023-01-10T08:00:01-05:00 2023-01-10T09:58:24-05:00 Pedro Piñera More

]]>