RailsConf 2016


Keynotes, Sessions, Workshops, and Sponsored Parties


Postcards from GorbyPuff

GorbyPuff is setting off on a grand world tour and leaving us clues so we can follow him. Using Google Cloud tools such as Cloud Vision, BigQuery, Google Translate we'll track down Gorby at all his stops. While we're at it we'll learn some tools you can use to add awesome functionality to your web applications.

Aja Hammerly

This is a sponsored talk by Google.

Aja lives in Seattle where she is a Developer Advocate at Google and a member of the Seattle Ruby Brigade. Her favorite languages are Ruby and Prolog. She also loves working with large piles of data. In her free time she enjoys skiing, cooking, knitting, and long coding sessions on the beach.

3x Rails: Tuning the Framework Internals

Matz declared that the next major version of Ruby is going to be 3x faster than Ruby 2.
But how can we make a software 3x faster? Can we do that for Rails?

In this session, we will discuss the ways to survey performance hotspots in each layer of the framework, tuning techniques on the performance issues, and some actual works that you can apply to your apps.

Topics to be covered:
* Speeding up DB queries and model initialization
* View rendering and template lookup
* Routes and URLs
* Object allocations and GC pressure
* Faster Rails boot and testing
* Asset Pipeline tweaks

Akira Matsuda

Rails committer, Ruby committer, Haml committer, creator of widely used Rails plugins such as Kaminari, activedecorator, actionargs, i18ngenerators, html5validators, motorhead, erd, database_rewinder, etc. Founder of "Asakusa.rb", the most active Ruby community in Japan.

Packaging and Shipping Rails Applications in Docker

You’re very happy as a Rails developer for drinking the Docker kool-aid. You just need to toss a Docker image to your Ops team and you're done! However, like all software projects, your Docker containers start to decay. Deployment takes days to occur as you download your gigantic Docker image to production. Everything’s on fire and you can’t launch the rails console inside your Docker container. Isn’t Docker supposed to take all these things away?

In this talk, I will discuss some Docker optimizations and performance tuning techniques to keep your Rails packaging and shipping pipeline in shape.

Allan Espinosa

This is a sponsored talk by Engine Yard.

Allan works at Engine Yard where he supports Rails applications in production. He is a language polyglot with experience building and operating PaaS systems like Engine Yard's, Deis, Kubernetes, Cloud Foundry and Docker.

Allan is also the author of "Docker High Performance" from Packt Publishing. The book contains some worked examples and high-level concepts on how to get Docker up and running in production.

Stuck in the Middle: Leverage the power of Rack Middleware

Before a request ever hits your Rails application, it winds its way through a series of pieces of Rack middleware. Middleware sets session cookies, writes your logs, and enables the functionality in many gems such as Warden.

With Rails or any Rack app, you can easily insert your own custom middleware, allowing you to log, track, redirect, and alter the incoming request before it hits your application.

You will leave this talk confident in writing your own custom middleware, better able to troubleshoot gems that rely on middleware and with an understanding of how your Rails app functions.

Amy Unger

The granddaughter of a former MIT computer (yup, that was a job title), Amy was clearly supposed to be a programmer, but just did not get the message. Her wanderings have taken her through the land of libraries and archives and into software consulting. Now a software engineer at Heroku, she is deeply grateful for every scarce day she does not use vim commands in Google Docs.

Excellence through diversity

People are different. We see this everywhere. We often have a hard time setting aside our differences and go in the same direction. But history has shown that the greatest things have been achieved by teams.

When building software, are you looking for the best programmers or for the best team? What tips the balance to hire one person but not the other?

Let’s explore how our differences affect ourselves and others and what we need to build a great team.

Andreas Fast

This is a sponsored talk by Moove-it.

I’ve been working with Ruby & Rails for around five years at Moove-it. I love solving hard problems, and sharing what I learn with others. My free time is spent on reading, soccer and football.

don't forget the network: your app is slower than you think

When you look at your response times, satisfied that they are "fast enough", you're forgetting an important thing: your users are on the other side of a network connection, and their browser has to process and render the data that you sent so quickly. This talk examines some often overlooked parts of web applications that can destroy your user experience even when your response times seem fantastic. We'll talk about networks, routing, client and server-side VMs, and how to measure and mitigate their issues.

André Arko

André thinks Ruby is pretty neat. He leads the Bundler and RubyGems teams, and he founded Ruby Together to make sure the open source that everyone uses stays maintained and working. In the rest of his time, he provides expert development, architecture, and teaching through Cloud City Development in San Francisco.

Crushing It With Rake Tasks

Although bundle exec rake db:migrate is probably the single biggest killer feature in Rails, there is a lot more to rake.

Rails offers several rake tasks to help with everyday project management, like redoing a migration because you changed your mind on one of the columns, clearing your log files because they get so big, and listing out the TODOs and FIXMEs.

What's even more awesome that all that is that you can create your own rake tasks. Got a tedious command-line process? Write a rake task for it!

Barrett Clark

I am a Rubyist turned polyglot. I currently work at Sabre Labs, where we experiment with the intersection of emerging and current technologies. I don't always write code in Ruby, but when I do I prefer to write backend servers and services.

Style Documentation for the Resource-Limited


Application view layers are always hard to manage. Usually we handwave this as the natural consequence of views being where fuzzy user experience and designer brains meet the cleaner, neater logic of computers and developers. But that handwave can be misleading. View layers are hard to manage because they’re the part of a system where gaps in a team’s interdisciplinary collaboration become glaring. A comprehensive, well-documented styleguide and component library is a utopian ideal. Is it possible to actually get there? It is, and we can do it incrementally with minimal refactor hell.

Betsy Haibel

Betsy Haibel is a senior developer at ActBlue, one-half of the Irregular Gentlewomen, and an active mentor with RailsGirls DC.

ActiveRecord vs. Ecto: A Tale of Two ORMs

They bridge your application and your database. They're object-relational mappers, and no two are alike. Join us as we compare ActiveRecord from Rails with Ecto from Phoenix, a web framework for Elixir. Comparing the same app implemented in both, we'll see why even with two different web frameworks in two different programming languages, it's the differing ORM designs that most affect the result. This tale of compromises and tradeoffs, where no abstraction is perfect, will teach you how to pick the right ORM for your next project, and how to make the best of the one you already use.

Brad Urani

Brad Urani loves talking, tweeting and blogging about software almost as much as he loves creating it. He's a veteran of 5 startups and a frequent conference and meetup speaker. He lives in Santa Barbara, California where he preaches the wonders of relational databases as principal engineer at Procore.

Step 1) Hack, Step 2) ?, Step 3) Profit

Hired's mission is to get everyone a job they love. As a transparent marketplace, Hired connects companies and engineers using technology and a personal touch. Initially a weekend hack project, it's grown to help thousands find their dream jobs/teams in 16 cities in 6 countries. From that origin, Hired has regularly focused efforts in hackathons, which have spurred much of the company's innovation.

Hiten & Brad will talk about their culture of empowerment, creativity, and trust and highlight several core features that have grown from small experiments to foundational parts of the experience.

Bradley Herman

This is a sponsored talk by Hired.

Brad is a full-stack engineer, working with Ruby/Rails for nearly 10 years. In the past he's designed API's supporting 1m+rpm at Bleacher Report, co-founded massage on demand service Soothe, and now leads the marketing engineering team at Hired.

Surviving the Framework Hype Cycle

Baskin-Robbins wishes it had as many flavors as there are JS frameworks, build tools, and cool new "low-level" languages. You just want to solve a problem, not have a 500-framework bake-off! And how will you know whether you picked the right one? Don't flip that table, because we'll use the "hype cycle" and the history of Ruby and Rails as a guide to help you understand which front-end and back-end technologies are a fit for your needs now and in the future.

Brandon Hays

Brandon left the world of marketing to find that creating software made him happy. Brandon lives in Austin, TX, where he helps run The Frontside, a Rails and Ember.js consultancy. Brandon's lifelong mission to to hug every developer.

Rails to Phoenix


You may have heard about Phoenix and Elixir. It is a language and framework that give you performance without sacrificing productivity. Learn why Phoenix is a great choice for Rails developers and how you can introduce it into your organization.

Brian Cardarella

Brian is the CEO of DockYard, a leading Ember.js and Phoenix consultancy based in Boston, MA.

Build Realtime Apps with Ruby & Pakyow


Client-side frameworks dominate the conversation about the future of web apps. Where does that leave us Ruby developers? Let's explore a way to build realtime apps driven by a traditional backend, without writing a single line of JavaScript! You’ll walk away with a new way to build modern, realtime apps employing client-side patterns.

Bryan Powell

I've been building apps in Ruby since 2005. In 2007, I founded Metabahn, a software company that builds web and mobile apps for dozens of happy clients.

I am passionate about making development easier and accessible to more people, expressed through my work on Pakyow, an open-source platform for the modern web.

Multi-table Full Text Search with Postgres

Searching content across multiple database tables and columns doesn't have to suck. Thanks to Postgres, rolling your own search isn't difficult.

Following an actual feature evolution I worked on for a client, we will start with a search feature that queries a single column with LIKE and build up to a SQL-heavy solution for finding results across multiple columns and tables using database views.

We will look at optimizing the query time and why this could be a better solution over introducing extra dependencies which clutter your code and need to be stubbed in tests.

Caleb Thompson

Speaker, developer, painter, gamer: an eccentric eclectic. Caleb is currently coding mostly in Ruby and Go. He has braved the wintry tundra of Alaska and the harsh deserts of Arizona. He has fired a Mosin-Nagant without blinking, fought the Red Menace, built Battleship Couch, and killed a bear and wore its pelt. He enjoys fine wines, craft beers, and punching comets.

From zero to API hero: Consuming APIs like a pro


Just like there’s an app for that, there’s an API for that! But not all APIs are created equal, and some APIs are harder to work with than others. In this talk, I will walk through some common gotchas developers encounter when consuming a 3rd party API. I will explain why it’s important to familiarize yourself with the API you’re consuming prior to coding, as well as share tools to help you get acquainted with an API much faster. Lastly, I will go over debugging and testing the API you’re consuming, because testing is not just for the provider of the API!

Cecy Correa

Co-organizer of @RefreshAustin, Co-chapter leader of Girl Develop It Austin (@GDIATX). Passionate about bringing diverse voices into tech. Blogging at cecycorrea.com.

Your First Legacy Codebase


So you've just graduated from a bootcamp and you're starting your first real job in software development. You've got several Rails apps under your belt and you're excited to get started. But few jobs offer the opportunity to build new apps; it's much more likely that you will be part of a team charged with maintaining and growing a legacy application. How can you get started working on an aging codebase when the sum of your experience so far was with greenfield apps?

Coraline Ada Ehmke

Coraline Ada Ehmke is a speaker, writer, teacher, open source advocate and technologist with 20 years of experience in developing apps for the web. As a founding member of OS4W and contributor-covenant.org, she works diligently to promote diversity and inclusivity in the tech industry. Her current interests include refactoring, code analytics and artificial intelligence.

Can Time-Travel Keep You From Blowing Up The Enterprise?

Hindsight is 20/20, and there's a lot of advice out there telling you to do what the author wishes they had done at their last company to avoid disaster. Let's try to follow their advice and see where it lands us.

We'll take four journeys from rails new into a reasonable future. The first three, “dedicated team pulling apart the monolith a year later than hoped”, "nothin' beats a monolith", "services from day one" will blow up the Enterprise, while the fourth, “take reasonable steps to let the system evolve”, won't.

David Copeland

I'm a programmer and author. I wrote "The Senior Software Engineer" and "Build Awesome Command-Line Applications in Ruby", and have over 18 years of professional development experience. I've managed high-performance, high-traffic systems at LivingSocial, helped build the engineering team at Opower, and worked consulting gigs both large and small. Currently, I'm Director of Engineering at fashion start-up Stitch Fix, building a platform that will change the retail shopping experience.

Testing Rails at Scale

It's impossible to iterate quickly on a product without a reliable, responsive CI system. At a certain point, traditional CI providers don't cut it. Last summer, Shopify outgrew its CI solution and was plagued by 20 minute build times, flakiness, and waning trust from developers in CI statuses.

Now our new CI builds Shopify in under 5 minutes, 700 times a day, spinning up 30,000 docker containers in the process. This talk will cover the architectural decisions we made and the hard lessons we learned so you can design a similar build system to solve your own needs.

Emil Stolarsky

Emil is a production engineer at Shopify where he works on performance, the production pipeline, and DNS tooling. When he's not trying to make Shopify's global performance heat map green, he's shivering over a spiked cup of coffee in the great Canadian north.

Booting Up: Hiring and Growing Boot Camp Graduates


In 2015, nearly a hundred programming boot camps produced thousands of graduates in North America alone. While boot camps help address a need for professional software developers, their graduates have different skill sets and require different interview assessment and career management than fresh college graduates with degrees in computer science. In this talk, we'll look at how boot camps prepare their students, how to interview graduates, and how to help them continually learn during their careers, developing a holistic model for hiring and growing boot camp graduates in the process.

Eric Weinstein

Eric Weinstein is the author of Ruby Wizardry (No Starch Press), an illustrated guide to the language for children. He enjoys writing Ruby, Clojure, Haskell, and Swift.

How to Build a Skyscraper

Since 1884, humans have been building skyscrapers. This means that we had 6 decades of skyscraper-building experience before we started building software (depending on your definition of "software"). Maybe there are some lessons we can learn from past experience?

This talk won't make you an expert skyscraper-builder, but you might just come away with a different perspective on how you build software.

Ernie Miller

Ernie's been programming since he was 6, and professionally for the past 18 years or so. He's passionate about creating things, and sees software development as an especially powerful medium for creation. Sometimes he still can't believe that people actually pay us to have this much fun.

Turbo Rails with Rust

Ruby is not the fastest language in the world, there is no doubt about it. This doesn't turn out to matter all that much – Ruby and its ecosystem has so much more to offer, making it a worthwhile tradeoff a lot of the times.

However, you might occasionally encounter workloads that are simply not suitable for Ruby. This is especially true for frameworks like Rails, where the overhead wants to be as little as possible.

In this talk, we will explore building a native Ruby extension with Rust to speed up parts of Rails. What does Rust have to offer here over plain-old C? Let's find out!

Godfrey Chan

Godfrey Chan is a member of the Rails core team and a contributor to various open-source projects. He works at Tilde Inc, splitting his time between building Skylight and open-source consulting. In his previous life, he was also an award-winning WordPress™ plugin author.

Tweaking Ruby GC parameters for fun, speed, and profit

Whether you are building a Robot, controlling a Radar, or creating a Web App, the Ruby Garbage Collector (GC) can help you. The stats exposed by the Garbage Collector since Ruby v2.1 caught my attention and pushed me to dig deeper. Both Ruby 2.1 and 2.2 brought great performance improvements. From a practical point of view, we will discuss how to use the GC to enhance the performance of your software, from configuration parameters to different approaches on how you can change them yourself.

Helio Cola

Helio is a passionate software engineer and has created things primarily in C/C++ & Ruby, over the past 15 years. He(lio) met Ruby v1.8.7 and Rails 2.x in 2010. Recently founded a company to help small NGOs to increase awareness and community engagement, after leaving his FTE for his side job. Been smiling since then!

How Compose uses Rails to Scale Work, Now Open-Sourced

Compose is committed to making remote work work. Our biggest hurdle is communication and teamwork. When we joined forces with IBM, we added a new issue - how to scale. So, our devs built an app we’re open-sourcing called Fizz. Built on Rails, Fizz helps us empower our team to do great work, feel like family, and operate happily and efficiently as an international, remote, self-managing organization. We work transparently, commit to open-source, wear sweatpants, and genuinely enjoy each other and we’re committed to keeping it that way. We harnessed the power of Rails to make that happen.

JP Phillips

This is a sponsored talk by Compose.

JP is platform engineer extraordinaire here at Compose. He works hard on the back-end to make things work on the Compose Platform and was the lead on bringing Elasticsearch and Redis to Compose. When not working (and sometimes even while working) JP is a doting husband and awesome father who loves Auburn. War Eagle!

Implementing the LHC on a Whiteboard


If you apply for a programming job, you may be asked to complete a take home code challenge, "pair program" with another developer, and/or sketch out some code on a whiteboard. A lot has been said of the validity and fairness of these tactics, but, company ethics aside, what if you just need a job? In this talk, I'll show you a series of mistakes I have seen in these interview challenges and give you strategies for avoiding them. I'll give recommendations for how you can impress the programmers grading your work and I'll tell you which rules you should bend in your solutions.

James Edward Gray II

James Edward Gray II has been a part of the Ruby community for over a decade. His day job has been working on Rails applications for most of that time. He has contributed code and documentation, written books, organized conferences, run weekly code challenges, and talked with experts on podcasts. Most importantly, he has interviewed for a job or twelve in his time.

Your software is broken — pay attention

Your team has been tasked with releasing new and better versions of your product at record speed. But the risk of moving quickly is things break in production and users abandon your buggy app. To stay competitive, you can't just ship fast - you also have to solve for quality.

We'll rethink what it means to actively monitor your application in production so your team can ship fast with confidence. With the right tooling, workflow, and organizational structures, you don't have to sacrifice release times or stability. When things break, you'll be able to fix errors before they impact your users.

James Smith

This is a sponsored talk by Bugsnag.

James is the co-founder and CEO of Bugsnag, the leading active error monitoring service for web, mobile, and desktop applications. Bugsnag processes more than 250 milllion events per day for companies like Slack, Square, CBS, Pandora, and Shopify. James was born in London, UK, and attended the University of Bath. From 2009 to 2012, James led the product team as the CTO of Heyzap, helping scale the company to more than 8 million users.

Reduce small-team culture shock with agile


Ever hire someone from a traditional IT organization who seemed like a great person, only to have them end up a sucking pit of negativity that had to be fired? Traditional IT can be an incredibly hostile environment, leading to survival strategies that aren’t always compatible with small agile-based teams. In this session, I will show how these survival strategies came to be, and ways to deprogram them to reduce your recruiting churn. Better yet, the tools to do so are already in agile.

Jamie Riedesel

Jamie Riedesel is a DevOps Engineer at HelloSign and has been performing acts of systems administration and engineering since 1997, and more dev-like things since 2010. She moved from corporate IT to the startup space in 2010 and experienced the good kind of culture shock. Jamie has been blogging as sysadmin1138 since 2004, a community elected moderator on ServerFault since 2010, and awarded the Chuck Yerkes community award by LOPSA in 2015.

Real World Docker for the Rubyist

Docker’s gotten a lot of press, but how does it fare in the real world Rubyists inhabit every day?

Together we’ll take a deep dive into how a real company transformed itself to run on Docker. We’ll see how to build and maintain Docker images tailored for Ruby. We’ll dig into proper configuration and deployment options for containerized applications. Along the way we’ll highlight the pitfalls, bugs and gotchas that come with such a young, fast moving platform like Docker.

Whether you’re in production with Docker or just dabbling, come learn how Docker and Ruby make an awesome combination.

Jason Clark

I fell in love with programming watching my dad work in Clipper and dBase III (no, really). The obsession sparked there continues to this day. I work for New Relic, and in my spare time contribute to the Shoes project. When not at work, I enjoy cycling, homebrewing, and hanging out with my family.

Pat Packet Visits Ruby Rails


The eager Pat Packet just started his first job at KPS (Kernel Parcel Service). He knows an important package is coming through from Firechrome Industries destined for the Puma Kingdom for Ruby Rails herself! Pat’s boss acquiesces to Pat’s pleas to deliver the package. Come follow Pat’s journey as he delivers this very important package to Ruby Rails!

Whether we realize it or not, a lot of magic goes behind the scenes to deliver an HTTP request from a browser to a Rails server. In this talk, learn about TCP/IP, DNS, HTTP, routers, and much more as they help Pat Packet deliver his package.

Jeremy Fairbank

Jeremy Fairbank is a remote web developer in Tennessee. He works for Push with an entirely distributed team that creates amazing designs and software. He has worked on the frontend and backend extensively with React, Angular, Backbone, Node, and Ruby on Rails. He blogs at blog.jeremyfairbank.com and has been featured in JavaScript Weekly a few times. Outside of developing, he enjoys being a husband and father and playing guitar.

Going Serverless


Serverless is a new framework that allows developers to easily harness AWS Lambda and Api Gateway to build and deploy full fledged API services without needing to deal with any ops level overhead or paying for servers when they're not in use. It's kinda like Heroku on-demand for single functions.

Jeremy Green

Jeremy is a full stack engineer who has been creating web apps for over 15 years. He's an organizer of the OkcRuby developer group and an active open source contributor. You might also find him drumming, shooting photos, or brewing.

Inside ActiveJob


ActiveJob made a huge impact when it landed Rails 4.2. Most job processors support it and many developers use it. But few ever need to dig into the internals. How exactly does ActiveJob allow us to execute performant, thread-safe, asynchronous jobs in a language not known for concurrency? This talk will answer that question. We'll build our own asynchronous job processor from scratch and along the way we'll take a deep dive into queues, job serialization, scheduled tasks, and Ruby's memory model.

Jerry D'Antonio

Jerry has been a professional programmer for two decades. When not attending heavy metal concerts, playing video games, or studying programming languages he works on the concurrent-ruby gem, which he created. Jerry has worked professionally with numerous languages and has built software for a diverse set of industries. His current languages of choice are Ruby, Go, JavaScript, and Erlang. Jerry is a software developer for Test Double and proudly lives in Akron, Ohio.

ActionCable for Not-Another-Chat-App-Please


RealTime updates using WebSockets are so-hot-right-now, and Rails 5 introduces ActionCable to let the server talk to the browser. Usually, this is shown as a Chat application -- but very few services actually use chats.

Instead, Rails Apps want to be able to update pages with new inventory information, additional products, progress bars, and the rare notification. How can we make this happen in the real world? How can we handle this for unauthenticated users? How can we deploy this?

Jesse Wolgamott

Jesse is the Back-end Curriculum Lead Instructor at The Iron Yard, has taught Ruby courses since 2012, authored a book on AngularJS+Rails, and has loved Rails since 2007. Jesse has trained and spoke at conferences internationally, and has determined that Tacos rule and salads drool.

Building Applications Better the First Time


Feature creep is a common problem in many projects. When you have to take into account customer requests and the ideas of designers and developers, how do you finish all of the features on time? Setting expectations and keeping customers happy can be impossible without the right focus, good communications and proper design. This talk will cover tools and tricks that you can use to prioritize what to complete first and help you iterate through the design process more quickly.

Jessica Roper

Senior Software Developer at Spiceworks. I've worked at Spiceworks for over 5 years in a few different roles. I've been the primary/lead or only developer of several projects ranging from general Rails apps to specialized reports and projects interacting directly with customer and project managers for different specific needs such as email audience segmentation, usage data reporting, web portals and APIs.

Will It Inject? A Look at SQL Injection and ActiveRecord


If you've struggled through writing complex queries in raw SQL, ActiveRecord methods are a helpful breath of fresh air. If you're not careful though, those methods could potentially leave your site open to a nasty SQL Injection attack.

We'll take a look at the most common ActiveRecord methods (and some of the lesser known ones!) with one question in mind....will it inject? If it's vulnerable to a SQL injection attack, we'll cover how to structure your query to keep your data secure.

Jessica Rudder

Jessica Rudder has wanted to program since childhood. At 8, she purchased an old computer and spent hours in the green glow of the monitor trying to learn BASIC. Years later, a high school programming class brought her face to face with BASIC again. It seemed impossible to get that code to do what she wanted so she sadly traded programming for digital marketing. After discovering the wonders of Ruby, she spent 12 intense weeks at The Flatiron School and now spends her days happily coding.

Hiring Developers, with Science!


Nothing makes or breaks our teams like the members they hire. And so we rate and quiz, assign homework and whiteboard algorithms until candidates are blue in the face. But does it work? In this session, we’ll unpack common interviews and how they stack up with research into predicting performance. We’ll learn to design interviews that work, what kinds don’t work at all, and how to tell the difference, with science!

Joe Mastey

Joe Mastey consults as a software engineer for this and that. Recently he’s been focusing on helping companies build fantastic internal education programs. As an avid extreme weather enthusiast, Chicago has been quite kind to him, despite a distinct lack of climbable rocks.

Managing Growing Pains: Thinking Big While Being Small


This talk is for anyone who's had to promise new features to a client when they weren't actually sure how they'd deliver on the promise.

We all have big visions and big ideas, but our teams and abilities are finite resources. We'll talk about how to manage expectations, growth, technical debt and delivery (and still be able to sleep at night despite that last wonky commit). We'll talk about the never-ending product roadmap, product reality and how what we create falls somewhere in between.

Jon Arnold

Jon Arnold is a product manager and UX strategist who cares.

I'm passionate about great experiences, both in software and in physical spaces. I share this love with my clients by facilitating workshops that create products with purpose.

I'm also a Scrum Certified Product Owner (SCPO) and proud to be the SVP of Product for Life.io.

More info: http://jonathonarnold.com/

Facepalm to Foolproof: Avoiding Common Production Pitfalls


"WTF asset pipeline?"
"What are all these errors?"
"Why is my app running so slow?"

If you're new to Rails development, or just want some tips on deploying and running in production, this is the talk for you. Relying on real-world experience as part of the Heroku support team, we'll talk through common issues (and a few funny ones) we see when people take their "but it works in development!" app to a production environment.

Jon McCartie

Jon sold all his stuff, bought an RV, and lives full-time on the road with his wife and 3 kids. Jon works at Heroku.

Riding the Latest Rails for Charity

As developers we often forget that with our development skills we have the power to change the world. This talk describes how our company organized a hackathon to create three open source projects that helped charitable organizations become more efficient at helping people. Bringing our team together around a shared philanthropic goal created more team unity, improved team communication and most importantly allowed us to apply our development skills to do good in the world.

Joseph Dean

Joe has been writing software professionally and for fun for the past 20 years. He is currently working as a software engineer at On-Site.com, a property leasing platform for property managers. In his free time he enjoys teaching kids to code. He's one of the founders of CoderDojo Silicon Valley, the chapter lead for littleBits in San Jose, an after school programming teacher and a robotics coach. But, most of all he enjoys being a father and pair programming with his kids on the weekends.

...But Doesn't Rails Take Care of Security for Me?


Rails comes with protection against SQL injection, cross site scripting, and cross site request forgery. It provides strong parameters and encrypted session cookies out of the box. What else is there to worry about? Unfortunately, security does not stop at the well-known vulnerabilities and even the most secure web framework cannot save you from everything. Let's take a deep dive into real world examples of security gone wrong!

Justin Collins

Justin is an application security engineer at SurveyMonkey and the primary author of Brakeman, a static analysis security tool for Ruby on Rails.

RSpec and Rails 5


Something's in the air. It's Rails 5! A lot of Ruby developers are preparing to get their apps upgraded to Rails 5. Vitally important is, of course, your test suite. In this talk, you will learn everything you need to know to get your RSpec suite working on Rails 5. Learn about:

The deprecation of controller specs and what to do about them
ActionCable! How to test our favourite new feature
General tips for upgrading

The technical content of this talk is for almost everyone, from bootcamp grad to seasoned veteran. Come along to learn and ask practical questions about RSpec.

Justin Searls

Nobody knows bad code like Justin Searls. Relative to his peers, he is able to produce bad code effortlessly. He spends so much time with bad code, that he's got a lot of experience thinking and talking about some of the reasons the industry has gotten so good at producing bad software. In 2011, Justin and Todd Kaufman founded Test Double, an agency dedicated to identifying what's broken about software and what we can collectively do to fix it.

How We Deploy Shopify

Shopify is one of the largest Rails apps in the world and yet remains to be massively scalable and reliable. The platform is able to manage large spikes in traffic that accompany events such as new product releases, holiday shopping seasons and flash sales, and has been benchmarked to process over 25,000 requests per second, all while powering more than 243,000 businesses. Even at such a large scale, all our developers still get to push to master and deploy Shopify in 3 minutes. Let's break down everything that can happen when deploying Shopify or any really big Rails app.

Kat Drobnjakovic

This is a sponsored talk by Shopify.

A ballerina turned pharmacist turned software engineer, Kat works on a product team building new features for Shopify merchants. Combining her love of rails and empowering women she organized the first Rails Girls event in Canada. When she isn’t fueling her shopping addiction at Shopify, she is eating cheese between vinyasa flows.


Refactoring sometimes devolves into an appalling mess. You're chasing a broken test suite, and every change just makes it worse. An even more insidious antipattern is the slow, perfectly controlled process culminating in dreadful design.

This talk presents an end-to-end refactoring that demonstrates simple strategies to avoid such misadventures.

Katrina Owen

Katrina accidentally became a developer while pursuing a degree in molecular biology. When programming, her focus is on automation, workflow optimization, and refactoring. She works primarily in Go and Ruby, contributes to several open source projects, and is the creator of exercism.io.

Precompiling Ruby scripts - Myth and Fact

Ruby 2.3 introduced the precompilation feature which compiles Ruby scripts to a binary data format. You can store them to storage (file systems and so on) and then load from them.

Many people believe a myth: precompilation is a silver bullet to reduce long boot times. However, our initial evaluations do not show impressive reduction of boot times. We faced the fact that we need more effort to achieve short boot times.

This talk will introduce this new feature and detailed analysis of Rails application loading time. Also, I will show you our new tricks to reduce loading time.

Koichi Sasada

Koichi Sasada is a programmer, mainly developing the Ruby interpreter (CRuby/MRI). After a 13-year life in university, now he is a member of Matz's team in Heroku, working on development of the Ruby interpreter.

Foreign API Simulation with Sinatra

Nowadays, we often rely on third party services that we integrate into our product, instead of building every aspect of an application. In many cases, well written API clients exist, but on occasion you run into the issue that there isn't a ready to use client or it simply doesn't fit your needs. How do you write a good API client and more importantly how do you test it without hitting the remote API. So far, the standard approach has been replaying requests with VCR or stubbing them with Webmock. There is a third option: simulating foreign APIs with Sinatra from within your test suite!

Konstantin Tennhard

Hi, I'm Konstantin, a computer scientist who specializes in developing large scale internet applications. Not too long ago I moved from Germany to Canada to work at Shopify.

Software design is what I live and breathe. I use it as a tool to empower other developers to move faster and with more confidence. My scientific interests on the other hand are natural language processing and statistical learning methods.

Internships: Good for the intern, Great for the team


You might think that hiring interns is charity work. Your company is bringing on less-than-baked engineers and spending precious engineering resources to train them and bring them up to speed on your technologies.

Surprise! Interns actually help your team, too. Running a successful internship program helps your team level up its teaching skills, discourages silos, and encourages writing maintainable code. I’ll talk about mistakes, successes, and specific processes to keep your team and interns productive, and you’ll leave this talk with plenty of fodder for hiring interns at your company.

Lillie Chilen

Lillie Chilen is a software engineer, bike commuter, and avowed feminist. She co-founded AndConf, serves as the chair of the RailsBridge board, and is the CTO of Double Union, a feminist hacker/makerspace in San Francisco.

Rediscovering ActiveRecord


Being a Rails developer is more than just understanding how to use the Framework to develop applications.

To become an efficient developer, you should learn how the Framework works; how deep this understanding should be is up to you. Exploring the Framework code is something that everyone should do at least once.

Not only may you learn how it works but also, you might learn new tricks from the code itself or discover small features that are not widely publicized.

Mario Alberto Chavez

I'm a software engineer working at http://michelada.io on Ruby-related projects for more than 7 years now.

I teach Ruby and Rails in Mexico and Latin America.

I run the RailsMX community and I'm currently writing a book, "Aprendiendo Ruby on Rails 4.2," in Spanish.

Priming You for Your Job Search

Indeed Prime is the job-search industry’s newest disruptive product. Prime takes the best job-seekers, works hard to make sure their profiles are perfectly polished, and puts them on the Prime platform, where our exclusive group of clients come to them. With Indeed Prime, jobs come to the job-seeker.

In this session, join Indeed Prime’s expert group of talent specialists as they set time aside to help you practice interview questions, edit your resume, and prep for the next step in your career.

Mark McDonald, MiMi Moore, Travis Hillery, Kim Lambright

This is a sponsored talk by Indeed Prime.

As an Indeed Prime Talent Ambassador, Mark assists job-seekers in honing in on their top skills, as well as gearing them up for their job search.

As Indeed Prime Talent Consultants, MiMi and Travis serve as career coaches for job seekers, providing resume assistance and interview prep.

As an Indeed Prime Talent Writer, Kim frames candidate’s skills and background in a way that will attract recruiters to candidate’s profiles.

Zen and the Art of the Controller


So you’re fresh out of boot camp or just off a month long binge on RoR tutorials/examples and you’re feeling pretty good about MVC and how controllers fit into the whole framework. But projects in the wild are often far more complicated than you’ve been exposed to. In this talk, we’re going to discuss several techniques used by seasoned engineers to build and refactor controllers for features you’ll actually be working on.

Michael Kelly

Michael Kelly, Senior Engineer with Assembled Brands, is passionate about two things, building MVPs and teaching cool technologies to younger developers. He’s been building Rails applications for over three years now and has over seven years of experience as a software engineer. He tweets a little and is generally just a bad monkey.

Storytelling with Code

How can you tell a story using only email, a laser printer, voicemail? Last year I created an immersive experience for one audience member in a standard office cubicle. The piece used a rails app and some other custom software and no live actors to tell a story about office culture. This talk focuses on the techniques of digital storytelling, my process of developing the story as I wrote the code, and the strategies I used to create an emotional connection with a user. If you are interested in the intersection between stories, software, game design and narrative design, this talk is for you!

Michael Rau

I'm an artist. I make weird stuff.

Continuous visual integration for Rails


Unit testing is mostly a solved problem, but how do you write tests for the visual side of your app—the part that your users actually see and interact with? How do you stop visual bugs from reaching your users?

We will dive deep into visual regression testing, a fast-growing technique for testing apps pixel-by-pixel. We will integrate perceptual diffs in Rails feature specs, and learn how to visually test even complex UI states. We will show tools and techniques for continuous visual integration on every commit, and learn how to introduce team visual reviews right alongside code reviews.

Mike Fotinakis

Mike is a software engineer who believes that regular expressions can solve most of life's problems. He is currently the founder of Percy where he tries to make automated visual testing easier for engineering teams. Mike is also a San Francisco dweller, Philz coffee addict, and classical singer in a Bay Area chorus.

Client/Server Architecture: Past, Present, & Future

The client/server architecture that powers much of the web is evolving. Full stack, monolithic, apps are becoming a thing of the past as new requirements have forced us to think differently about how we build apps. New client/server architectures create a clear separation of concerns between the server and the client.

As developers, we have the ability to create the new abstractions that will power the web. Understanding the past, present, and future of the client/server help us to become more active participants in the future ecosystem for building web applications.

Mike Groseclose

Senior Web Engineer / Architect @ Weedmaps. Co-founder of storcery.com. Co-creator of the Lore (React/Redux) framework. Previously a Senior Engineer Manager @ IBM.

Lives in Tucson, Arizona where he spends his days with his family and writing code.

The State of Web Security


Join me for a wild ride through the dizzying highs and terrifying lows of web security in 2015. Take a look at some major breaches of the year, from Top Secret clearances, to medical records, all the way to free beer.

We’ll look at how attack trends have changed over the past year and new ways websites are being compromised. We’ve pulled together data from all the sites we protect to show you insights on types and patterns of attacks, and sophistication and origin of the attackers.

After the bad, we’ll look at the good - new technologies like U2F and RASP that are helping secure the web.

Mike Milner

Mike spent 10 years fighting organized crime, both online and IRL, while working for government security agencies in Canada and the UK. Now he's building tech to protect the web as CTO at IMMUNIO.

Quit frustrating your new developers - Tips from a teacher

Your team gains a new developer. You are responsible for bringing them up to speed. While not everyone is a natural teacher, everyone can be taught basic teaching fundamentals. We will take a look at principles anyone can use to become a more effective trainer/teacher. Better teaching technique makes the training process more effective and enjoyable. Effective training reduces new developer frustration and increases job satisfaction for everyone.

Miki Rezentes

Miki Rezentes transitioned to software engineering after many years of teaching. Previously a javascripter, Miki became a Rubyist when she joined her current team at Spreedly. The mother of five enjoys learning, teaching, solving problems, eating, skating, volleyball and pranks. Miki holds two hackathon titles from Rally Software.

How we scaled GitLab for a 30k-employee company

GitLab, the open source alternative to GitHub written in Rails, does not scale automatically out of the box, as it stores its git repositories on a single filesystem, making storage capabilities hard to expand. Rather than attaching a NAS server, we decided to use a cloud-based object storage (such as S3) to replace the FS. This introduced changes to both the Ruby layer and the deeper C layers. In this talk, we will show the audience how we did the change and overcame the performance loss introduced by network I/O. We will also show how we achieved high-availability after the changes.

Minqi Pan

Minqi Pan is a senior engineer of Alibaba Group from China. Apart from working with Ruby on Rails and C/C++ in his daytime, he is also enthusiastic about open source. He has contributed code to open-source Ruby projects like ruby-china, redis-search, activeadmin, mathjax-rails, etc. He has also submitted numerous patches to Node.js and been nominated as a collaborator. In his spare time, he likes to go mountain climbing and swimming, especially on days when the infamous haze is gone :P

How to Get and Love Your First Rails Job


Halfway through a dev bootcamp? Straight out of college with a CS degree? Hacking away at Hartl after your day job? Now what?

With articles about how employable you are and how much money you can make printed daily, it can be hard to stay focused on the most important tangibles – the job search, interview readiness, and your early career goals.

In this talk, we’ll cover how to prepare yourself and your projects for the interview process, and how to adequately vet the companies interested in you, allowing you to not only secure a rails job, but one that you love.

Molly Morgan Black

Molly is a book editor, turned product manager, turned Nashville Software School graduate, turned junior developer at Life.io. Still in her first year, Molly knows the value of working with people who believe in teaching when knowledgable, listening when learning, and who strive daily to improve their craft. When not coding, Molly writes, takes on house projects she has no idea how to do, and tries to perfect her cheffing skills. At any given time, 2 out of 3 of those things are going well.

The Guest: A Guide To Code Hospitality


You were living alone in the town of Ruby-on-Rails until you decided to open up your spare room to guests. Now your first visitor has booked in. Her arrival is imminent.

How do you prepare? How can you make sure she has a great visit?

Let’s explore the art of code hospitality — working on codebases in a way that respects your teammates and provides for their needs. By working hospitably, we can facilitate team productivity and help new members quickly feel at home.

Nadia Odunayo

Nadia co-founded Ignition Works in order to find fun and sustainable ways to build worthwhile software products. She has taught good engineering practices through pair programming at Pivotal Labs and on their Cloud Foundry team. She originally learnt to code at Makers Academy and she runs the Ruby Book Club podcast in her spare time.

Make a Rails App with 140 Characters (or less)


Ever felt jealous of "other" Ruby web frameworks whose applications can be run from a single file? Did you know Rails can do this too?

Starting from a fresh "rails new" install, we'll gradually delete and pare away to find the beautiful, light, modular and object-oriented web framework underneath. Eventually we'll end up with a tweet-size Rails application! We'll learn about Rails' initialization process and default "stack", and investigate the bare-bones required to get a Rails app up and running.

Nate Berkopec

Nate Berkopec is not a threading guy, though he is a Ruby performance guy. Nate appeared on Shark Tank, ABC's primetime entrepreneurship show, when he was nineteen years old. He's worked at several startups over the years, and now writes a blog about performance-related Ruby topics at nateberkopec.com.

Pragmatic Lessons of Rails & Ruby in the Enterprise

Adopting Rails and Ruby for use within a large development organization was and continues to be an adventure. Rails and Ruby have been in use at Cerner for 7 years and over that time, their use has gone from niche technology used by a handful of people to a core platform used by hundreds. Along this adventure, we have learned many lessons and gained lots of experience. In this talk, we’ll share the interesting up and downs of this adventure in an effort to share our experiences and knowledge.

Nathan Beyer

This is a sponsored talk by Cerner.

Nathan Beyer is a Senior Principal Architect for Population Health development and a Distinguished Engineer at Cerner. He has worked at Cerner for 17 years through a variety of software engineering roles and with a variety of technologies. Nathan is also a long-time member of the Apache Software Foundation.

From Excel to Rails: A Path to Enlightened Internal Software

Rails is the ideal framework for creating software to run successful new businesses.

Nick Reavill

This is a sponsored talk by Stitchfix.

Nick Reavill is a Director of Engineering at Stitch Fix, responsibly mostly for the tools that the industry-leading Merchandising department uses. Originally from Yorkshire in the UK he has software developed in London, New York, Newcastle (UK) and now San Francisco. For two years he ran his own startup and his main lesson was that he should not be running his own startup.

Secrets of Testing Rails 5 apps


Testing Rails 5 apps has become a better experience out of the box. Rails has also become smarter by introducing the test runner. Now we can't complain about not being able to run a single test or not getting coloured output. A lot of effort has gone into making tests -- especially integration tests -- run faster.

Come and join me as we commence the journey to uncover the secrets of testing Rails 5 apps.

Prathamesh Sonpatki

Prathamesh is Director at BigBinary. He builds web apps using Rails and React.js!. He is interested in open source and contributes to many Ruby and Rails related projects. He likes Emacs operating system a lot and can be found constantly tweaking his .emacs.d

How Sprockets works


Almost all applications have assets like CSS, JavaScript and others. That means the asset pipeline is an integral part of the Ruby on Rails framework. In this talk we'll show you how the asset pipeline works, and how you can take full advantage of the asset pipeline's features. Ever wondered how to convert an SVG to PNG automatically? Wanted to know what exactly happens to your CoffeeScript files? We'll explore that, and more.

Rafael Mendonça França

Member of the Rails Core Team. Spends the days solving problems at Shopify and the nights contributing to several OSS projects.

Frameworks for Feedback


Code reviews, stand ups, retros, and performance reviews acknowledge the importance of communication and feedback, but they don’t help you give negative feedback or ensure that you hear the small things before they become big things.

Let’s talk about feedback and examine frameworks for how to ask for and frame feedback effectively. Not all situations call for the same type of feedback and some are more sensitive than others. We will look at Non-Violent Communication, techniques from family and marriage therapy, as well as more traditional frameworks for feedback.

Rebecca Miller-Webster

Rebecca Miller-Webster is a software engineer, conference organizer, and educator. She is the founder of Write/Speak/Code and VP of Engineering at Polymathic. Rebecca has been developing software professionally for over a decade, previously organized GORUCO, and was the founding teacher at Dev Bootcamp NYC. Rebecca lives in Chicago with her husband and 2 dogs. And she changes her hair. A lot.

Saving Sprockets

What do you do when a maintainer leaves a project with over 44 million downloads? That is what we had to consider this year when Sprockets lost the developer responsible for more than 70% of the commits. In this talk we will look at recent efforts to revive Sprockets, and make it more maintainable. We will look into how your projects can be structured to avoid burnout and survive a change of maintainers. Let's save Sprockets.

Richard Schneeman

Richard writes Ruby at Heroku and maintains codetriage.com. When he isn't obsessively compulsively wood working, he writes such gems as Wicked and Sextant. He has commit bit to Rails and is a maintainer of Sprockets. Richard is a proud graduate of Space Camp and thinks you're an awesome person.

Strong Practices for Rails Applications Continuous Delivery

High-velocity organizations deliver change to their customers quickly in a repeatable and predictable way. This talk will explore some pre-requisites and best practices that will help your team move to safe, continuous delivery of your Rails applications. We will demonstrate the path from code commit, to packaged application, to an updated production environment. All of the necessary steps along the way will be fully automated using Chef Delivery. You will leave with some new ideas, practices, and techniques your team can adopt, continuously delivering value to your customers.

Robb Kidd, Nathan Smith

This is a sponsored talk by Chef.

Robb Kidd is a software developer on Chef's Community Engineering Team and Journeyman Grocer on the Supermarket. Prior to joining Chef, Robb did software development and operations in the information security industry. He holds a degree in Religious Studies which adds an extra dimension to those “Why, God, WHY!?!” systems engineering moments. Robb lives in northern Virginia, but don't hold that against him.

Nathan L. Smith is a software development engineer at Chef focusing on front end development. He lives in Iowa City, Iowa.

Make Them Click


Whether you want it or not, you're the constant victim of neuro-marketing. By tapping into your "reptile brain", you are unconsciously made to click, like and buy. We'll look at scarcity, social validation, reciprocity and much more. All web apps have customers of some sort, and it's your job to guide them, either for usability or profit. You'll learn how to see others' influence on you, and maybe to exert some influence of your own.

Roy Tomeij

Roy Tomeij (@roy) is co-founder of AppSignal in Amsterdam, the best Rails application monitoring platform out there. He has been working with Rails for nearly 11 years.

Writing a Test Framework from Scratch


Assertions (or expectations) are the most important part of any test framework. How are they written? What happens when one fails? How does a test communicate its results? Past talks have shown how test frameworks work from the very top: how they find, load, select, and run tests. Instead of reading code from the top, we’ll write code from scratch starting with assertions and building up a full test framework. By the end, you'll know how every square inch of your testing framework works.

Ryan Davis

Ryan Davis is a consultant in Seattle and has been using Ruby since 2000. He is a founding member of the Seattle Ruby Brigade, the first and foremost Ruby Brigade in the world. In Ruby-OSS-land, he has focused on developer productivity and test automation tools such as flog, flay, ruby_parser, and minitest. He first spoke at RubyConf in 2005 with his talk Polishing Ruby: ZenHacks and Friends.

Level-up Your ActiveRecord Skills: Learn SQL!


ActiveRecord is a great tool, but knowing SQL can help you to build better, faster applications and quickly find answers to common business questions. In this talk you'll see an overview of basic-to-intermediate SQL techniques that you can use to: learn about unfamiliar data sets, identify and resolve slow query problems, quickly build ad-hoc reports, combine multiple tables and perform calculations.

Specifically targeted to the Junior Rails Developer, we will explore with non-trivial yet approachable examples and see how learning SQL can help you become a better software developer.

Ryan Dlugosz

Ryan Dlugosz has been building web applications since the late 90s and prior to that copied a lot of BASIC code out of magazines from the library. He spent a decade building enterprise Java apps and now works as a consultant building Rails apps for small business and startups. Outside of technology, Ryan’s interests include music, photography and golf. He lives in Cincinnati with his wife and two daughters, and often spends lunch sitting behind the drum kit (a home office has its perks!).

Bridging the Gap between Designers and Developers


Every project...well most projects...begin in a great kumbaya where everyone is great friends and has high hopes for the future. About halfway through the project, an epic Braveheart style clash begins, with designers firmly lined up on one side and developers on the other.

In this talk, I'll share some of the things we've discovered over years of working on projects for over 100 clients that have helped to better define requirements and meet the needs of designers and developers throughout the life of a project.

Ryan R. Hughes

Ryan Hughes is an entrepreneur with a passion for all things digital. As a partner at Oodle - an innovative digital agency in Loveland, Ohio, Ryan gets to spend his day with a savvy team of expert developers, creatives, and strategists.

His current focus is to continue the high growth rate at Oodle.

Any free time he has is spent riding his motorcycle, perfecting his ping pong topspin, and trying every craft beer in the country.

Turbolinks 5: I Can’t Believe It’s Not Native!


Learn how Turbolinks 5 enables small teams to deliver lightning-fast Rails applications in the browser, plus high-fidelity hybrid apps for iOS and Android, all using a shared set of web views.

Sam Stephenson

Sam lives in Chicago and has been building web applications at Basecamp since 2005.

Get a Whiff of This

Most code is a mess.
Most new requirements change existing code.
Ergo, much our work involves altering imperfect code.

That's the bad news.

The good news is that every big mess consists of many small ones. Certain small problems occur so frequently that they've been given names, and are collectively known as "Code Smells".

This talk shows how to take a pile of perplexing code, identify the "smells", and surgically apply the curative refactorings. It breaks a messy problem into clear-cut pieces, and proves that you can fix anything without being forced to understand everything.

Sandi Metz

Sandi Metz, author of "Practical Object-Oriented Design in Ruby" (http:\poodr.com), believes in simple code and straightforward explanations. She prefers working software, practical solutions and lengthy bicycle trips (not necessarily in that order) and consults and teaches on all things OOP.

Rails 5 Features You Haven't Heard About


We've all heard about Action Cable, Turbolinks 5, and Rails::API. But Rails 5
was almost a thousand commits! They included dozens of minor features, many of
which will be huge quality of life improvements even if you aren't using
WebSockets or Turbolinks.

This will be a deep look at several of the "minor" features of Rails 5. You
won't just learn about the features, but you'll learn about why they were added,
the reasoning behind them, and the difficulties of adding them from someone
directly involved in many of them.

Sean Griffin

Sean is a committer on Ruby on Rails, the maintainer of Active Record, cohost of The Bike Shed podcast, and the creator of Diesel, an ORM and query builder for Rust. Having spent over a decade in the industry, he now focuses entirely on open source software. In recent months he primarily focuses on Rust and improving the web development landscape.

Developing and maintaining a platform with Rails and Lotus


This talk illustrates the development techniques, Ruby patterns and best practices we adopt at DNSimple to develop new features and ensure long-term maintainability of our codebase. It also features how we used Lotus to develop the new API as a standalone Rack app mounted under the Rails router.

Two years ago we started a major redesign of our REST API with the goal to decouple it from our main Rails application and expose all the main features via API. It was not a trivial task, but still feasible due to the guidelines we adopted in the last 6 years to structure our Rails application.

Simone Carletti

Simone Carletti is a passionate programmer, a scuba diving instructor and a former professional sommelier. He works at DNSimple.

Simone is very passionate about code quality and best practices. He has been involved with software development for more than a decade, contributing code and creating libraries in several different programming languages. The most recent projects are available at simonecarletti.com and on his GitHub profile (weppos).

Site Availability is for Everybody

Your phone rings in the middle of the night and the site is down—- do you know what to do? Whether it's Black Friday or a DDoS attack, our Ruby apps and Ruby devs have to be prepared for the best and the worst. Don't let a crisis catch you off guard! Fortunately, you can sharpen your skills ahead of time with load testing. Learn tips and common pitfalls when simulating application load, as well as key metrics and graphs to understand when site availability is compromised.

Stella Cotton

Stella Cotton is a Software Engineer at Indiegogo. She's passionate about democratizing access to capital, creating robust payments systems, and building diverse teams. When she’s not coding, she's an &:conf organizer, beer brewer, and mediocre French speaker.

Power up Your Development with RubyMine

There are many development tricks and habits that lie at the root of productive coding. IDEs, like RubyMine, are a big one. Adopting a new tool does require an initial investment of time though, as you customize your environment and learn the shortcuts.

Tatiana Vasilyeva

This is a sponsored talk by JetBrains.

I'm the RubyMine Product Marketing Manager at JetBrains. A former Ruby developer, project manager and Agile coach, I'm passionate about making developers happier with the help of effective processes and near-perfect tools.

I Can’t Believe It’s Not A Queue: Using Kafka with Rails

Your existing message system is great, until it gets overloaded. Then what? That's when you should try Kafka.

Kafka's designed to be resilient. It takes the stress out of moving from a Rails monolith into a scalable system of microservices. Since you can capture every event that happens in your app, it's great for logging. You can even use Kafka's distributed, ordered log to simulate production load in your staging environment.

Come and learn about Kafka, where it fits in your Rails app, and how to make it do the things that message queues simply can't.

Terence Lee

This is a sponsored talk by Heroku.

Terence leads Heroku’s Ruby Task Force curating the Ruby experience on the platform. He's worked on some OSS projects such as Ruby (the language), mruby, mruby-cli, Bundler, Resque, as well as helping with the Rails Girls movement. When he’s not going to an awesome Heroku or Ruby event, he lives in Austin, TX. Terence loves Friday hugs (EVERY DAY OF THE WEEK) and believes in getting people together for #rubykaraoke.

From Director to Intern: Changing Careers as a Single Mom

At the beginning of 2015 I was a Director in the non-profit sector, 13 years into my career. My days revolved around crisis intervention and violence prevention. I kept people alive and was well respected in my field. A mom of two, flying solo, people thought I was brave, stubborn... and a little insane... to step out on the ledge of career change. Come on out on the ledge and humble yourself with me. It'll make you a better engineer.

Teresa Martyny

After over a decade of working in the non-profit sector as a program director, Teresa is now a software engineer. A single mom of two, she recently changed careers and has found a new home with Omada Health, developing software to prevent chronic disease.

Introduction to concurrency in Ruby

In this talk we'll learn about the options we have to let a computer running Ruby do multiple things simultaneously. We'll answer questions such as: What's the difference between how Puma and Unicorn handle serving multiple Rails HTTP requests at the same time? Why does ActionCable use Eventmachine? How do these underlying mechanism actually work if you strip away the complexity?

Thijs Cadier

Co-founder of AppSignal from Amsterdam, the Netherlands. Been programming in Ruby since discovering Rails when it was still in beta in 2005.

5 Practical Ways to Advocate for Diversity

This is a talk for anyone who wants a more diverse engineering culture at work. If you've ever been frustrated by the sameness of your engineering peers, you'll hear practical advice you can use immediately.

Creating a diverse team is more than a moral issue - it makes business sense. Diverse engineering teams recruit the best talent, are more innovative, better reflect the needs of their users and make for incredibly fun places to work.

Tony Wieczorek

I'm a personable and innovative engineering executive obsessed with the user experience. I believe our engineering departments should be as diverse as the people we help. I've worked at the Free Software Foundation, NASA and car-sharing service Zipcar. I am proud to have led Zipcar's vehicle and customer support engineering teams through growth, IPO and eventual acquisition. I'm now an Engineering Manager at Boston's hottest mobile analytics and marketing startup, Localytics.

Finding Translations: Localization and Internationalization

Translation, be it a word, sentence, concept, or idea, for different audiences has always been a challenge. This talk tackles problems of translation, especially those that tend to crop up in building software. We'll dive into the eminently practical—how to design apps for easier localization, common pitfalls, solutions for managing translations, approaches to version control with translations—and the more subjective—possible impacts of cultural differences, and what makes a "good" translation.

Valerie Woolard

Valerie Woolard is a software engineer. She holds bachelor’s degrees in French and cognitive science from UC Berkeley and a master’s degree in computer science from the University of Chicago. When she is not coding, Valerie can be found singing showtunes, running around DC and its environs, and chipping away at her ever-expanding list of books to read.

The Rails Boot Process


Rails ships as a number of components, Active Record, Active Support, ..., largely independent of each other, but somehow something orchestrates them and presents a unified view of the system.

Then we have config/boot.rb, config/application.rb... what do they do? Application initializers, environment configuration, what runs when?

Understanding how that works becomes an inflection point in any Rails programmer that goes through it. You go from that cloudy idea of an initialization that sets things up for a certain definition of "things", to a well-understood process.

Xavier Noria

Xavier Noria is an everlasting student and father of the most wonderful girl. An independent Ruby on Rails consultant from Barcelona, Xavier is a member of the Ruby on Rails core team, Ruby Hero, and proud author of Rails Contributors.

Small Details, Big Impact

Most people are on the lookout for the Next Big Thing™, but at Skylight we know it’s #allthelittlethings that make for the best possible user experience. From the many not-so-happy paths of authentication to the challenge of guessing a user’s preferred name, we’ll dig deep into all those tiny details that will surprise and delight your customers. If you were hoping to hear more about how we use Rust, don't worry—we've got you covered! We’ll be sharing many of our finer implementation details as well as the thought processes behind them.

Yehuda Katz, Liz Baillie

Yehuda Katz is one of the creators of Ember.js, a member of the Rust Core Team, and a retired Ruby on Rails and jQuery Core Team member. His 9-to-5 home is at the startup he founded, Tilde Inc.. There he works on Skylight, the smart profiler for Rails, and does Ember.js consulting. He's best known for his open source work, which also includes having created projects like Thor, Handlebars and Bundler. He blogs at http://yehudakatz.com and can be found on Twitter as @wycats.

Liz is a former cartoonist, current developer at Tilde, future sassy old woman with too many dogs.

This is a sponsored talk by Skylight.



Indeed Hired




Compose.io Google StitchFix Engine Yard


Jetbrains WyeWorks Bugsnag Moove-it Cerner Shopify Heroku Chef

Interested in sponsoring?

Download prospectus