bookmark_border

Run Less Software with Rich Archbold

Software Engineering Daily,

Originally posted on Software Engineering Daily

There is a quote from Jeff Bezos: “70% of the work of building a business today is undifferentiated heavy lifting. Only 30% is creative work. Things will be more exciting when those numbers are inverted.”

That quote is from 2006, before Amazon Web Services had built most of their managed services. In 2006, you had no choice but to manage your own database, data warehouse, and search cluster. If your server crashed in the middle of the night, you had to wake up and fix it. And you had to deal with these engineering problems in addition to building your business.

Technology today evolves much faster than in 2006. That is partly because managed cloud services make operating a software company so much smoother. You can build faster, iterate faster, and there are fewer outages.

If you are an insurance company or a t-shirt manufacturing company or an online education platform, software engineering is undifferentiated heavy lifting. Your customers are not paying you for your expertise in databases or your ability to configure load balancers. As a business, you should be focused on what the customers are paying you for, and spending the minimal amount of time on rebuilding software that is available as a commodity cloud service.

Rich Archbold is the director of engineering at Intercom, a rapidly growing software company that allows for communication between customers and businesses. At Intercom, the engineering teams have adopted a philosophy called Run Less Software.

Running less software means reducing choices among engineering teams, and standardizing on technologies wherever possible.

When Intercom was in its early days, the systems were more heterogeneous. Different teams could choose whatever relational database they wanted–MySQL or Postgres. They could choose whatever key/value store they were most comfortable with.

The downside of all this choice was that engineers who moved from one team to another team might not know how to use the tools at the new team they were moving to. After switching teams, you would have to figure out how to onboard with those new tools, and that onboarding process was time that was not spent on effort that impacted the business.

By reducing the number of different choices that engineering teams have, and opting for managed services wherever possible, Intercom ships code at an extremely fast pace with very few outages. In our conversation, Rich contrasts his experience at Intercom with his experiences working at Amazon Web Services and Facebook.

Amazon and Facebook were built in a time where there was not a wealth of managed services to choose from, and this discussion was a reminder of how much software engineering has changed because of cloud computing.

To learn more about Intercom, you can check out the Inside Intercom podcast.

Transcript

Transcript provided by We Edit Podcasts. Software Engineering Daily listeners can go to weeditpodcasts.com/sed to get 20% off the first two months of audio editing and transcription services. Thanks to We Edit Podcasts for partnering with SE Daily. Please click here to view this show’s transcript.

Sponsors


Auth0 makes authentication easy.  As a developer, you love building things that are fun–and authentication is not fun. Authentication is a pain. It can take hours to implement, and even once you have authentication, you have to keep all your authentication code up to date! Auth0 is the easiest and fastest way to implement real world authentication and authorization architectures into your apps and APIs. Allow your users to log in however you want–regular username and password, Facebook, Twitter, enterprise identity providers like AD and Office 365–or let them login without passwords, using an email login like Slack or phone login like WhatsApp. Getting started is easy. Just grab the Auth0 SDK for any platform you need and add a few lines of code to your project–whether you are building a mobile app, a website, or an API–they all need authentication. Sign up for Auth0 and get the free plan or try the enterprise plan for 21 days at auth0.io/sedaily. No credit card required. Auth0 is trusted by developers at Atlassian, Mozilla, and Wall Street Journal. Try it out at auth0.io/sedaily. Stop struggling with authentication–get back to building core features, with Auth0. 


Incapsula can protect your API servers and microservices from responding to unwanted requests. To try Incapsula for yourself, go to incapsula.com/2017podcasts and get a free enterprise trial of Incapsula. Incapsula’s API gives you control over the security and performance of your application–whether you have a complex microservices architecture or a WordPress site, like Software Engineering Daily. Incapsula has a global network of over 30 data centers that optimize routing and cache your content. The same network of data centers that are filtering your content for attackers are operating as a CDN, and speeding up your application. To try Incapsula today, go to incapsula.com/2017podcasts and check it out. Thanks again, Incapsula.


You want to work with Kubernetes but wish the process was simpler. The folks who brought you Kubernetes now want to make it easier to use. Heptio is a company by founders of the Kubernetes project, built to support and advance the open Kubernetes ecosystem. They build products, open source tools, and services that bring people closer to ‘upstream’ Kubernetes. Heptio offers instructor-led Kubernetes training, professional help from expert Kubernetes solutions engineers, as well as expert support of upstream Kubernetes configurations. Find out more at softwareengineeringdaily.com/heptio. Heptio is committed to making Kubernetes easier for all developers to use through their contributions to Kubernetes, Heptio open source projects, and other community efforts. Check out Heptio to make your life with Kubernetes easier at softwareengineeringdaily.com/heptio.


About the Podcast