CINXE.COM

backend Archives - Spotify Engineering : Spotify Engineering

<!doctype html> <html lang="en-US" class="no-js"> <head> <meta charset="UTF-8"> <title>backend Archives - Spotify Engineering : Spotify Engineering</title> <link href="//www.google-analytics.com" rel="dns-prefetch"> <link href="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/favicon.png" rel="shortcut icon"> <link href="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/favicon.png" rel="apple-touch-icon-precomposed"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Spotify’s official technology blog"> <meta name='robots' content='noindex, follow' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO plugin v24.4 - https://yoast.com/wordpress/plugins/seo/ --> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="backend Archives - Spotify Engineering" /> <meta property="og:url" content="https://engineering.atspotify.com/tag/backend/" /> <meta property="og:site_name" content="Spotify Engineering" /> <meta name="twitter:card" content="summary_large_image" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://engineering.atspotify.com/tag/backend/","url":"https://engineering.atspotify.com/tag/backend/","name":"backend Archives - Spotify Engineering","isPartOf":{"@id":"https://engineering.atspotify.com/#website"},"primaryImageOfPage":{"@id":"https://engineering.atspotify.com/tag/backend/#primaryimage"},"image":{"@id":"https://engineering.atspotify.com/tag/backend/#primaryimage"},"thumbnailUrl":"https://storage.googleapis.com/production-eng/1/2023/06/EN196_Analyzing-Volatile-Memory-final-590.png","breadcrumb":{"@id":"https://engineering.atspotify.com/tag/backend/#breadcrumb"},"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://engineering.atspotify.com/tag/backend/#primaryimage","url":"https://storage.googleapis.com/production-eng/1/2023/06/EN196_Analyzing-Volatile-Memory-final-590.png","contentUrl":"https://storage.googleapis.com/production-eng/1/2023/06/EN196_Analyzing-Volatile-Memory-final-590.png","width":1200,"height":590,"caption":"Analyzing Volatile Memory header image with Kubernetes shipping container and storage boxes inside."},{"@type":"BreadcrumbList","@id":"https://engineering.atspotify.com/tag/backend/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://engineering.atspotify.com/"},{"@type":"ListItem","position":2,"name":"backend"}]},{"@type":"WebSite","@id":"https://engineering.atspotify.com/#website","url":"https://engineering.atspotify.com/","name":"Spotify Engineering","description":"Spotify’s official technology blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://engineering.atspotify.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//engineering.atspotify.com' /> <link rel='stylesheet' id='wp-block-library-css' href='https://engineering.atspotify.com/wp-includes/css/dist/block-library/style.min.css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='normalize-css' href='https://storage.googleapis.com/production-eng/1/hummingbird-assets/0542d2a3096ab427e575b3e60d22f969.css' media='all' /> <link rel='stylesheet' id='html5blank-css' href='https://engineering.atspotify.com/wp-content/themes/theme-spotify/style.css' media='all' /> <style id='akismet-widget-style-inline-css' type='text/css'> .a-stats { --akismet-color-mid-green: #357b49; --akismet-color-white: #fff; --akismet-color-light-grey: #f6f7f7; max-width: 350px; width: auto; } .a-stats * { all: unset; box-sizing: border-box; } .a-stats strong { font-weight: 600; } .a-stats a.a-stats__link, .a-stats a.a-stats__link:visited, .a-stats a.a-stats__link:active { background: var(--akismet-color-mid-green); border: none; box-shadow: none; border-radius: 8px; color: var(--akismet-color-white); cursor: pointer; display: block; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif; font-weight: 500; padding: 12px; text-align: center; text-decoration: none; transition: all 0.2s ease; } /* Extra specificity to deal with TwentyTwentyOne focus style */ .widget .a-stats a.a-stats__link:focus { background: var(--akismet-color-mid-green); color: var(--akismet-color-white); text-decoration: none; } .a-stats a.a-stats__link:hover { filter: brightness(110%); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 0 2px rgba(0, 0, 0, 0.16); } .a-stats .count { color: var(--akismet-color-white); display: block; font-size: 1.5em; line-height: 1.4; padding: 0 13px; white-space: nowrap; } </style> <script type="text/javascript" src="https://storage.googleapis.com/production-eng/1/hummingbird-assets/be22fbd2162b355c38507a7d996caec9.js" id="wphb-1-js"></script> <script type="text/javascript" id="html5blankscripts-js-extra"> /* <![CDATA[ */ var spotify = {"ajaxurl":"https:\/\/engineering.atspotify.com\/wp-admin\/admin-ajax.php","blog_nonce":"b1da207d46"}; /* ]]> */ </script> <script type="text/javascript" src="https://storage.googleapis.com/production-eng/1/hummingbird-assets/48f1f973342f3ea0348f45a762fc07bc.js" id="html5blankscripts-js"></script> <link rel="https://api.w.org/" href="https://engineering.atspotify.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://engineering.atspotify.com/wp-json/wp/v2/tags/26" /><link rel="icon" href="https://storage.googleapis.com/production-eng/1/2021/03/cropped-Engineering-Icon-RGB-512x512-light-120x120.png" sizes="32x32" /> <link rel="icon" href="https://storage.googleapis.com/production-eng/1/2021/03/cropped-Engineering-Icon-RGB-512x512-light-250x250.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://storage.googleapis.com/production-eng/1/2021/03/cropped-Engineering-Icon-RGB-512x512-light-250x250.png" /> <meta name="msapplication-TileImage" content="https://storage.googleapis.com/production-eng/1/2021/03/cropped-Engineering-Icon-RGB-512x512-light.png" /> <script> // conditionizr.com // configure environment tests conditionizr.config({ assets: 'https://engineering.atspotify.com/wp-content/themes/theme-spotify', tests: {} }); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <!-- Google Tag Manager --> <script> (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-W5NPJP7'); </script> <!-- End Google Tag Manager --> <link rel="stylesheet" type="text/css" href="//wpcc.io/lib/1.0.2/cookieconsent.min.css" /> <script src="//wpcc.io/lib/1.0.2/cookieconsent.min.js"></script> <script> window.addEventListener("load", function() { window.wpcc.init({ "border": "0", "colors": { "popup": { "background": "transparent", "text": "#fff" }, "button": { "background": "transparent ", "text": "#FFFFFF" } }, "fontsize": "small", "content": { "button": "X", "message": "<span>Is your org IDP-ready? </span> Try Spotify Portal for Backstage. &nbsp; <a href='https://info.backstage.spotify.com/portal-cloud-checklist?utm_campaign=Portal%20Release&utm_source=Banner' target='_blank'> Here's what to expect during the beta</a>" }, "position": "top", "pushdown": true }) }); </script> </head> <body class="archive tag tag-backend tag-26" > <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W5NPJP7" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- header --> <header class="header clear" id="header" role="banner"> <div class="container"> <!-- logo --> <div class="logo"> <a href="https://engineering.atspotify.com"> <img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/logo.svg" alt="Logo" class="logo-img"> </a> </div> <!-- /logo --> <a href="javascript:void(0)" class="burger-menu"> <span></span> <span></span> <span></span> </a> <form role="search" method="get" class="search-form" action="https://engineering.atspotify.com/"> <input type="search" class="search-field" value="" name="s" title="Search for:" /> <button type="submit" class="submit" value="Search"><img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/search.svg" alt=""></button> </form> <!-- nav --> <nav class="nav" role="navigation"> <ul><li id="menu-item-3367" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-3367"><a href="https://engineering.atspotify.com">Blog</a></li> <li id="menu-item-5073" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5073"><a href="https://engineering.atspotify.com/podcast/">Podcasts</a></li> <li id="menu-item-4727" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4727"><a href="https://engineering.atspotify.com/opensource/">Open Source</a></li> <li id="menu-item-3366" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3366"><a href="https://engineering.atspotify.com/about/">About</a></li> <li id="menu-item-3409" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3409"><a href="https://engineering.atspotify.com/jobs/">Jobs</a></li> </ul> </nav> <!-- /nav --> </div> <a href="javascript:void(0)" class="mobile-search"> <img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/search-icon-white.svg" alt=""> <div class="span-holder"> <span></span> <span></span> </div> </a> </header> <!-- wrapper --> <div id="wrapper" class="wrapper"> <div class="form-holder"> <form role="search" method="get" class="search-form header-form" action="https://engineering.atspotify.com/"> <input type="search" class="search-field" placeholder="Search Engineering Blog …" value="" name="s" title="Search for:" /> <button type="submit" class="submit" value="Search"><img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/search.svg" alt=""></button> </form> </div> <!-- /header --> <main role="main" id="main" class="container"> <!-- section --> <section> <h1>Tag Archive: backend</h1> <ul class="posts-list"> <li> <!-- article --> <article id="post-6245" class="post-6245 post type-post status-publish format-standard has-post-thumbnail hentry category-developer-tools category-infrastructure category-platform tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2023/06/analyzing-volatile-memory-on-a-google-kubernetes-engine-node/" title="Analyzing Volatile Memory on a Google Kubernetes Engine Node"> <img src="https://storage.googleapis.com/production-eng/1/2023/06/EN196_Analyzing-Volatile-Memory-final-590.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Analyzing Volatile Memory header image with Kubernetes shipping container and storage boxes inside." decoding="async" fetchpriority="high" srcset="https://storage.googleapis.com/production-eng/1/2023/06/EN196_Analyzing-Volatile-Memory-final-590.png 1200w, https://storage.googleapis.com/production-eng/1/2023/06/EN196_Analyzing-Volatile-Memory-final-590-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2023/06/EN196_Analyzing-Volatile-Memory-final-590-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2023/06/EN196_Analyzing-Volatile-Memory-final-590-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2023/06/EN196_Analyzing-Volatile-Memory-final-590-120x59.png 120w" sizes="(max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">June 22, 2023</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2023/06/analyzing-volatile-memory-on-a-google-kubernetes-engine-node/" title="Analyzing Volatile Memory on a Google Kubernetes Engine Node">Analyzing Volatile Memory on a Google Kubernetes Engine Node</a> </h2> <!-- /post title --> <p>TL:DR At Spotify, we run containerized workloads in production across our entire organization in five regions where our main production [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> <li><a href="https://engineering.atspotify.com/category/platform/" alt="View all posts in Platform" class=info-btn>Platform</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-6098" class="post-6098 post type-post status-publish format-standard has-post-thumbnail hentry category-platform category-product tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2023/05/tv-spatial-navigation/" title="TV Spatial Navigation"> <img src="https://storage.googleapis.com/production-eng/1/2023/05/EN192-TV-Spatial-Navigation-Blog-Post-v2_new-screen-PLUS-button-590-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://storage.googleapis.com/production-eng/1/2023/05/EN192-TV-Spatial-Navigation-Blog-Post-v2_new-screen-PLUS-button-590-1.png 2501w, https://storage.googleapis.com/production-eng/1/2023/05/EN192-TV-Spatial-Navigation-Blog-Post-v2_new-screen-PLUS-button-590-1-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2023/05/EN192-TV-Spatial-Navigation-Blog-Post-v2_new-screen-PLUS-button-590-1-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2023/05/EN192-TV-Spatial-Navigation-Blog-Post-v2_new-screen-PLUS-button-590-1-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2023/05/EN192-TV-Spatial-Navigation-Blog-Post-v2_new-screen-PLUS-button-590-1-1536x755.png 1536w, https://storage.googleapis.com/production-eng/1/2023/05/EN192-TV-Spatial-Navigation-Blog-Post-v2_new-screen-PLUS-button-590-1-2048x1007.png 2048w, https://storage.googleapis.com/production-eng/1/2023/05/EN192-TV-Spatial-Navigation-Blog-Post-v2_new-screen-PLUS-button-590-1-120x59.png 120w" sizes="(max-width: 2501px) 100vw, 2501px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">May 10, 2023</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2023/05/tv-spatial-navigation/" title="TV Spatial Navigation">TV Spatial Navigation</a> </h2> <!-- /post title --> <p>Very often, when developing user interfaces, a lot of focus is given to the visuals, as that’s what primarily gets [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/platform/" alt="View all posts in Platform" class=info-btn>Platform</a></li> <li><a href="https://engineering.atspotify.com/category/product/" alt="View all posts in Product" class=info-btn>Product</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5789" class="post-5789 post type-post status-publish format-standard has-post-thumbnail hentry category-people category-platform category-web tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2023/02/a-multi-year-challenge-repairing-deep-linking-attribution-at-spotify/" title="A Multi-Year Challenge: Repairing Deep Linking &amp; Attribution at Spotify"> <img src="https://storage.googleapis.com/production-eng/1/2022/10/EN183-Five-Year-Challenge_72ppi.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="A Multi-Year Challenge: Repairing Deep Linking &amp; Attribution at Spotify" decoding="async" srcset="https://storage.googleapis.com/production-eng/1/2022/10/EN183-Five-Year-Challenge_72ppi.png 1200w, https://storage.googleapis.com/production-eng/1/2022/10/EN183-Five-Year-Challenge_72ppi-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/10/EN183-Five-Year-Challenge_72ppi-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/10/EN183-Five-Year-Challenge_72ppi-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/10/EN183-Five-Year-Challenge_72ppi-120x59.png 120w" sizes="(max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">February 21, 2023</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2023/02/a-multi-year-challenge-repairing-deep-linking-attribution-at-spotify/" title="A Multi-Year Challenge: Repairing Deep Linking &amp; Attribution at Spotify">A Multi-Year Challenge: Repairing Deep Linking &amp; Attribution at Spotify</a> </h2> <!-- /post title --> <p>Deep linking and attribution are important functionalities for a growing business. Deep links seamlessly get you to the content you [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/people/" alt="View all posts in People" class=info-btn>People</a></li> <li><a href="https://engineering.atspotify.com/category/platform/" alt="View all posts in Platform" class=info-btn>Platform</a></li> <li><a href="https://engineering.atspotify.com/category/web/" alt="View all posts in Web" class=info-btn>Web</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5549" class="post-5549 post type-post status-publish format-standard has-post-thumbnail hentry category-backstage category-developer-tools category-infrastructure category-platform category-security tag-backend tag-security tag-web"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/11/spotifys-vulnerability-management-platform/" title="Spotify’s Vulnerability Management Platform"> <img src="https://storage.googleapis.com/production-eng/1/2022/10/EN176-Vulnerability-Management-Platform-Header-FINAL_72ppi.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Spotify’s Vulnerability Management Platform" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/10/EN176-Vulnerability-Management-Platform-Header-FINAL_72ppi.png 1200w, https://storage.googleapis.com/production-eng/1/2022/10/EN176-Vulnerability-Management-Platform-Header-FINAL_72ppi-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/10/EN176-Vulnerability-Management-Platform-Header-FINAL_72ppi-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/10/EN176-Vulnerability-Management-Platform-Header-FINAL_72ppi-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/10/EN176-Vulnerability-Management-Platform-Header-FINAL_72ppi-120x59.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">November 8, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/11/spotifys-vulnerability-management-platform/" title="Spotify’s Vulnerability Management Platform">Spotify’s Vulnerability Management Platform</a> </h2> <!-- /post title --> <p>We started developing our vulnerability management platform (VMP) at Spotify in Q2, 2020, and now that we’ve implemented it and [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/backstage/" alt="View all posts in Backstage" class=info-btn>Backstage</a></li> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> <li><a href="https://engineering.atspotify.com/category/platform/" alt="View all posts in Platform" class=info-btn>Platform</a></li> <li><a href="https://engineering.atspotify.com/category/security/" alt="View all posts in Security" class=info-btn>Security</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5520" class="post-5520 post type-post status-publish format-standard has-post-thumbnail hentry category-developer-tools category-infrastructure category-platform category-product tag-backend tag-engineering-leadership"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/10/bringing-the-climate-fight-to-your-ide/" title="Bringing the Climate Fight to Your IDE"> <img src="https://storage.googleapis.com/production-eng/1/2022/10/spotify-climate-engineering.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="![Integrating the planet into our code](spotify-climate-engineering.png)" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/10/spotify-climate-engineering.png 1999w, https://storage.googleapis.com/production-eng/1/2022/10/spotify-climate-engineering-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/10/spotify-climate-engineering-700x345.png 700w, https://storage.googleapis.com/production-eng/1/2022/10/spotify-climate-engineering-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/10/spotify-climate-engineering-1536x756.png 1536w, https://storage.googleapis.com/production-eng/1/2022/10/spotify-climate-engineering-120x59.png 120w" sizes="auto, (max-width: 1999px) 100vw, 1999px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">October 25, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/10/bringing-the-climate-fight-to-your-ide/" title="Bringing the Climate Fight to Your IDE">Bringing the Climate Fight to Your IDE</a> </h2> <!-- /post title --> <p>TL;DR As part of Spotify’s goal to reach net zero emissions by 2030, we’ve made climate action one of our [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> <li><a href="https://engineering.atspotify.com/category/platform/" alt="View all posts in Platform" class=info-btn>Platform</a></li> <li><a href="https://engineering.atspotify.com/category/product/" alt="View all posts in Product" class=info-btn>Product</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5444" class="post-5444 post type-post status-publish format-standard has-post-thumbnail hentry category-infrastructure category-platform tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/09/scaling-translations-at-spotify/" title="Scaling Translations at Spotify"> <img src="https://storage.googleapis.com/production-eng/1/2022/09/EN173-Scaling-Translations.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Scaling Translations at Spotify" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/09/EN173-Scaling-Translations.png 1200w, https://storage.googleapis.com/production-eng/1/2022/09/EN173-Scaling-Translations-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/09/EN173-Scaling-Translations-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/09/EN173-Scaling-Translations-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/09/EN173-Scaling-Translations-120x59.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">September 15, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/09/scaling-translations-at-spotify/" title="Scaling Translations at Spotify">Scaling Translations at Spotify</a> </h2> <!-- /post title --> <p>Last year, we added support for 36 new languages to our products in one go, for a total of 62 [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> <li><a href="https://engineering.atspotify.com/category/platform/" alt="View all posts in Platform" class=info-btn>Platform</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5440" class="post-5440 post type-post status-publish format-standard has-post-thumbnail hentry category-developer-tools category-security tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/08/how-we-maintain-security-testing-within-the-software-development-life-cycle/" title="How We Maintain Security Testing within the Software Development Life Cycle"> <img src="https://storage.googleapis.com/production-eng/1/2022/08/EN172_SNYK-and-SDLC-Blog-Post_FINAL-72ppi.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="How We Maintain Security Testing within the Software Development Life Cycle" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/08/EN172_SNYK-and-SDLC-Blog-Post_FINAL-72ppi.png 1200w, https://storage.googleapis.com/production-eng/1/2022/08/EN172_SNYK-and-SDLC-Blog-Post_FINAL-72ppi-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/08/EN172_SNYK-and-SDLC-Blog-Post_FINAL-72ppi-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/08/EN172_SNYK-and-SDLC-Blog-Post_FINAL-72ppi-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/08/EN172_SNYK-and-SDLC-Blog-Post_FINAL-72ppi-120x59.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">August 23, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/08/how-we-maintain-security-testing-within-the-software-development-life-cycle/" title="How We Maintain Security Testing within the Software Development Life Cycle">How We Maintain Security Testing within the Software Development Life Cycle</a> </h2> <!-- /post title --> <p>TL;DR The software development life cycle (SDLC) has always been followed by functional testing to ensure software solutions have all [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/security/" alt="View all posts in Security" class=info-btn>Security</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5394" class="post-5394 post type-post status-publish format-standard has-post-thumbnail hentry category-data category-infrastructure category-web tag-backend tag-web"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/07/what-it-took-to-scale-spotifys-marketing-efforts/" title="What it Took to Scale Spotify’s Marketing Efforts"> <img src="https://storage.googleapis.com/production-eng/1/2022/07/Scaling-for-Midyear-Marketing_Header.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/07/Scaling-for-Midyear-Marketing_Header.png 1200w, https://storage.googleapis.com/production-eng/1/2022/07/Scaling-for-Midyear-Marketing_Header-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/07/Scaling-for-Midyear-Marketing_Header-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/07/Scaling-for-Midyear-Marketing_Header-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/07/Scaling-for-Midyear-Marketing_Header-120x59.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">July 5, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/07/what-it-took-to-scale-spotifys-marketing-efforts/" title="What it Took to Scale Spotify’s Marketing Efforts">What it Took to Scale Spotify’s Marketing Efforts</a> </h2> <!-- /post title --> <p>At Spotify, we’ve tried to uphold the tradition of running one major holiday marketing campaign at the end of each [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/data/" alt="View all posts in Data" class=info-btn>Data</a></li> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> <li><a href="https://engineering.atspotify.com/category/web/" alt="View all posts in Web" class=info-btn>Web</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5359" class="post-5359 post type-post status-publish format-standard has-post-thumbnail hentry category-infrastructure tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/06/how-we-built-infrastructure-to-run-user-forecasts-at-spotify/" title="How We Built Infrastructure to Run User Forecasts at Spotify"> <img src="https://storage.googleapis.com/production-eng/1/2022/06/EN166-User-Forecasting-Models-Blog-Post-Header-FINAL-72ppi.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="How We Built Infrastructure to Run User Forecasts at Spotify" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/06/EN166-User-Forecasting-Models-Blog-Post-Header-FINAL-72ppi.png 1200w, https://storage.googleapis.com/production-eng/1/2022/06/EN166-User-Forecasting-Models-Blog-Post-Header-FINAL-72ppi-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/06/EN166-User-Forecasting-Models-Blog-Post-Header-FINAL-72ppi-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/06/EN166-User-Forecasting-Models-Blog-Post-Header-FINAL-72ppi-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/06/EN166-User-Forecasting-Models-Blog-Post-Header-FINAL-72ppi-120x59.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">June 16, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/06/how-we-built-infrastructure-to-run-user-forecasts-at-spotify/" title="How We Built Infrastructure to Run User Forecasts at Spotify">How We Built Infrastructure to Run User Forecasts at Spotify</a> </h2> <!-- /post title --> <p>TL;DR With Spotify’s rapid global expansion to more than 180 countries, it’s critical that the infrastructure of user forecasts catch [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5300" class="post-5300 post type-post status-publish format-standard has-post-thumbnail hentry category-developer-tools category-infrastructure category-people category-platform tag-backend tag-engineering-leadership"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/05/failing-forward-how-we-grow-from-incidents/" title="Failing Forward — How We Grow from Incidents"> <img src="https://storage.googleapis.com/production-eng/1/2022/05/N164-Failing-Forward-How-We-Grow-from-Incidents_final-v4_header-72PPI.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Failing Forward — How We Grow from Incidents" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/05/N164-Failing-Forward-How-We-Grow-from-Incidents_final-v4_header-72PPI.png 1200w, https://storage.googleapis.com/production-eng/1/2022/05/N164-Failing-Forward-How-We-Grow-from-Incidents_final-v4_header-72PPI-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/05/N164-Failing-Forward-How-We-Grow-from-Incidents_final-v4_header-72PPI-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/05/N164-Failing-Forward-How-We-Grow-from-Incidents_final-v4_header-72PPI-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/05/N164-Failing-Forward-How-We-Grow-from-Incidents_final-v4_header-72PPI-120x59.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">May 12, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/05/failing-forward-how-we-grow-from-incidents/" title="Failing Forward — How We Grow from Incidents">Failing Forward — How We Grow from Incidents</a> </h2> <!-- /post title --> <p>This past year, a few of us who focus on the reliability of Spotify for Artists (S4A) spent some time [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> <li><a href="https://engineering.atspotify.com/category/people/" alt="View all posts in People" class=info-btn>People</a></li> <li><a href="https://engineering.atspotify.com/category/platform/" alt="View all posts in Platform" class=info-btn>Platform</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5262" class="post-5262 post type-post status-publish format-standard has-post-thumbnail hentry category-developer-tools category-product tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/04/spotifys-player-api/" title="Spotify’s Player API: Your Toolkit for Controlling Spotify Programmatically"> <img src="https://storage.googleapis.com/production-eng/1/2022/04/Spotify-Player-API_Header.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/04/Spotify-Player-API_Header.png 1200w, https://storage.googleapis.com/production-eng/1/2022/04/Spotify-Player-API_Header-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/04/Spotify-Player-API_Header-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/04/Spotify-Player-API_Header-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/04/Spotify-Player-API_Header-120x59.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">April 14, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/04/spotifys-player-api/" title="Spotify’s Player API: Your Toolkit for Controlling Spotify Programmatically">Spotify’s Player API: Your Toolkit for Controlling Spotify Programmatically</a> </h2> <!-- /post title --> <p>In 2017, we launched the Spotify Connect Web API, a set of tools that developers could use to programmatically start, [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/product/" alt="View all posts in Product" class=info-btn>Product</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5229" class="post-5229 post type-post status-publish format-standard has-post-thumbnail hentry category-mobile category-my-beat tag-backend tag-mobile tag-wrapped21"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/03/zela-taino-ios-engineer/" title="Zela Taino: iOS Engineer"> <img src="https://storage.googleapis.com/production-eng/1/2022/03/0132-Wrapped-MyBeat-takeover-Zela-1200.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zela" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/03/0132-Wrapped-MyBeat-takeover-Zela-1200.png 1200w, https://storage.googleapis.com/production-eng/1/2022/03/0132-Wrapped-MyBeat-takeover-Zela-1200-250x125.png 250w, https://storage.googleapis.com/production-eng/1/2022/03/0132-Wrapped-MyBeat-takeover-Zela-1200-700x351.png 700w, https://storage.googleapis.com/production-eng/1/2022/03/0132-Wrapped-MyBeat-takeover-Zela-1200-768x385.png 768w, https://storage.googleapis.com/production-eng/1/2022/03/0132-Wrapped-MyBeat-takeover-Zela-1200-120x60.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">March 18, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/03/zela-taino-ios-engineer/" title="Zela Taino: iOS Engineer">Zela Taino: iOS Engineer</a> </h2> <!-- /post title --> <p>Tell us more about working on Spotify Wrapped…&nbsp; As Tech Lead for Wrapped, I was in charge of laying out [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/mobile/" alt="View all posts in Mobile" class=info-btn>Mobile</a></li> <li><a href="https://engineering.atspotify.com/category/my-beat/" alt="View all posts in My Beat" class=info-btn>My Beat</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5189" class="post-5189 post type-post status-publish format-standard has-post-thumbnail hentry category-data category-developer-tools category-open-source tag-backend tag-data"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/03/why-we-switched-our-data-orchestration-service/" title="Why We Switched Our Data Orchestration Service"> <img src="https://storage.googleapis.com/production-eng/1/2022/03/Why-We-Switched-Data-Orchestration-Service_Header.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/03/Why-We-Switched-Data-Orchestration-Service_Header.png 1200w, https://storage.googleapis.com/production-eng/1/2022/03/Why-We-Switched-Data-Orchestration-Service_Header-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/03/Why-We-Switched-Data-Orchestration-Service_Header-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/03/Why-We-Switched-Data-Orchestration-Service_Header-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/03/Why-We-Switched-Data-Orchestration-Service_Header-120x59.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">March 14, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/03/why-we-switched-our-data-orchestration-service/" title="Why We Switched Our Data Orchestration Service">Why We Switched Our Data Orchestration Service</a> </h2> <!-- /post title --> <p>TL;DR Within Spotify, we run 20,000 batch data pipelines defined in 1,000+ repositories, owned by 300+ teams — daily. The [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/data/" alt="View all posts in Data" class=info-btn>Data</a></li> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/open-source/" alt="View all posts in Open Source" class=info-btn>Open Source</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5183" class="post-5183 post type-post status-publish format-standard has-post-thumbnail hentry category-product tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/03/incident-report-spotify-outage-on-march-8/" title="Incident Report: Spotify Outage on March 8, 2022"> <img src="https://storage.googleapis.com/production-eng/1/2022/03/Incident-Report_Header.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/03/Incident-Report_Header.png 1200w, https://storage.googleapis.com/production-eng/1/2022/03/Incident-Report_Header-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/03/Incident-Report_Header-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2022/03/Incident-Report_Header-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2022/03/Incident-Report_Header-120x59.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">March 11, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/03/incident-report-spotify-outage-on-march-8/" title="Incident Report: Spotify Outage on March 8, 2022">Incident Report: Spotify Outage on March 8, 2022</a> </h2> <!-- /post title --> <p>On March 8, we experienced a global outage triggered by issues in a cloud-hosted service discovery system used at Spotify. [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/product/" alt="View all posts in Product" class=info-btn>Product</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5158" class="post-5158 post type-post status-publish format-standard has-post-thumbnail hentry category-backstage category-developer-tools category-infrastructure category-my-beat tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/03/chantal-delfeld-engineer/" title="Chantal Delfeld: Engineer"> <img src="https://storage.googleapis.com/production-eng/1/2022/03/Header-Image_Chantal-Delfeld.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/03/Header-Image_Chantal-Delfeld.png 1200w, https://storage.googleapis.com/production-eng/1/2022/03/Header-Image_Chantal-Delfeld-250x156.png 250w, https://storage.googleapis.com/production-eng/1/2022/03/Header-Image_Chantal-Delfeld-700x438.png 700w, https://storage.googleapis.com/production-eng/1/2022/03/Header-Image_Chantal-Delfeld-768x480.png 768w, https://storage.googleapis.com/production-eng/1/2022/03/Header-Image_Chantal-Delfeld-120x75.png 120w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">March 9, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/03/chantal-delfeld-engineer/" title="Chantal Delfeld: Engineer">Chantal Delfeld: Engineer</a> </h2> <!-- /post title --> <p>7:00am My early mornings are spent running about after my children – getting them&nbsp;dressed, giving them breakfast and putting on [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/backstage/" alt="View all posts in Backstage" class=info-btn>Backstage</a></li> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> <li><a href="https://engineering.atspotify.com/category/my-beat/" alt="View all posts in My Beat" class=info-btn>My Beat</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-5103" class="post-5103 post type-post status-publish format-standard has-post-thumbnail hentry category-mobile category-my-beat tag-backend tag-mobile tag-wrapped21"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2022/02/mesfin-mekonnen-senior-engineer/" title="Mesfin Mekonnen: Senior Engineer "> <img src="https://storage.googleapis.com/production-eng/1/2022/02/0132-DDS_1-Wrapped-MyBeat-takeover_Mesfin.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2022/02/0132-DDS_1-Wrapped-MyBeat-takeover_Mesfin.png 1000w, https://storage.googleapis.com/production-eng/1/2022/02/0132-DDS_1-Wrapped-MyBeat-takeover_Mesfin-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2022/02/0132-DDS_1-Wrapped-MyBeat-takeover_Mesfin-700x343.png 700w, https://storage.googleapis.com/production-eng/1/2022/02/0132-DDS_1-Wrapped-MyBeat-takeover_Mesfin-768x376.png 768w, https://storage.googleapis.com/production-eng/1/2022/02/0132-DDS_1-Wrapped-MyBeat-takeover_Mesfin-120x59.png 120w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">February 22, 2022</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2022/02/mesfin-mekonnen-senior-engineer/" title="Mesfin Mekonnen: Senior Engineer ">Mesfin Mekonnen: Senior Engineer </a> </h2> <!-- /post title --> <p>Tell us more about working on Spotify Wrapped…&nbsp; I specialize in iOS Engineering and was one of a few iOS [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/mobile/" alt="View all posts in Mobile" class=info-btn>Mobile</a></li> <li><a href="https://engineering.atspotify.com/category/my-beat/" alt="View all posts in My Beat" class=info-btn>My Beat</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-4919" class="post-4919 post type-post status-publish format-standard has-post-thumbnail hentry category-product tag-backend tag-data-modeling"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2021/12/a-look-behind-blend-the-personalized-playlist-for-youand-you/" title="A Look Behind Blend: The Personalized Playlist for You…and You"> <img src="https://storage.googleapis.com/production-eng/1/2021/12/Blend_Header.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2021/12/Blend_Header.png 2097w, https://storage.googleapis.com/production-eng/1/2021/12/Blend_Header-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2021/12/Blend_Header-700x345.png 700w, https://storage.googleapis.com/production-eng/1/2021/12/Blend_Header-768x379.png 768w, https://storage.googleapis.com/production-eng/1/2021/12/Blend_Header-1536x757.png 1536w, https://storage.googleapis.com/production-eng/1/2021/12/Blend_Header-2048x1010.png 2048w, https://storage.googleapis.com/production-eng/1/2021/12/Blend_Header-120x59.png 120w" sizes="auto, (max-width: 2097px) 100vw, 2097px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">December 7, 2021</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2021/12/a-look-behind-blend-the-personalized-playlist-for-youand-you/" title="A Look Behind Blend: The Personalized Playlist for You…and You">A Look Behind Blend: The Personalized Playlist for You…and You</a> </h2> <!-- /post title --> <p>What does it take to go from an idea for a new playlist, to shipping that playlist to Spotify users [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/product/" alt="View all posts in Product" class=info-btn>Product</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-4811" class="post-4811 post type-post status-publish format-standard has-post-thumbnail hentry category-backstage category-developer-tools tag-backend tag-engineering-leadership"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2021/09/how-backstage-made-our-developers-more-effective-and-how-it-can-help-yours-too/" title="How Backstage Made Our Developers More Effective — And How It Can Help Yours, Too"> <img src="https://storage.googleapis.com/production-eng/1/2021/09/Backstage_Developers_Header.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2021/09/Backstage_Developers_Header.png 512w, https://storage.googleapis.com/production-eng/1/2021/09/Backstage_Developers_Header-250x131.png 250w, https://storage.googleapis.com/production-eng/1/2021/09/Backstage_Developers_Header-120x63.png 120w" sizes="auto, (max-width: 512px) 100vw, 512px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">September 23, 2021</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2021/09/how-backstage-made-our-developers-more-effective-and-how-it-can-help-yours-too/" title="How Backstage Made Our Developers More Effective — And How It Can Help Yours, Too">How Backstage Made Our Developers More Effective — And How It Can Help Yours, Too</a> </h2> <!-- /post title --> <p>What’s the best way to assess your developers’ experience and performance to discover what they need help with? Is it [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/backstage/" alt="View all posts in Backstage" class=info-btn>Backstage</a></li> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-4612" class="post-4612 post type-post status-publish format-standard has-post-thumbnail hentry category-backstage category-infrastructure category-open-source tag-backend tag-engineering-leadership"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2021/05/a-product-story-the-lessons-of-backstage-and-spotifys-autonomous-culture/" title="A Product Story: The Lessons of Backstage and Spotify’s Autonomous Culture"> <img src="https://storage.googleapis.com/production-eng/1/2020/08/05-18-21-A-Product-Story.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2020/08/05-18-21-A-Product-Story.png 2500w, https://storage.googleapis.com/production-eng/1/2020/08/05-18-21-A-Product-Story-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2020/08/05-18-21-A-Product-Story-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2020/08/05-18-21-A-Product-Story-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2020/08/05-18-21-A-Product-Story-1536x756.png 1536w, https://storage.googleapis.com/production-eng/1/2020/08/05-18-21-A-Product-Story-2048x1008.png 2048w, https://storage.googleapis.com/production-eng/1/2020/08/05-18-21-A-Product-Story-120x59.png 120w" sizes="auto, (max-width: 2500px) 100vw, 2500px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">May 18, 2021</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2021/05/a-product-story-the-lessons-of-backstage-and-spotifys-autonomous-culture/" title="A Product Story: The Lessons of Backstage and Spotify’s Autonomous Culture">A Product Story: The Lessons of Backstage and Spotify’s Autonomous Culture</a> </h2> <!-- /post title --> <p>TLDR; In episode 08 of our podcast series “Spotify: A Product Story”, we share stories and lessons from building and [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/backstage/" alt="View all posts in Backstage" class=info-btn>Backstage</a></li> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> <li><a href="https://engineering.atspotify.com/category/open-source/" alt="View all posts in Open Source" class=info-btn>Open Source</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-4504" class="post-4504 post type-post status-publish format-standard has-post-thumbnail hentry category-developer-tools category-people tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2021/04/rethinking-spotify-search/" title="Rethinking Spotify Search"> <img src="https://storage.googleapis.com/production-eng/1/2020/08/04-15-21-spotify-search-v1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2020/08/04-15-21-spotify-search-v1.png 2500w, https://storage.googleapis.com/production-eng/1/2020/08/04-15-21-spotify-search-v1-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2020/08/04-15-21-spotify-search-v1-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2020/08/04-15-21-spotify-search-v1-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2020/08/04-15-21-spotify-search-v1-1536x756.png 1536w, https://storage.googleapis.com/production-eng/1/2020/08/04-15-21-spotify-search-v1-2048x1008.png 2048w, https://storage.googleapis.com/production-eng/1/2020/08/04-15-21-spotify-search-v1-120x59.png 120w" sizes="auto, (max-width: 2500px) 100vw, 2500px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">April 15, 2021</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2021/04/rethinking-spotify-search/" title="Rethinking Spotify Search">Rethinking Spotify Search</a> </h2> <!-- /post title --> <p>Search @ Spotify Search is a well-established functionality across different industries, devices, and applications. When users come to any kind [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/people/" alt="View all posts in People" class=info-btn>People</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-4139" class="post-4139 post type-post status-publish format-standard has-post-thumbnail hentry category-infrastructure category-my-beat category-people tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2021/03/my-beat-matt-clarke/" title="Matt Clarke: Senior Backend Infrastructure Engineer"> <img src="https://storage.googleapis.com/production-eng/1/2021/02/Matt-Clarke-edit.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Matt Clarke" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2021/02/Matt-Clarke-edit.jpg 800w, https://storage.googleapis.com/production-eng/1/2021/02/Matt-Clarke-edit-250x192.jpg 250w, https://storage.googleapis.com/production-eng/1/2021/02/Matt-Clarke-edit-700x537.jpg 700w, https://storage.googleapis.com/production-eng/1/2021/02/Matt-Clarke-edit-768x589.jpg 768w, https://storage.googleapis.com/production-eng/1/2021/02/Matt-Clarke-edit-120x92.jpg 120w" sizes="auto, (max-width: 800px) 100vw, 800px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">March 9, 2021</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2021/03/my-beat-matt-clarke/" title="Matt Clarke: Senior Backend Infrastructure Engineer">Matt Clarke: Senior Backend Infrastructure Engineer</a> </h2> <!-- /post title --> <p>Matt is a Senior Backend Infrastructure Engineer and has been at Spotify for two-and-a-half years. This time last year, he was living and working in London – but that’s all changed since the start of the pandemic… </p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> <li><a href="https://engineering.atspotify.com/category/my-beat/" alt="View all posts in My Beat" class=info-btn>My Beat</a></li> <li><a href="https://engineering.atspotify.com/category/people/" alt="View all posts in People" class=info-btn>People</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-4194" class="post-4194 post type-post status-publish format-standard has-post-thumbnail hentry category-backstage category-developer-tools category-infrastructure tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2021/03/designing-a-better-kubernetes-experience-for-developers/" title="Designing a Better Kubernetes Experience for Developers"> <img src="https://storage.googleapis.com/production-eng/1/2021/03/03-01-21-kubernetes.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2021/03/03-01-21-kubernetes.png 2500w, https://storage.googleapis.com/production-eng/1/2021/03/03-01-21-kubernetes-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2021/03/03-01-21-kubernetes-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2021/03/03-01-21-kubernetes-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2021/03/03-01-21-kubernetes-1536x756.png 1536w, https://storage.googleapis.com/production-eng/1/2021/03/03-01-21-kubernetes-2048x1008.png 2048w, https://storage.googleapis.com/production-eng/1/2021/03/03-01-21-kubernetes-120x59.png 120w" sizes="auto, (max-width: 2500px) 100vw, 2500px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">March 1, 2021</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2021/03/designing-a-better-kubernetes-experience-for-developers/" title="Designing a Better Kubernetes Experience for Developers">Designing a Better Kubernetes Experience for Developers</a> </h2> <!-- /post title --> <p>TLDR; If you’re deploying a service with Kubernetes, you shouldn’t have to use all of your cluster management skills just [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/backstage/" alt="View all posts in Backstage" class=info-btn>Backstage</a></li> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-4111" class="post-4111 post type-post status-publish format-standard has-post-thumbnail hentry category-developer-tools category-mobile category-open-source tag-backend tag-mobile"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2021/01/introducing-xcmetrics-our-all-in-one-tool-for-tracking-xcode-build-metrics/" title="Introducing XCMetrics: Our All-in-One Tool for Tracking Xcode Build Metrics"> <img src="https://storage.googleapis.com/production-eng/1/2020/08/20-01-21-Introducting-XC-Metrics.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2020/08/20-01-21-Introducting-XC-Metrics.png 2500w, https://storage.googleapis.com/production-eng/1/2020/08/20-01-21-Introducting-XC-Metrics-250x123.png 250w, https://storage.googleapis.com/production-eng/1/2020/08/20-01-21-Introducting-XC-Metrics-700x344.png 700w, https://storage.googleapis.com/production-eng/1/2020/08/20-01-21-Introducting-XC-Metrics-768x378.png 768w, https://storage.googleapis.com/production-eng/1/2020/08/20-01-21-Introducting-XC-Metrics-1536x756.png 1536w, https://storage.googleapis.com/production-eng/1/2020/08/20-01-21-Introducting-XC-Metrics-2048x1008.png 2048w, https://storage.googleapis.com/production-eng/1/2020/08/20-01-21-Introducting-XC-Metrics-120x59.png 120w" sizes="auto, (max-width: 2500px) 100vw, 2500px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">January 20, 2021</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2021/01/introducing-xcmetrics-our-all-in-one-tool-for-tracking-xcode-build-metrics/" title="Introducing XCMetrics: Our All-in-One Tool for Tracking Xcode Build Metrics">Introducing XCMetrics: Our All-in-One Tool for Tracking Xcode Build Metrics</a> </h2> <!-- /post title --> <p>TL;DR We just open sourced XCMetrics — a tool for Apple’s developer software, Xcode, that lets you collect, display, and [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/developer-tools/" alt="View all posts in Developer Tools" class=info-btn>Developer Tools</a></li> <li><a href="https://engineering.atspotify.com/category/mobile/" alt="View all posts in Mobile" class=info-btn>Mobile</a></li> <li><a href="https://engineering.atspotify.com/category/open-source/" alt="View all posts in Open Source" class=info-btn>Open Source</a></li> </ul> </div> </article> <!-- /article --> </li> <li> <!-- article --> <article id="post-3446" class="post-3446 post type-post status-publish format-standard has-post-thumbnail hentry category-infrastructure tag-backend"> <div class="post-holder"> <div class="upper-part"> <div class="image-holder"> <!-- post thumbnail --> <a href="https://engineering.atspotify.com/2020/06/tech-migrations-the-spotify-way/" title="Tech Migrations, the Spotify Way"> <img src="https://storage.googleapis.com/production-eng/1/2020/06/Migrations-Blog-Post_02_G.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://storage.googleapis.com/production-eng/1/2020/06/Migrations-Blog-Post_02_G.png 2105w, https://storage.googleapis.com/production-eng/1/2020/06/Migrations-Blog-Post_02_G-250x126.png 250w, https://storage.googleapis.com/production-eng/1/2020/06/Migrations-Blog-Post_02_G-700x352.png 700w, https://storage.googleapis.com/production-eng/1/2020/06/Migrations-Blog-Post_02_G-768x386.png 768w, https://storage.googleapis.com/production-eng/1/2020/06/Migrations-Blog-Post_02_G-1536x772.png 1536w, https://storage.googleapis.com/production-eng/1/2020/06/Migrations-Blog-Post_02_G-2048x1029.png 2048w, https://storage.googleapis.com/production-eng/1/2020/06/Migrations-Blog-Post_02_G-120x60.png 120w" sizes="auto, (max-width: 2105px) 100vw, 2105px" /> </a> <!-- /post thumbnail --> </div> <div class="info"> <span class="date">June 25, 2020</span> <!-- post title --> <h2> <a href="https://engineering.atspotify.com/2020/06/tech-migrations-the-spotify-way/" title="Tech Migrations, the Spotify Way">Tech Migrations, the Spotify Way</a> </h2> <!-- /post title --> <p>Stuck in the long tail In our experience, big technology upgrade efforts or migrations (as we fondly call them at [...]</p> </div> </div> <ul class="btn-list"> <li><a href="https://engineering.atspotify.com/category/infrastructure/" alt="View all posts in Infrastructure" class=info-btn>Infrastructure</a></li> </ul> </div> </article> <!-- /article --> </li> </ul> <!-- pagination --> <div class="pagination"> <span aria-current="page" class="page-numbers current">1</span> <a class="page-numbers" href="https://engineering.atspotify.com/tag/backend/page/2/">2</a> <a class="next page-numbers" href="https://engineering.atspotify.com/tag/backend/page/2/">Next &raquo;</a></div> <!-- /pagination --> </section> <!-- /section --> </main> <!-- Begin Mailchimp Signup Form --> <link href="//cdn-images.mailchimp.com/embedcode/classic-10_7.css" rel="stylesheet" type="text/css"> <div class="subscribe"> <div class="container"> <div class="footer-logo mobile"> <a href="https://engineering.atspotify.com"> <img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/footer-logo.svg" alt=""> </a> </div> </div> <div class="container"> <div class="col-6"> <div class="content-wrapper"> <h2>Sign up for engineering updates</h2> <small>By clicking sign up you’ll receive occasional emails from Spotify. You always have the choice to adjust your interest settings or unsubscribe.</small> </div> </div> <div class="col-6"> <div id="mc_embed_signup"> <form action="https://spotify.us20.list-manage.com/subscribe/post?u=99aa88d3fba458716d0cd1299&amp;id=28cc680980" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate> <div id="mc_embed_signup_scroll"> <!-- <div class="indicates-required"><span class="asterisk">*</span> indicates required</div> --> <div class="mc-field-group"> <!-- <label for="mce-EMAIL">Email Address <span class="asterisk">*</span> </label> --> <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Your Email"> <input type="submit" value="Sign up!" name="subscribe" id="mc-embedded-subscribe" class="button"> </div> <div id="mce-responses" class="clear"> <div class="response" id="mce-error-response" style="display:none"></div> <div class="response" id="mce-success-response" style="display:none"></div> </div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups--> <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_99aa88d3fba458716d0cd1299_28cc680980" tabindex="-1" value=""></div> </div> </form> </div> <ul class="social-networks"> <li> <a href="http://www.instagram.com/lifeatspotify" target="_blank"> <img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/instagram.svg" alt="Instagram"> </a> </li> <li> <a href="https://twitter.com/spotifyeng" target="_blank"> <img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/twitter.svg" alt="Twitter"> </a> </li> <li> <a href="https://www.facebook.com/spotify" target="_blank"> <img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/facebook.svg" alt="Facebook"> </a> </li> <li> <a href="https://www.linkedin.com/showcase/spotify-r&d/" target="_blank"> <img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/linkedin.svg" alt="Linked In"> </a> </li> <li> <a href="https://engineering.atspotify.com/feed" target="_blank"> <img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/rss.svg" alt="Instagram"> </a> </li> </ul> </div> </div> </div> <!--End mc_embed_signup--><!-- footer --> <footer id="footer"> <div class="container"> <div class="footer-lft"> <div class="col-1"> <div class="footer-logo"> <a href="https://engineering.atspotify.com"> <img src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/images/footer-logo.svg" alt=""> </a> </div> </div> <div class="col-2"> <ul class="footer-main-links"> <li> <a href="https://www.lifeatspotify.com/" class="Footer-link ga" target="_blank">Spotify Jobs</a> </li> <li> <a href="https://spotify.com" class="Footer-link ga" target="_blank">Spotify.com</a> </li> <li> <a href="https://newsroom.spotify.com" class="Footer-link ga" target="_blank">Newsroom</a> </li> </ul> <ul class="footer-main-links"> <li> <a href="https://research.atspotify.com/" class="Footer-link ga" target="_blank">Spotify R&D Research</a> </li> <li> <a href="https://spotify.design/" class="Footer-link ga" target="_blank">Spotify R&D Design</a> </li> </ul> <div class="row"> <ul class="footer-links"> <li><a target="_blank" href="https://www.spotify.com/us/legal/end-user-agreement/" class="Footer-link ga" data-ga-category="Outbound Links" data-ga-action="Legal" data-ga-label="Footer">Legal</a></li> <li><a target="_blank" href="https://www.spotify.com/us/legal/privacy-policy/" class="Footer-link ga" data-ga-category="Outbound Links" data-ga-action="Privacy" data-ga-label="Footer">Privacy</a> </li> <li id="cookie-policy"> <button id="ot-sdk-btn" class="ot-sdk-show-settings"></button> <a title="Cookies" id="policy" href="https://www.spotify.com/legal/cookies-policy/" class="policy">Cookies</a> </li> <li><a target="_blank" href="https://www.spotify.com/us/legal/privacy-policy/" class="Footer-link ga" data-ga-category="Outbound Links" data-ga-action="About Ads" data-ga-label="Footer">About Ads</a></li> </ul> <div class="copyrights">© 2025 Spotify AB</div> </div> </div> </div> </div> </footer> <!-- /footer --> </div> <!-- /wrapper --> <!-- Mail Chimp code --> <script type='text/javascript' src='//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js'></script> <script type='text/javascript'> (function($) { window.fnames = new Array(); window.ftypes = new Array(); fnames[0] = 'EMAIL'; ftypes[0] = 'email'; fnames[1] = 'FNAME'; ftypes[1] = 'text'; fnames[2] = 'LNAME'; ftypes[2] = 'text'; fnames[3] = 'ADDRESS'; ftypes[3] = 'address'; fnames[4] = 'PHONE'; ftypes[4] = 'phone'; }(jQuery)); var $mcj = jQuery.noConflict(true); </script> <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> <script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script> <script src="https://unpkg.com/embla-carousel/embla-carousel.umd.js"></script> <!-- <script src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/js/desktop-banner.js"></script> --> <script src="https://engineering.atspotify.com/wp-content/themes/theme-spotify/js/dotButtons.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.7.1/gsap.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script type="text/javascript"> const OPTIONS = {align: 'center', containScroll: false, startIndex:1} const wrap = document.querySelector(".embla"); const viewPort = wrap.querySelector(".embla__viewport"); const prevBtn = wrap.querySelector(".embla__button--prev"); const nextBtn = wrap.querySelector(".embla__button--next"); const embla = EmblaCarousel(viewPort,OPTIONS); const disablePrevAndNextBtns = disablePrevNextBtns(prevBtn, nextBtn, embla); setupPrevNextBtns(prevBtn, nextBtn, embla); embla.on("select", disablePrevAndNextBtns); embla.on("init", disablePrevAndNextBtns); </script> <script> function cookieSettings() { let cookiePlacement = document.getElementById("cookie-policy") let cookieSettingsBtn = document.createElement("button") cookieSettingsBtn.setAttribute('id', 'ot-sdk-btn') cookieSettingsBtn.setAttribute('class', 'ot-sdk-show-settings') cookiePlacement.appendChild(cookieSettingsBtn) } function cookiePolicy() { let cookiePlacement = document.getElementById("cookie-policy") let cookiePolicy = document.createElement("a") let cookiePolicyLink = document.createTextNode("Cookies") cookiePolicy.appendChild(cookiePolicyLink) cookiePolicy.title = "Cookies" cookiePolicy.href = "https://www.spotify.com/legal/cookies-policy/" cookiePolicy.setAttribute('class', 'policy') cookiePlacement.append(cookiePolicy) } document.querySelector('head').addEventListener('countryFunc', function(e) { if (window.markerFunc() == 1) { // return cookieSettings() let Policy_Button = document.getElementById("ot-sdk-btn") Policy_Button.classList.add("show"); } else { // return cookiePolicy() let Policy_Button = document.getElementById("policy") Policy_Button.classList.add("show"); } }, false); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10