The web browser provides a platform with unmatched reach, but it still suffers from annoying limitations. Building major web applications has been extraordinarily challenging. For the web to thrive, it needs to be competitive with native platforms across the board, especially on mobile devices.
The web must make it easy to develop applications that run on- and off-line, and that provide a first class user experience in terms of performance, features and UI while requiring essentially zero maintenance from the user. Key to this is developer productivity.
We'll show several such systems, some viable today, some more radical, and discuss what is holding them back.
At Netflix, we realize that there’s a tension between the availability of our service and our speed of innovation. If we move slowly, we can be very available -- but that’s not a good business proposition. If we move super fast, we risk downtime -- and that might annoy our customers. But what if we could increase our velocity without significantly impacting availability? How can we shift that curve so that we’re moving faster without dropping any of those coveted 9’s?
This talk will explore how we can engineer velocity by weaving together tooling and culture with software development to expose and elevate highly effective practices. We’ll discuss the importance of a blameless culture, where mistakes are a part of the learning process and it’s more about recovering fast than not making mistakes in the first place. This talk describes how our tooling, in particular our continuous delivery system, allows us to build scaffolding so that we’re comfortable with software developers making the decision to push the button for prod deployment -- and helps them to recover if necessary. As a result, we can run fast, trusting our tooling and our culture.
Throughout this talk, I hope that you will challenge yourself to consider how your company can "shift the curve" through tooling and to achieve a high velocity environment without negatively impacting reliability.