The largest official gathering of the year, RailsConf brings together top talent, companies, and project representatives from around the world. Learn and build with the best in sessions, workshops, keynotes and parties.

Sometimes refactoring requires making decisions that might make you feel uncomfortable and question your life choices. In this workshop, we are going to explore the situations in which doing everything you stand against is really the right thing. We are going to write some repetitive code! We are going to delete a test and not replace it! Whether you are a longtime or newer programmer, you will come out of this workshop with a deeper appreciation for when to DRY, and the dangers of wrong abstractions. You'll gain the confidence to make design decisions that go against convention.

Betsy Haibel, Jennifer Tu

Betsy Haibel lives on the east coast and started programming thanks to a love of fanfic. Jennifer Tu lives on the west coast and has a CS degree from MIT. So yes, you do belong in their workshop.

We've got unit tests, functional tests, and integration tests — but where are our tests for production? How we define (and check for!) "correct behavior" for a Rails app running in the wild?

In this workshop, we'll start by creating an end-to-end check together (like an integration test on prod!) on a fun, interactive demo app. Then, we'll go one level deeper by adding custom instrumentation. (There will be prizes and at least one shiny light involved.)

You'll leave with a deeper understanding of how to ask questions of your app and how to think about ensuring "correctness" in production.

Christine Yen

Christine is the cofounder of Honeycomb, a startup with a new approach to debugging systems with data. She's built things at companies large and small and likes to have her fingers in as many pies as possible.

In a previous life, she built Parse’s analytics products (and some at Facebook). Honeycomb is the first startup she's worked on to have not started off with a Rails app and there are many things she misses.

Ben Hartshorne

For the last 12 years, Ben has found himself building monitoring, alerting, and observability systems for companies ranging from startuppy (Simply Hired and Parse) to top-10 (Wikimedia and Facebook). Strangely, he actually enjoys this work and is happy to finally be building a company that will help tease out nuances in data that seem to be missing from all the other crappy open source systems he’s used. Though unlikely to pass on a good scotch, he’ll reach for the bourbon or rye first.

Programmers come from various educational backgrounds. Some jobs require strong math and/or CS experience, while other jobs can use them as a hiring filter which can make for a (possibly unintentional) elitist interview process that is far more difficult than (and distinct from) the work itself.

In this workshop, we'll discuss some math we can learn to overcome this kind of gatekeeping, practice converting between Ruby and Math syntax, and pull some example equations and diagrams from technical papers to break down in Ruby.

Evan Burchard

Evan Burchard is a Web Development Consultant and the author of "Refactoring JavaScript," "The Web Game Developer’s Cookbook," and the upcoming "Math for Software Engineers." Offline, he has designed an award-winning kinetic game involving stacking real ice cubes, and periodically picks up his project to walk across the U.S.

GraphQL is a query language for API: the server describes what data is available, and clients ask what data they need. Its popularity is growing rapidly. A lot of companies such as Facebook, GitHub, Twitter, Coursera, Shopify are using it.

This workshop is a full-stack introduction to GraphQL. We will explore the benefits of using GraphQL compared to REST API, add a GraphQL API endpoint to a Rails app, and build a simple React app on top of that by using the modern JavaScript tools. By the end of the workshop, we'll clearly see why GraphQL makes server and client fit perfectly together.

Evgeny Li

Evgeny works as a software developer at Universe, an event ticketing platform. He has lots of experience in writing Ruby and contributing to open source. After living in Uzbekistan, Russia, and Cyprus, he moved to Canada, where he now lives. Evgeny enjoys being a husband and father.

Being able to use language effectively saves so much coding trauma. You should learn to file good bug reports, write up problems, and describe what you're doing. I'll teach you in less than half a day! What is a documentation structure, and why does it matter to developers? Lots of developers get asked to write their own documentation, especially internal documentation and onboarding. In theory, this is good because they know the problems they are writing about and don't need to spend time explaining them. In practice, developers avoid this work because they don't have a good idea of how to start.

Heidi Waterhouse

Dynamic speaker, sideways thinker, and developer advocate for LaunchDarkly.

Heidi is passionate about documentation, devops, and deployments, in approxxmately that order. She spoke at a previous RubyConf and hopes to repeat the experience.

Rails has been successful in part because it provides means for easy collaboration. But at some point, developers will still need to interact with real people to be successful. Which can be even more challenging than code in many cases. However, there is a way to give the right side of your brain some love at RailsConf! In this session, you'll have fun and use improv to learn about active listening, ideation, status, and how to get great ideas out of everyone using a yes-and approach. Take a break from code for a few hours and learn how to get along with real humans by taking this session!

H. Wade Minter

Wade is a longtime DevOps/Ruby engineer and Chief Technology Officer at Custom Communications. Previously, he was part of the founding team and former CTO at Rails-based TeamSnap, the engineering lead at AdWerx and WeaveUp, and a product manager at NBC SportsEngine. In his spare time, he is the public address announcer for the NHL's Carolina Hurricanes, a professional wrestling ring announcer, improv comedian, and beer-league hockey player. He leads a weird life.

Frontend, especially CSS, have long been avoided by Rails Developers. SASS is a powerful, built-in tool that allows us to write more Object Oriented CSS. For those of us that like organization and feel that CSS is all a mess, SASS finally creates something that makes sense. Best of all, it is written in RUBY!

Ilana Corson

I currently work at Turing School of Software and Design as an Associate Instructor. I have a passion for learning new things, and constantly adapting to change. I believe that an inclusive tech community is something to strive for everyday.

A bad hire will break apart your team, drive valued colleagues to leave, and kill your momentum. I know this because I’ve been part of a bad hire decision that turned into a scary campfire story about poor hiring. This workshop will teach you how to avoid my mistakes. Whether you’re brand new to interviewing, or are experienced and looking to improve, this workshop will improve your skills and confidence as an interviewer. You’ll leave future interviews with the certainty that the candidate is a good hire, and the ability to call out specific answers to your questions to back up your verdict.

Jennifer Tu

In her work life, Jennifer Tu writes code and listens very intently to people. She co-founded Cohere ( to continue to pursue these two interests. Outside of work, she studies martial arts. Jennifer spends her commutes after class reflecting on the parallels between teaching martial arts and communicating in the world of software.

Let's be real for a second. JavaScript is really frustrating. And JavaScript inside of a Rails app? That's even worse. Unfortunately, Rails hasn’t been the most accommodating place for building front-end applications, until now! Enter webpacker. For the first time in Rails history JavaScript is approachable, testable, and dare I say...usable? Yup, I definitely said usable. If you’ve never used front-end technologies before, come see how simple it is to get up and running. We’ll build a simple app, test it (because it's 2018), and hopefully, you'll gain a new and fresh perspective on JavaScript!

Jhun de Andres

My name is Jhun de Andres. I am one of the founding instructors of the Front-End Engineering program at the Turing School of Software and Design. During my time at the Turing School, I've written a metric ton of the front-end curriculum and I've taught there since the Front-End Engineering program's inception.

Rails is one of the best, if not the best way to get an idea from inspiration to working web application fast. Rails can also be the best way to quickly get an Internet of Things application up and running as well. In this workshop, you will learn how to quickly prototype IoT applications using inexpensive off-the-shelf device hardware and your Rails programming skills.

Mac Dougherty

CEO/Web Dev at Apiotics Rails developer since 2010. Focused on Ruby and Rails for the IoT.

Learning how to write tests as a new developer can be daunting. Testing frameworks come with their own set of jargon and paradigms. What’s are mocks, doubles, stubs, and spies? Who is FactoryGirl? What’s the difference between ‘describe’ and ‘context’?

We’ll cover how to approach your tests, dissect the anatomy of a test, discuss when to use doubles vs data, and how to test different pieces of your app. Navigating tests was a struggle for me when I was getting started, and this workshop will provide a hands-on crash course in the RSpec essentials you need to be effective testing your Rails app.

Nicole Lopez

Nicole Lopez is a software engineer at Avant, an online lending company in Chicago, where she loves to refactor! Nicole discovered her love of writing code after graduating with a degree in Arabic and working for a few years in the field of immigration. She learned to code through Meetups and the internet -- thanks Chicago Women Developers, Girl Develop It, and Railsbridge! When she's not writing code, Nicole can be found hanging out with her two cool cats, Ella and Seabass.

First we had full stack Rails. Then we had Rails APIs powering Single Page Applications. Now take it to the next level with PRPL Rails. The PRPL (Push, Render, Pre-cache, Lazy-load) pattern condenses the best practices for fast Progressive Web Apps. In this workshop, we’ll show you how to bring the performance lessons from modern JavaScript to your Rails apps. You don’t need a heavy JS framework to compete in today’s marketplace where instant loading and offline capability are expected.

Pearl Latteier

Pearl Latteier is a software engineer at Bendyworks in Madison WI, a Google Developer Expert in web technologies, and co-organizer of Madison’s Google Developer Group. She builds JavaScript applications for web and mobile, and she has spoken at conferences around the world on topics including Progressive Web Apps, Web Components, and Polymer. Long ago, Pearl earned a PhD from the University of Wisconsin-Madison, where for five years she taught courses in the Department of Communication Arts.

Abraham Williams

An experienced developer, start-up founder, and international speaker, Abraham Williams brings a broad range of skills to his current role as a senior developer at Bendyworks. A top 1% contributor at Stack Overflow and an active member of Google Developer Groups, Abraham has been recognized by Google as a Developer Expert for his ability to identify technology problems and provide quality solutions in the community.

Most web developers would be horrified if software they worked on were vulnerable to security breaches that put their application's data and finances at risk. But just as important and often neglected is the potential of abuse vectors leading to users being harassed, doxxed, traumatized, or threatened. This workshop will introduce programmers of all skill levels to common ways that web applications are exploited by users to harm others, and some options for addressing them. We'll look at examples of software from pop culture with interesting abuse vectors and collaborate on possible solutions.

Terian Koscik

Terian Koscik is a software engineer on the Community and Safety team at GitHub and co-organizer of Django Girls PDX. She lives in Long Beach, CA with her boyfriend and their large cat.

Your Rails app has made your company a lot of money. Why do you feel so underpaid?

Learn how to deal with tough jobhunting situations like: the recruiter pressuring you to decide (tonight!) - the charismatic founder telling you your equity grant is worth "millions" (really!) - the manager saying there are "other candidates in the pipeline" (now!) - And many others.

Want to learn the same tactics used by seasoned industry vets at companies like AirBNB, Facebook, Quip, Color Genomics, Plaid, and others? Come to this workshop!

Vaibhav Mallya

Founder of, a profitable business dedicated to helping developers negotiate job offers and get what they are worth. A decade of engineering experience between Gusto, Twitter, and Amazon.