Netflix reliably delivers new features to a worldwide audience multiple times a day via Continuous Delivery pipelines. These automated pipelines enable concise feature sets to move quickly from development into stable cloud environments like test and production without downtime while providing key insight. This session will examine the Netflix Continuous Delivery model and provide insights that you can leverage in your own Continuous Delivery processes.
In 1894, the sculptor Frederick MacMonnies unveiled “Bacchante And Infant Faun” at the Paris Salon and it was immediately hailed as a masterpiece.
In 1897, “Bacchante” was ignominiously driven out of its intended home at the new Boston Public Library, due to pressure from puritanical groups that considered it indecent, inappropriate, and a corrupting influence.
How on earth did this happen? And what can “Bacchante”’s experience teach us, as people who make things and then send them out into the world?
As screens and input types evolve, we’re managing more complexity in our designs than ever before: our layouts are becoming more flexible and responsive; our interfaces, more immersive. Maybe we can look for simpler approaches? In this session, Ethan—a singularly lazy person—will walk through some responsive designs, and show how we might do a lot more with a little bit less.
Puppet is an incredibly powerful tool, and part of that power is its flexibility. Flexibility often leads to a wide range of ideas on implementation. I've consulted on countless Puppet implementations and I've seen the entire spectrum ranging from bat-shit insane to picture perfect. But even the bat-shit insane implementations worked (to a point) and at some point, what seemed bat-shit to me, was picture perfect to the folks running it. As I got to understand some of the more unique implementations, I started to ask myself; if there's no clear "right" way to implement Puppet, is there a particularly effective way?
When trying to answer this question I started by looking at the teams who got it right and a pattern quickly emerged. All of those teams had a number of things in common about the way they did things that went far beyond policies and procedures. These behaviors were broadly understood by the team members, nearly universally adhered to, and were almost second nature. These habits led to more stable, maintainable, and well understood Puppet deployments. In this talk I'll share with you the behaviors I saw and how you can turn these seemingly obvious best practices into habits amongst your team members.
Managing UI complexity is hard. State exists on the server, in browser memory and in the DOM, all mutating over time. Keeping it in sync is easy at first, but as you dial up the interactivity things get buggy and fragile. Is there a simpler way? We'll look at building apps that minimize mutable state and embrace a simpler, functional event/data flow with Facebook's React.
Starting your first programming job can be a daunting experience. How do you progress from basic CRUD apps to competent work on a complex application? Meanwhile, training inexperienced developers can feel like a goal with no roadmap. How can you help a newbie when you can’t even remember what it was like to be in his shoes? Drawing from a wide range of topics including cognitive psychology, mysticism, and alligators, this talk will address both sides of the technical onboarding challenge, providing thorough and structured advice for both entry-level developers and those who mentor them. Many of the tips on skill acquisition and learning should be helpful to those in more advanced positions as well.
When is it okay to build an orbital laser to destroy an ant-hill?
Many cry "overkill" when design principles are applied to trivial problems. And for good reason: in the context of work, excessive embellishment gets us into trouble. Complexity costs us time and money.
This talk explores how stepping outside of the realm of work and applying outrageous engineering practices to toy problems can deepen our understanding of the trade-offs that we make. Comically simple problems provide the perfect ground for developing actionable heuristics which can be applied to those monstrous complexities that we face in the real world.
Exaggerate. Sharpen your skills. Kick ass.
Infrastructure coding is one of the most important and prominent capabilities within any technical group. The ability to write software which is responsible for delivering the foundational platform upon which our businesses run, in a repeatable and automatable manner is one of the most significant developments in the IT industry in the last ten years. However with much power comes much responsibility - while we wouldn't dream of putting our applications into production without a thorough test suite,infrastructure code written using frameworks such as Chef (or similar utilities) is frequently put into use without any test harness or ability to catch regressions. This talk sets out a paradigm for test-driven infrastructure, bringing best practices from agile software development into the operations world, and describes a recommended toolchain and workflow based on Chef and KitchenCI to write automate systems in a truly resilient and trustable way.
I bet you think “callback hell” is about function nesting and levels of indentation. Not so much. I bet you’ve heard that Promises replace callbacks. Nope.
Yield those confused async notions and control your flow. I promise we’ll get your thoughts in order.
Docker can be used in a lot of different ways and for many different things. We’ll cover some Docker basics, and then jump right into some workflow patterns and just plain old cool things you can do with Docker.
Abby will share lessons learned from working with hundreds of tech startups for what's involved in building out innovative new products that push the edge on what's possible. Using examples from real startups, she'll share lean and agile techniques that have been adapted to building things that nobody has ever built before. Just as important, she'll share tips on how to find your initial users and how to very quickly validate (and iterate on!) your ideas to help you achieve product success.
uild systems play a crucial role in a modern web developer's life. Why do we settle for subpar processes when we can have it all? Take a journey through the build system to discuss a little philosophy, automation, streams, grunt, gulp, and everything in between.