{"id":26222,"date":"2021-08-11T18:02:17","date_gmt":"2021-08-11T17:02:17","guid":{"rendered":"https:\/\/www.intercom.com\/blog\/?p=26222"},"modified":"2023-12-01T22:05:57","modified_gmt":"2023-12-01T22:05:57","slug":"ship-fast-safe-learn-from-production","status":"publish","type":"post","link":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/","title":{"rendered":"Shipping fast and safe: Building a culture of low-risk learning"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Here at Intercom, we believe in<\/span> <a href=\"https:\/\/www.intercom.com\/blog\/shipping-is-your-companys-heartbeat\/\"><span style=\"font-weight: 400;\">shipping as quickly as possible<\/span><\/a><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It breathes life into your engineering team, and teams across the company, as customer issues and requests are resolved quickly and efficiently. But here\u2019s the caveat: you can\u2019t just ship fast, you have to make sure your team is equipped to ship safely.\u00a0<\/span><\/p>\n<h2 id=\"why-do-we-ship-fast\"><span style=\"font-weight: 400;\">Why do we ship fast?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">We\u2019ve always <a href=\"https:\/\/www.intercom.com\/blog\/shipping-is-the-beginning\/\">shipped to learn<\/a> at Intercom. We believe there\u2019s only so much you can do with automated tests and pre-production environments. Production is the only place where your code, infrastructure, and customers come together to represent objective reality. It\u2019s only in production that you can truly validate the performance and correctness of your code, and learn how your customers use your product. Shipping speed is the key to success; it allows <\/span><a href=\"https:\/\/www.intercom.com\/blog\/building-high-performing-teams\/\"><span style=\"font-weight: 400;\">high-performing teams<\/span><\/a><span style=\"font-weight: 400;\"> to learn and iterate faster.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As an organization, we foster a culture of iterative delivery, and we continuously invest in our delivery pipeline to make deployments delightful and easy. We encourage engineers to ship the smallest thing (we call them <\/span><a href=\"https:\/\/www.intercom.com\/blog\/start-with-a-cupcake\/\"><span style=\"font-weight: 400;\">cupcakes<\/span><\/a><span style=\"font-weight: 400;\">) as quickly as possible, and every <\/span><a href=\"https:\/\/www.intercom.com\/blog\/your-first-few-months-as-an-engineer\/\"><span style=\"font-weight: 400;\">new hire<\/span><\/a><span style=\"font-weight: 400;\"> on our engineering team ships a feature within their first week. With over 50 deployments per day, it generally takes less than 12 minutes to ship new code.<\/span><\/p>\n<blockquote class=\"pullquote-style-one\"><p>\u201cMost of the problems awaiting you in production are so-called \u2018unknown unknowns\u2019 \u2013 things you can\u2019t predict or plan for\u201d<\/p><\/blockquote>\n<p><span style=\"font-weight: 400;\">But, as always, with great power comes great responsibility. Every new change increases the risk of a failure. After all, most of the problems awaiting you in production are so-called \u201cunknown unknowns\u201d \u2013 things you can\u2019t predict or plan for. Rather than creating artificial barriers to shipping, we minimize risk by building resilience \u2013 investing in observability, ensuring fast recovery, and reducing the blast radius of potential issues, while maintaining effective communication across the board.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here is a set of techniques we employ at Intercom to enable product engineers to safely learn from the production environment.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Be available after shipping\u00a0<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Be available after you ship a risky change \u2013 it\u2019s your responsibility to make sure your change gets out safely. Monitoring and alerting systems aren\u2019t perfect, and it can take some time for the customers to notice problems and report them to the support team. You have in-depth knowledge of the change and the context around it, and will be able to spot problems even before automation kicks in.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We encourage engineers to observe and test the changes they ship in production using little tricks like Slack notifications upon deployment completion. Engineers learn how to assess and mitigate negative customer impact through regular lightweight on-call shifts during office hours.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Ship instrumentation first<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">We all deal with business-critical legacy systems from time to time. Even the simplest change to those systems could be risky because of your lack of context and the potential blast radius. So how do you start learning safely? One option is to ship instrumentation first \u2013 even a simple log line can save you hours of meticulous planning. Understanding what triggers the code path you are about to change helps to identify potential dependencies that may not be obvious from the code itself. Knowing the scale of the traffic in advance will help to define desired performance guarantees.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">At Intercom, we invest in our auto-instrumentation, exposing high-quality tracing telemetry data out of the box. We encourage engineers to ship custom instrumentation even before the code itself is written \u2013 the data gathered is a valuable input into the tech planning process.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Use feature flags<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Being able to turn something on or off for a subset of your customers is a superpower. It allows you to learn and iterate safely while minimizing the blast radius. At Intercom, we use feature flags: <\/span><span style=\"font-weight: 400;\">a simple mechanism to <\/span><span style=\"font-weight: 400;\">control which customers have access<\/span><span style=\"font-weight: 400;\"> to a feature<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<blockquote class=\"pullquote-style-one\"><p>\u201cKnowing you can disable a change with a click of a button creates a safe haven for engineers to learn from production\u201d<\/p><\/blockquote>\n<p><span style=\"font-weight: 400;\">Knowing you can disable a change with a click of a button creates a safe haven for engineers to learn from production. Feature flags change the way engineers think about product development, from internal experiments to public betas. During an outage, feature flags can also be used to turn off non-critical components, helping the system to recover faster.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Avoid leaving too many feature flags hanging around for too long \u2013 it makes it difficult to understand how exactly an application works. At Intercom, we\u2019ve built an automated process to surface stale, globally-enabled feature flags and notify the corresponding product teams.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Ship to a small subset of the traffic<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">While feature flags help to reduce the blast radius, sometimes it\u2019s not easy to choose a representative sample of your customers to uncover all of the \u201cunknown unknowns.\u201d <\/span><span style=\"font-weight: 400;\">Consider shipping to a small, random percentage of your traffic to reveal the edge cases while keeping the impact relatively small.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Getting that random selection is the key and there are multiple ways to do it. At Intercom, after a \u201cpull request\u201d is reviewed and approved, you can ship the change to just a single \u201ccanary\u201d instance running your code to discover any issues.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Ship the \u201cread\u201d path first<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">It is relatively easy to undo a change that does not affect the way data is written (\u201cwrite\u201d path). Our single-click rollback mechanism can put the previous deployment back into service straight away. In contrast, undoing a change that has altered the \u201cwrite\u201d path might result in a different type of outage \u2013 the previous version of the code may not recognize the data produced by the reverted change.\u00a0<\/span><\/p>\n<blockquote class=\"pullquote-style-one\"><p>\u201cIt\u2019s always a good idea to share a document detailing the rollout and rollback plans with the team\u201d<\/p><\/blockquote>\n<p><span style=\"font-weight: 400;\">To stay on the safe side, we try to ship changes to the \u201cread\u201d path first to teach the system how to consume the data in both the old and new formats. Only then will it be safe to consider shipping a risky change to the \u201cwrite\u201d path.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Document and share your plan and actions<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">When dealing with a risky multi-step manual operation (such as a change to the infrastructure), it\u2019s always a good idea to share a document detailing the rollout and rollback plans with the team. We use GitHub Issues (we call them tracking issues here at Intercom) to share context and document every step we take during the rollout in comments. This documentation helps team members to catch up with the incident quickly, and builds an excellent library of learning material \u2013 we often refer to them long after an operation is completed.<\/span><\/p>\n<h2 id=\"learn-in-a-safe-environment\"><span style=\"font-weight: 400;\">Learn in a safe environment<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">These techniques create a safe environment where Intercom\u2019s engineers can provide real value to our customers, learning as they go. We\u2019re constantly revisiting and improving our deployment process to ensure we continue to ship as quickly and safely as possible. If you\u2019d like to be part of our high-performing team, come and join us \u2013 we\u2019re <a href=\"http:\/\/intercom.com\/careers\/\">hiring<\/a>!<\/span><\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Here at Intercom, we believe in shipping as quickly as possible. But you can\u2019t just ship fast, you have to ship safe.\u00a0Here are our tips for enabling product engineers to safely learn from the production environment.<\/p>\n","protected":false},"author":492,"featured_media":26223,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"category":[12898],"tags":[335,24902,146,58],"coauthors":[24945],"class_list":["post-26222","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","tag-engineering","tag-engineering-culture","tag-recruitment","tag-shipping"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Shipping fast and safe: Building a culture of iterative delivery<\/title>\n<meta name=\"description\" content=\"Here at Intercom, we believe in shipping as quickly as possible. But here\u2019s the caveat: you can\u2019t just ship fast, you have to ship safe.\u00a0\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Shipping fast and safe: Building a culture of low-risk learning\" \/>\n<meta property=\"og:description\" content=\"Here at Intercom, we believe in shipping as quickly as possible. But here\u2019s the caveat: you can\u2019t just ship fast, you have to ship safe.\u00a0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/\" \/>\n<meta property=\"og:site_name\" content=\"The Intercom Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/intercominc\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-11T17:02:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T22:05:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2021\/08\/shipping-safely-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"879\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kesha Mykhailov\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@intercom\" \/>\n<meta name=\"twitter:site\" content=\"@intercom\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kesha Mykhailov\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/\"},\"author\":{\"name\":\"Kesha Mykhailov\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/e874fcf09f7244265d15c0b172703765\"},\"headline\":\"Shipping fast and safe: Building a culture of low-risk learning\",\"datePublished\":\"2021-08-11T17:02:17+00:00\",\"dateModified\":\"2023-12-01T22:05:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/\"},\"wordCount\":1174,\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/shipping-safely-1.jpg\",\"keywords\":[\"Engineering\",\"engineering culture\",\"recruitment\",\"Shipping\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/\",\"name\":\"Shipping fast and safe: Building a culture of iterative delivery\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/shipping-safely-1.jpg\",\"datePublished\":\"2021-08-11T17:02:17+00:00\",\"dateModified\":\"2023-12-01T22:05:57+00:00\",\"description\":\"Here at Intercom, we believe in shipping as quickly as possible. But here\u2019s the caveat: you can\u2019t just ship fast, you have to ship safe.\u00a0\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/ship-fast-safe-learn-from-production\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/shipping-safely-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/shipping-safely-1.jpg\",\"width\":1800,\"height\":879,\"caption\":\"shipping safely\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"name\":\"The Intercom Blog\",\"description\":\"Articles and Podcasts on Customer Service, AI and Automation, Product, and more\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\",\"name\":\"The Intercom Blog\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"width\":1000,\"height\":1000,\"caption\":\"The Intercom Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/intercominc\",\"https:\\\/\\\/x.com\\\/intercom\",\"https:\\\/\\\/www.instagram.com\\\/intercom\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/2491343\",\"https:\\\/\\\/www.pinterest.ie\\\/intercom\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCJG0MvLP03kyzzAkD-w98aQ\",\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Intercom_(company)\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/e874fcf09f7244265d15c0b172703765\",\"name\":\"Kesha Mykhailov\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ef7266e0e36aa65eb3a3ab642e91cee8997aeba88e9ba1ec6cb1e4cebf2736d7?s=96&d=mm&r=pg899dd2c6c8e1021aa865821aadcac5d1\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ef7266e0e36aa65eb3a3ab642e91cee8997aeba88e9ba1ec6cb1e4cebf2736d7?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ef7266e0e36aa65eb3a3ab642e91cee8997aeba88e9ba1ec6cb1e4cebf2736d7?s=96&d=mm&r=pg\",\"caption\":\"Kesha Mykhailov\"},\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/author\\\/inokentii-mykhailovintercom-io\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Shipping fast and safe: Building a culture of iterative delivery","description":"Here at Intercom, we believe in shipping as quickly as possible. But here\u2019s the caveat: you can\u2019t just ship fast, you have to ship safe.\u00a0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/","og_locale":"en_US","og_type":"article","og_title":"Shipping fast and safe: Building a culture of low-risk learning","og_description":"Here at Intercom, we believe in shipping as quickly as possible. But here\u2019s the caveat: you can\u2019t just ship fast, you have to ship safe.\u00a0","og_url":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/","og_site_name":"The Intercom Blog","article_publisher":"https:\/\/www.facebook.com\/intercominc","article_published_time":"2021-08-11T17:02:17+00:00","article_modified_time":"2023-12-01T22:05:57+00:00","og_image":[{"width":1800,"height":879,"url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2021\/08\/shipping-safely-1.jpg","type":"image\/jpeg"}],"author":"Kesha Mykhailov","twitter_card":"summary_large_image","twitter_creator":"@intercom","twitter_site":"@intercom","twitter_misc":{"Written by":"Kesha Mykhailov","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/#article","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/"},"author":{"name":"Kesha Mykhailov","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/e874fcf09f7244265d15c0b172703765"},"headline":"Shipping fast and safe: Building a culture of low-risk learning","datePublished":"2021-08-11T17:02:17+00:00","dateModified":"2023-12-01T22:05:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/"},"wordCount":1174,"publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2021\/08\/shipping-safely-1.jpg","keywords":["Engineering","engineering culture","recruitment","Shipping"],"articleSection":["Engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/","url":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/","name":"Shipping fast and safe: Building a culture of iterative delivery","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/#primaryimage"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2021\/08\/shipping-safely-1.jpg","datePublished":"2021-08-11T17:02:17+00:00","dateModified":"2023-12-01T22:05:57+00:00","description":"Here at Intercom, we believe in shipping as quickly as possible. But here\u2019s the caveat: you can\u2019t just ship fast, you have to ship safe.\u00a0","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/ship-fast-safe-learn-from-production\/#primaryimage","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2021\/08\/shipping-safely-1.jpg","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2021\/08\/shipping-safely-1.jpg","width":1800,"height":879,"caption":"shipping safely"},{"@type":"WebSite","@id":"https:\/\/www.intercom.com\/blog\/#website","url":"https:\/\/www.intercom.com\/blog\/","name":"The Intercom Blog","description":"Articles and Podcasts on Customer Service, AI and Automation, Product, and more","publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.intercom.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.intercom.com\/blog\/#organization","name":"The Intercom Blog","url":"https:\/\/www.intercom.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","width":1000,"height":1000,"caption":"The Intercom Blog"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/intercominc","https:\/\/x.com\/intercom","https:\/\/www.instagram.com\/intercom\/","https:\/\/www.linkedin.com\/company\/2491343","https:\/\/www.pinterest.ie\/intercom\/","https:\/\/www.youtube.com\/channel\/UCJG0MvLP03kyzzAkD-w98aQ","https:\/\/en.wikipedia.org\/wiki\/Intercom_(company)"]},{"@type":"Person","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/e874fcf09f7244265d15c0b172703765","name":"Kesha Mykhailov","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ef7266e0e36aa65eb3a3ab642e91cee8997aeba88e9ba1ec6cb1e4cebf2736d7?s=96&d=mm&r=pg899dd2c6c8e1021aa865821aadcac5d1","url":"https:\/\/secure.gravatar.com\/avatar\/ef7266e0e36aa65eb3a3ab642e91cee8997aeba88e9ba1ec6cb1e4cebf2736d7?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ef7266e0e36aa65eb3a3ab642e91cee8997aeba88e9ba1ec6cb1e4cebf2736d7?s=96&d=mm&r=pg","caption":"Kesha Mykhailov"},"url":"https:\/\/www.intercom.com\/blog\/author\/inokentii-mykhailovintercom-io\/"}]}},"jetpack_featured_media_url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2021\/08\/shipping-safely-1.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/26222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/users\/492"}],"replies":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/comments?post=26222"}],"version-history":[{"count":0,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/26222\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/media\/26223"}],"wp:attachment":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/media?parent=26222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/category?post=26222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/tags?post=26222"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/coauthors?post=26222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}