BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Podcasts Sangeeta Narayanan of Netflix on Improving the Developer Experience

Sangeeta Narayanan of Netflix on Improving the Developer Experience

In this podcast recorded at QCon New York, Shane Hastie, Lead Editor for Culture & Methods, spoke to Sangeeta Narayanan of Netflix about improving the developer experience, and why it matters.

Key Takeaways

  • Developer Experience is about making it easy and simple for software to be developed, released and operated
  • It’s about identifying and removing whatever creates friction in the process of building software
  • Modern approaches increase the cognitive load on engineers in every part of the process, DevEx tries to reduce that load
  • The tools and infrastructure you use to build the system is as important as the production environment – treat your tooling in the same way you treat your production environment
  • DevEx goes beyond the tools into anything which influences the ability to do effective work, the culture, motivation, team and individual health and productivity

Show Notes

  • 00:18 What Edge Development is at Netflix and the Developer Experience group
  • 00:56 Sangeeta’s background and experience
  • 01:13 Optimising the process of developing, shipping, releasing and operating software
  • 01:50 Developer Experience is about making it easy and simple for software to be developed, released and operated
  • 02:20 Any time spent fighting the system or tools is time not spent delivering value to the business
  • 02:46 It’s about identifying and removing whatever creates friction in the process of building software
  • 03:36 Inviting people to contribute to the conversation about why this matters
  • 04:04 One of the key goals of many of the changes in development practices (everything from cloud services to agile and DevOps) is to increate the velocity of innovation
  • 04:36 Developers are required to, at the very least, be aware of the operational characteristics of their software, if not directly responsible for that operation (“you build it, you run it”)
  • 04:48 These approaches increase the cognitive load on engineers in every part of the process
  • 06:03 Examples of ways in which DevEx is made real
  • 06:15 Docker provides stability of immutable infrastructure – you get the same environment for development as for production
  • 06:31 The promise of serverless is that you don’t have to worry about anything except the business logic
  • 07:24 Going beyond simple logs and alerts to truly context aware logging and alerting – not just what happened but where in the system it happened and why it happened
  • 08:05 In the API environment a useful metric is “time to first hello-world” – how easy is it to get up and running with an integration to your system
  • 08:43 This goes beyond agile/lean approaches which are about removing waste, into reducing the cognitive load and removing time spent fighting the system
  • 09:28 The deployment unit is shrinking which is good, and it brings an overhead of understanding the composition of all the various services   
  • 10:14 Creating a holistic view of how your system behaves is hard due to the sheer volume of services/components
  • 10:52 One implication of this is that the tools and infrastructure you use to build the system is as important as the production environment – treat your tooling in the same way you treat your production environment
  • 11:12 Using Netflix as an example of the importance of developer tools for production stability
  • 11:57 Tooling as first-class Tier Zero components because they need even higher availability than the production systems;
  • 12:06 The need for innovation in insights
  • 12:16 The emotive impact of tool use
  • 12:31 We have KPIs for our systems, but we don’t measure team health and productivity with the same rigor
  • 12:55 Developer education is another area of DevEx
  • 13:20 The friction caused by outdated, or missing, documentation
  • 14:12 Examples of things that could be on a health dashboard to expose the hidden costs of friction
  • 14:35 Build the instrumentation into your tools in the same way you build it into your production systems
  • 15:04 The complexity of the support environment that results from smaller services
  • 15:40 The value of insights from the analytics in developer tools
  • 15:53 Infrastructure services are now commoditised and cheap – developer time is expensive and scarce
  • 16:38 The goal is to create room for ideation and deep thinking by reducing the overhead waste in developer work
  • 17:40 These ideas are a logical extension of the lean/agile thinking which has been prevalent over the last decade
  • 18:05 Make the cognitive burden and cost of interruptions visible
  • 18:34 The need to keep up with changes in the tooling and infrastructure itself adds additional cognitive load
  • 19:28 This is not dependent on organisation size, it’s about identifying the impact and overhead costs and investing in areas that will make work flow more effectively in the local context
  • 20:14 For startup organisations, developer time is a significant factor of total cost, so optimizing that is an important consideration
  • 20:45 The goal is to make it easy, quick and simple to develop and ship software
  • 21:23 Exploring what DevEx means in different contexts
  • 22:03 Examples of ways to “shift-left” and reduce external dependencies
  • 22:55 The goal is to get a conversation started and to build a community around improving the overall developer experience – inviting others to contribute

Mentioned:

More about our podcasts

You can keep up-to-date with the podcasts via our RSS Feed, and they are available via SoundCloud, Apple Podcasts, Spotify, Overcast and YouTube. From this page you also have access to our recorded show notes. They all have clickable links that will take you directly to that part of the audio.

Previous podcasts

Rate this Article

Adoption
Style

BT