Track: Developer Experience: Level up your Engineering Effectiveness

Location: Ballroom BC

Day of week: Wednesday

A software engineering organization is most impactful when the majority of its focus is on delivering business value through software products and services. Developer Experience is about maximizing that impact by increasing the effectiveness of engineers. We are also seeing an industry trend of flatter organizations, resulting in engineers being asked to do more than ever before. This contributes to an increase in cognitive load for engineers. How can we apply software to the problem of enabling high-velocity development while concurrently considering the human factors?

In this track, we will look at how the best organizations are tackling the challenge of reducing cognitive load on their engineers. Come to hear stories - both real world and aspirational, about how teams have combined innovations in technology, process and culture to level up their engineering effectiveness.

Track Host: Sangeeta Narayanan

Sangeeta leads the Edge Developer Experience team at Netflix, whose mission is to ensure that engineers are focused on providing the best possible video streaming experience for millions of people around the world. She works with her team to accomplish this by building world class tools to enable a simplified developer experience and enhanced observability at cloud scale. Sangeeta has held varying roles at companies large and small, including Software Development, Test Engineering, Sales Engineering, Consulting and Leadership. Her passion for simplifying the process of developing and operating software has been the common theme across all those experiences.

If you have ever asked yourself the question "Why did they do THAT!?" when wrestling with a developer’s work, this presentation is for you.

My doctoral research does not answer it, but it does refine the question; I have built a definition of what “THAT!” is by interviewing software developers with a total of more than 400 years of industry experience between them. In my presentation, I will share the common themes that emerged: what experienced developers said about the day to day decisions made by their peers and how these make the job harder or easier.

These findings catalogue what constitutes “good practice” from the unique perspective of how it affects peers’ progress in their own tasks. But by itself, this catalogue does not change developer practice. In pursuit of improving developer experience, I have tested a workshop format that draws on the collective experience of the interviewees to help teams step back and reflect on their practice in a safe and encouraging environment. I will be explaining what these experimental workshops involved, why developers liked them and the potential the materials could have for other applications.

Acknowledgement: My research would not have been possible without the generous help of my participants. My heartfelt thanks to all the software developers who volunteered to take part and the companies who allowed them to do so. I hope you all benefited from the experience.

Continuous integration as a practice has come to be virtually synonymous with the tools that enable it. As developer workflows grew increasingly diverse and complex, we saw the need to extend and support continuous integration beyond the commit/test/fix cycle. While our existing tooling generally worked for building commits and running suites of automated tests, we found that reliably building pull requests and simplifying the common cases while still supporting complex configurations still presented challenges.

Inspired by developer feedback and the friction we faced with our existing tooling, we began evolving our continuous integration strategy to focus on increasing velocity, simplifying builds, and providing a more integrated developer experience. This session will explore how we leveraged the best practices and opinions of other CI-first tools, fast feedback and requests from our engineers, and an iterative approach to begin building a new suite of tools to support a diverse set of workflows. We will also dive into the technical considerations and approach we are using to minimize configuration while enabling reliable, traceable builds integrated with our existing toolchain.

Due to Coinbase's stringent security requirements, managing cloud resources is difficult as there are exceedingly few unilaterally trusted individuals. Bottlenecking on a few people is not a great solution for a couple reasons. It slows down the entire organization, killing the competitive advantage of being a startup. Furthermore, it is an undue burden for those engineers. What if they want to go on vacation or get sick? One of our tried and true strategies for combating this is trusting groups of individuals via consensus rather than individuals. Join us as we describe the primitives and processes we used to eliminate unilateral access and safely shared the power of infrastructure with our entire engineering team.

Bring AI and Serverless together and you create a new world in which what you thought you know about software may need to be adjusted. Developers transition from “micro-managers” - telling computers what to do step by step, into “teachers” - assisting computers in learning. The code alone is not enough anymore; if the past decades were spent producing tools to handle the code better, now there’s something more abstract than code, shaped in a human-unfriendly language, called “model”, which is entangled with the code. How does this impact developer experience? Is it easy to manage? Can serverless architectures improve it?

This presentation will walk you through a demo AI app built with serverless, composing multiple AI functions into one workflow. The functions will be deployed into a FaaS platform powered by Apache OpenWhisk - the most popular open source serverless platform. You’ll learn about FaaS architectures, open source technologies, as well as areas where serverless streamlines the experience for developers. We'll try to answer the question: is AI development FaaSter with serverless?

If you want to learn about emerging technologies enhancing developer experience, or if you’re passionate about AI applications, then this presentation is for you.

Michelangelo is the Machine Learning Platform that powers most of the machine learning solutions at Uber. The early goal of Michelangelo was to enable teams around Uber to deploy and operate ML solutions at Uber scale. Now that the system has matured, our focus has shifted towards developer velocity and empowering the individual model owners to be fully self-sufficient from early prototyping through full production deployment and operationalization. For data science users, we are making the operational side self-service so that they don’t need to engage engineering teams to deploy and operate the models and feature pipelines. For engineering users, we are making the modeling work easier and more automatic so that engineers can do more alone, without formal data science assistance.

The all-new QCon app!

Available on iOS and Android

The new QCon app helps you make the most of your conference experience. Easily browse and follow the conference schedule, star the talks you want to attend, and keep tabs on your personal itinerary. Download the app now for free on iOS and Android.