Programming is an adventure, often more harrowing than it has to be. If you're more used to higher-level languages like Ruby or JavaScript, learning a lower-level language like Rust can feel like an impossible journey that leaves you wishing for a well-written and heavily illustrated field guide. Good news! I have already gone down this road and am now prepared to share my adventure with you. Luckily, I was able to capture much of the flora and fauna of Rustlandia with my primitive pictorial devices (paper and pen).

GraphQL is an exciting new query language that's transforming the way we think about APIs. Used in production by Facebook, GitHub, and Shopify, it challenges RESTful API design by empowering consumers to query for exactly the information they need. In this talk, I will give an introduction to the query language, how GitHub uses it internally with Ruby and Rails, and the lessons they learned launching their GraphQL API externally.

Trust is at the core of whether we are happy at work or not. Trust is at the core of whether we like who we work with. Trust is at the core of whether people perceive us to be good at our jobs. But what is trust? How do you know when it's missing? And how do you fix it when it's gone. Let's discuss the elements of trust and the patterns of behavior the make or break trust

Processes in Erlang / Elixir resemble objects in many ways. Some even argue that Erlang processes and the Actor Model are a purer form of object-orientation. The Elixir community has a large contingent of Rubyists that have extended many of the core values (and joys) of Ruby into the world of Elixir. This talk exposes some of the reasons why while providing a starting point for further learning

Ruby is often praised for being a happy language. For highly motivated developers, a large part of happiness is tied to being productive. How can we extend the productivity gains we experience from writing Ruby to an entire engineering organization? At Strava we are experimenting with a framework we call Developer Productivity Engineering (DPE). DPE applies the principles of Site Reliability Engineering, developed by Google, to improving productivity through automation for both individual engineers and engineering organizations. This talk is a detailed view of the DPE framework and our experience with it so far.

The last ten years have brought many new developments in databases. Previously developers had SQL as the dominant and nearly only paradigm for databases. Then in the mid-aughts the rise of NoSQL databases like MongoDB, Redis, Cassandra, HBase and others brought new paradigms and options to developers. Over the last few years there seems to have been a swing back to NewSQL or scalable databases that support the SQL standard. In this talk we'll look at some of the new database models like document, data structure, time series, and key/value. I'll look at use cases where these different models end up being a better fit for their problem domains than SQL, the previous one true language to rule them all.

It’s never easy to have a tough conversations, and they never go away. Therefore, I see a better way to live with them, and I want everyone to hear it: empower yourself to understand why we do what we do so you can effect change. Understanding creates empathy. Empathy reduces (not eliminates) conflict. This talk is a practical course on the triad of human psychology: language, physiology and focus. I’ll walk through simple strategies that lower stress, create empathy and manage emotions.

When I switched from a Ruby based company to a Python based company, things I had taken for granted in my Ruby life were suddenly sorely missed, and the transition to a language with only one way to do the same thing created quite a few bumps in the road. This talks draws parallels between Ruby and Python, spotlighting which brought the most developer happiness, what I miss and love about Ruby, and what Ruby can learn from Python.

Standard Rails development made me happy like no other programming paradigm in my career. Simple front-end development with standard Rails and a sprinkling of jQuery was 'OK' Then, in 2014, I had to build a front-end that dynamically updated like a desktop app. I knew there had to be something better, and I went down the rabbit hole of integrating React with Rails using Webpack. Come find out how my obsessive pursuit of “developer happiness” for the Rails front-end eventually drove me to start the React on Rails gem, the most popular integration of Rails with React using Webpack.

How do perceptions and stereotypes affect those in software and on engineering teams? This talk tells the true story of how I hacked my appearance, by shaving my head, to change the way I was perceived as a programmer. This talk also serves as a primer on unconscious bias and stereotype threat, and their effects on individuals and teams. I will provide actionable advice on how to make engineering teams more inclusive, more diverse, and thusly more productive, successful, and attractive to potential hires.

As software engineers, we're constantly encouraged to contribute to Open Source as a means of learning and giving back to our communities. However, this vision can alienate newcomers from different backgrounds. To fight this back, in this talk I'll explain why this happens, and I will share different ideas that can lead us to foster real diversity in our communities and workplaces.

As much as we'd like our programming careers to be filled with great success, it's more than likely we'll encounter setbacks along the way. We may have to deal with impossible clients or projects, imposter syndrome, confusion, self-doubt, and maybe much worse. Perhaps there's a bright side to failure. Let's take a close look at our scars and examine how they can help make us stronger.

Applications written in Ruby, Python and several other popular dynamic languages become very slow to boot as they grow to millions of lines of code. Waiting to reload code in development becomes a major frustration and drain on productivity. This talk will discuss how we reduced the time to boot a service at Stripe from 35s to 5s by statically analyzing dependencies in our codebase to drive an autoloader.

Every language has at least one big idea behind it. In Ruby we cherish the powers of abstraction in the language and the conventions of Rails. Experienced Ruby programmers lean on these ideas without a thought. Imagine my surprise when I changed jobs, stopped programming Ruby full time, and those ideas were nowhere around. This talk is the antidote to the 'x language is cool talk'; It's a talk where you'll learn about the ideas behind a couple of current hot languages. You'll learn how new languages change the way you program. We'll find some gaps in Ruby and bring some neat stuff back.