You are viewing content from a past/completed QCon

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

Director, Edge Developer Experience @Netflix and Co-Host of the Productivity Engineering Silicon Valley Meetup

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.

10:35am - 11:25am

Helping Developers to Help Each Other

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.

Gail Ollis, Researcher & Lecturer in Cyberpsychology @bournemouthuni

11:50am - 12:40pm

Evolving Continuous Integration: Applying CI to CI Strategy

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.

Elise McCallum, Senior Software Engineer @Netflix

1:40pm - 2:30pm

Terraform Earth - Secure Infrastructure for Developers

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.

Chase Evans, Senior Software Engineer @coinbase

2:55pm - 3:45pm

Making AI FaaSt

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.

Dragos Dascalita Haut, Principal Engineer @Adobe
Akhilesh Kumar, Senior Software Engineer AI/ML, Applied Machine Learning @Adobe

4:10pm - 5:00pm

Michelangelo - Machine Learning @Uber

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.

Jeremy Hermann, Machine Learning Platform @Uber

2020 Tracks

  • The Future of APIs

    Web-based API continue to evolve. The track provides the what, how, and why of future APIs, including GraphQL, Backend for Frontend, gRPC, & ReST

  • Resurgence of Functional Programming

    What was once a paradigm shift in how we thought of programming languages is now main stream in nearly all modern languages. Hear how software shops are infusing concepts like pure functions and immutablity into their architectures and design choices.

  • Social Responsibility: Implications of Building Modern Software

    Software has an ever increasing impact on individuals and society. Understanding these implications helps build software that works for all users

  • Non-Technical Skills for Technical Folks

    To be an effective engineer, requires more than great coding skills. Learn the subtle arts of the tech lead, including empathy, communication, and organization.

  • Clientside: From WASM to Browser Applications

    Dive into some of the technologies that can be leveraged to ultimately deliver a more impactful interaction between the user and client.

  • Languages of Infra

    More than just Infrastructure as a Service, today we have libraries, languages, and platforms that help us define our infra. Languages of Infra explore languages and libraries being used today to build modern cloud native architectures.

  • Mechanical Sympathy: The Software/Hardware Divide

    Understanding the Hardware Makes You a Better Developer

  • Paths to Production: Deployment Pipelines as a Competitive Advantage

    Deployment pipelines allow us to push to production at ever increasing volume. Paths to production looks at how some of software's most well known shops continuous deliver code.

  • Java, The Platform

    Mobile, Micro, Modular: The platform continues to evolve and change. Discover how the platform continues to drive us forward.

  • Security for Engineers

    How to build secure, yet usable, systems from the engineer's perspective.

  • Modern Data Engineering

    The innovations necessary to build towards a fully automated decentralized data warehouse.

  • Machine Learning for the Software Engineer

    AI and machine learning are more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice by Software Engineers.

  • Inclusion & Diversity in Tech

    The road map to an inclusive and diverse tech organization. *Diversity & Inclusion defined as the inclusion of all individuals in an within tech, regardless of gender, religion, ethnicity, race, age, sexual orientation, and physical or mental fitness.

  • Architectures You've Always Wondered About

    How do they do it? In QCon's marquee Architectures track, we learn what it takes to operate at large scale from well-known names in our industry. You will take away hard-earned architectural lessons on scalability, reliability, throughput, and performance.

  • Architecting for Confidence: Building Resilient Systems

    Your system will fail. Build systems with the confidence to know when they do and you won’t.

  • Remotely Productive: Remote Teams & Software

    More and more companies are moving to remote work. How do you build, work on, and lead teams remotely?

  • Operating Microservices

    Building and operating distributed systems is hard, and microservices are no different. Learn strategies for not just building a service but operating them at scale.

  • Distributed Systems for Developers

    Computer science in practice. An applied track that fuses together the human side of computer science with the technical choices that are made along the way