Program

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.

Sessions

Don't touch that!

Ruby on Rails is a huge framework. There are modules, class, established conventions, and a slew of code that's meant to be off-limits. But, what if we took our ornery childish self and played around? This is a talk about strategies for debugging, taught through the lens of experimentation and childish play. In this talk, we will override, extend, and disable all sorts of Rails internals and see what happens.

Adam Cuppy

Based in San Diego, Adam is the co-founder and Chief Executive of ZEAL. Over the last few years, he's spoken on mechanical confidence, development process, and the practice of software engineering. He's now a father of a 16-month old, which informs a lot about what he's talking about now. Find plenty more online @CodingZEAL and YouTube.

Hiring is not Hazing

Tech hiring has a bad reputation for a reason - it's usually awful. But it doesn't have to be that way. In this talk, we'll dive into what is wrong with many current tech hiring practices and what you can do instead. You'll learn ways to effectively assess technical ability, what makes a great interview question, how to be more inclusive, the pros and cons of giving homework assignments, and much more. You'll leave with ideas to improve your interviews, and ways to influence your company to change their hiring practices.

Aja Hammerly

Aja lives in Seattle where she is a Developer Advocate at Google and a member of the Seattle Ruby Brigade. She's passionate about code and passionate about making tech more inclusive, welcoming, and sustainable for people. In her free time she enjoys skiing, cooking, knitting, and long coding sessions on the beach.

Measure twice, cut once

Woodworking and writing code go hand in hand, right?

On the surface these two activities may seem different, but the skills, tools, and mindset required to create quality furniture are consistent with the qualities required to write code that delights both the customer and developer.

As a woodworking hobbyist and software developer, I was amazed at how learning to build a table taught me to be a more impactful developer. In this talk we’ll discover how woodworking can teach us to move fast and not break things, be more consistent in our execution, and deliver lasting value to customers.

Alec Clarke

Alec is a software developer and woodworking enthusiast who works remotely from Kingston, Ontario for Clio where he focuses on creating an enjoyable and effortless experience between law firms and their clients.

A Day in the Life of a Rails Controller

Hey there! I'm your friendly Rails controller. I bet you're wondering how you got here. Well, you visited a page in my app, and through a long path, we ended up here, in my #show method. Don't worry, I'll guide you through the steps that led you here. Then, we'll work through your request and how I put together a response for it, from building the params and caching to how I render the response. By the end, you'll know more about what we controllers actually do and how best we can meet your needs. I look forward to our adventure!

Alex Kitchens

Alex Kitchens (@alexcameron89) is a software engineer at Stitch Fix, where he gets to embrace his love of Rails as a backend developer.

Two Branches, One Codebase: Software Design as Talmud Study

What can software learn from one of the world's oldest examples of hyperlinked data? More than 5 centuries ago the first edition of the Babylonian Talmud was printed. With its printing a unique approach to working through complex data was made accessible. I spent 20 years as a student and teacher of Talmud before becoming a developer. The methodologies I learned from Talmud have informed my code. After this session you'll have new tools for visualizing problems and how to work through them. No previous experience with Talmud is necessary, and all materials will be presented in English.

Ben Greenberg

Ben is a second career developer who previously spent a decade in the fields of adult education, community organizing and non-profit management. He works as the Ruby developer advocate for Nexmo, the Vonage API Platform by day and experiments with open source projects at night. He writes regularly on the intersection of community development and tech. Originally from Southern California and a long time resident of New York City, Ben now resides near Tel Aviv.

Escaping Corporate Meltdowns -- Before They Happen

Travis. npm. Etsy. It seems like every well-loved tech company eventually becomes the kind of disaster that we whisper and rage-cry to each other about. No one ever sees it coming… but maybe we can. Let’s talk about “governance” and “alignment” -- two MBA euphemism words for “how will this organization behave under stress?” Turns out, you can predict a company’s failure mode from its business model. In this talk, you'll learn how to tell good companies -- ones with stable funding, reasonable owners, and the competence to survive -- from the ones that just have good intentions.

Betsy Haibel

Betsy is a DC-based web developer. She writes fiction and nonfiction in English, Ruby, and Javascript, and is a co-organizer of Learn Ruby in DC.

Advanced ActionText: Attaching any model in rich text

Whether it's @ mentions for users, hashtags, or other resources, many application these days need rich text fields. ActionText allows you to embed rich snippets for any model in your Rails app, but it requires a bit of communication with the backend. You'll learn how to add @ mentions for users and YouTube embeds as ActionText attachments and see how it all works together.

Chris Oliver

Chris is the founder of GoRails, host of the Remote Ruby podcast, and creator of Jumpstart and Hatchbox.io. He loves building tools to make developers' lives easier and helping people learn to code.

Your TDD Treasure Map

We know testing is vital and makes refactoring painless. But how to set sail to that TDD treasure? Yarr, we need to test to get experience, but need experience to test. Let’s draw a map with simple strategies for identifying test cases and building a robust test suite. X marks the spot w/ TDD tools for newbies and seasoned pirates alike.

Christopher "Aji" Slater

I started my adult-like career years as a theatre professional, a vaudevillian to be specific. Toured with Ringling Brothers, juggled through Canada, and made corporate types laugh at conferences. But I spent more time making my website than performing. In 2015 I got serious about computers as a focus and went to Dev Bootcamp and learned Ruby, Rails, and js. I've been working as a professional developer ever since and haven't looked back. I might not be Banksy.

The Rising Storm of Ethics in Open Source

The increased debate around ethical source threatens to divide the OSS community. In his book "The Structure of Scientific Revolutions", philosopher Thomas Kuhn posits that there are three possible solutions to a crisis like the one we're facing: procrastination, assimilation, or revolution. Which will we choose as we prepare for the hard work of reconciling ethics and open source?

Coraline Ada Ehmke

Coraline Ada Ehmke is an international speaker, writer, and developer with over 25 years of experience in software engineering. She was recognized for her work on diversity in open source with a Ruby Hero award in 2016. Coraline is the creator of the Contributor Covenant, the most popular open source code of conduct in the world with over 40,000 adoptions. She also wrote the Hippocratic License and the Ethical Source Definition, and founded the Ethical Source Working Group.

Speed up your test suite by throwing computers at it

You've probably experienced this. CI times slowly creep up over time and now it takes 20, 30, 40 minutes to run your suite. Multi-hour runs are not uncommon.

All of a sudden, all you're doing is waiting for CI all day, trying to context switch between different PRs. And then, a flaky test hits, and you start waiting all over again.

It doesn't have to be like this. In this talk I'll cover several strategies for improving your CI times by making computers work harder for you, instead of having to painstakingly rewrite your tests.

Daniel Magliola

Life-long coder, expert procrastinator, and occasional game programmer obsessed with code performance and weird Lego machinery.

Blank Page Panic! Creating Confidence with TDD

Have you ever stared at a blank feature spec file hoping for tests to magically appear? Well, you’re not alone! In this talk we’ll take a look at how the combination of Test-Driven Development, pseudocode and RSpec can help get you to your initial commit with confidence, one RSpec error at a time!

Elayne Juten

Elayne Juten is a Software Engineer at Getty Images. As an early-career developer, she is passionate about finding ways to help build confidence in Ruby, Rails and RSpec.

Successfully Onboarding a Junior Engineer in Three Steps

How you onboard someone to your team can have lasting effects on their professional success, growth, and happiness, but many teams treat onboarding as an afterthought. In this talk, you will learn how to successfully onboard a junior engineer in three steps, with the goals of building their trust, instilling confidence in their technical abilities, and enabling them to be an autonomous contributor to your team.

Emily Giurleo

Emily Giurleo is a software engineer and avid Rubyist. After graduating from MIT with a degree in computer science, she spent two years working as a Ruby developer at Codecademy. She now works at MongoDB, where she helps maintain the Ruby Driver and Mongoid Object-Document Mapper. In her spare time, she enjoys building tech for good causes, reading fantasy novels, and petting cats.

How to A/B test with confidence

A/B tests should be a surefire way to make confident, data-driven decisions about all areas of your app - but it's really easy to make mistakes in their setup, implementation or analysis that can seriously skew results!

After a quick recap of the fundamentals, you'll learn the procedural, technical and human factors that can affect the trustworthiness of a test. More importantly, I'll show you how to mitigate these issues with easy, actionable tips that will have you A/B testing accurately in no time!

Frederick Cheung

I started deep in the bit mines, programming in C, but picked up Ruby in 2006 and haven't looked back since. I'm the CTO at Dressipi where I like to think about recommender systems, infrastructure and web applications.

Error Messages Are Your Friends

Clear, constructive feedback is one of the most useful gifts we can receive. We seek it tirelessly in situations where it’s denied us - that job interview we thought we aced, the dreamy date that ghosted us - but when presented in the form of an error message, many new developers recoil. They prefer to bang their heads against the same wall over and over rather than read the errors. This talk will explore the resistance new developers feel toward engaging with error messages, provide tips for overcoming it, and cover what to do when confronted by some common Ruby errors.

Gina Verrastro

Gina is a Rubyist, writer, and proud graduate of LEARN Academy. She is a Tech Support Engineer at SOCi who specializes in taking the most optimistic view of every bug-hunting situation. She blogs about code things at codecopycoffee.com.

Ethical Code: Mary Shelley’s Guide to Monstrous Software

Mary Shelley’s Frankenstein is not a story about Frankenstein. It’s about the creation, the monster, and what we owe it.

Software does not belong to its creators. It belongs to its users. But creators bear responsibility.

Shelley warns us about the hubris of creation and the consequences of neglect. She warns that our creations will live to outrun us. But Shelley was not anti-technology. She was anti-Frankenstein. The monster is us.

How can we create ethical software? How can we care for our monster, once it’s here?

Shelley has answers. Our society depends on us learning the lessons.

Gwendolyn Holley (Wendy)

Gwendolyn Holley is a software engineer, conference organizer, and nonprofit co-founder. Prior to tech, she studied and worked in fields from farm management to textile science and museum studies. Ask her about her three cats.

Static Type Checking in Rails with Sorbet

Sorbet is a powerful static type-checking tool for Ruby. Type checking can catch errors early and improve the developer experience—and with the right tools, it can even be used with dynamic methods in Rails.

In this talk, we’ll cover the basics of type checking and share the lessons learned from our adoption of Sorbet type checking across our 2,500-file codebase in just six months. We’ll talk about the technical challenges we faced and how we solved them with a new Sorbet-Rails gem, which makes it easy to gradually integrate type checking into your Rails app & improve your team’s efficiency.

Harry Doan

Harry Doan is a Staff Software Engineer at the Chan Zuckerberg Initiative. He’s passionate about building great developer productivity tools and applications for the community. He created Sorbet-Rails to help Rails developers benefit from static type checking. In his free time, he can be found meditating or studying Buddhism teachings.

Why we worry about all the wrong things

Modern humans aren’t great at risk assessment.

We often blithely ignore that which could harm us, and are conversely intimidated by things that are quite safe. This inability to recognize threat has vast implications for many aspects of our lives, including our careers.

Do you want to be less stressed? Make better decisions? Learn strategies for identifying (and dealing with!) unnecessary worry? Let's explore the root causes of fear and anxiety together, and discover how we can start to deliberately rewrite our instincts.

Hilary Stohs-Krause

Hilary Stohs-Krause is currently based in Madison, WI, where she's co-owner and software developer at Ten Forward Consulting. She came to tech by way of childhood website-building (a "Buffy the Vampire Slayer" fansite, to be exact).

She volunteers regularly with several tech and community organizations, and co-runs Madison Women in Tech, a local group with more than 2,000 members. She loves sci-fi/fantasy, board games and bourbon barrel-aged stouts. She tweets at @hilarysk.

Nursing your code back to good health

When writing code, we never have the full picture, or even know exactly where things will end up. This leads to deliberately, or accidentally, introducing small amounts of technical debt along the way, which can easily snowball out of control if ignored for too long.

In this talk we look at some typical patterns of technical debt and how to identify them. We will then learn how we can address these areas of technical debt in our codebases using a variety of static analysis techniques, making use of git history and Ruby's AbstractSyntaxTree module.

Jason Gedge

Jason is a Staff Developer on the Architecture Patterns team at Shopify. In the past, he spearheaded the first iteration of Shopify’s self-serve cloud platform. Nowadays, he focuses on reducing technical debt and improving software architecture at Shopify, as well as contributing to the #crazy-cat-people Slack channel. Before Shopify, he was responsible for developer productivity at YouTube's San Bruno office.

A Maintainable Search Syntax

Any app serving data has one main feature: a search bar. It is an experience all unto itself: the syntax, boolean sets, accuracy, paging. The problem is equal parts tooling, language processing, and data structures. Getting it right means a query syntax and UX reproducible to any underlying database adapter.

But often it's an afterthought. We reach for "good enough" in regexp and regret it when we need to make a change.

This talk will prove parsing isn't arcane compiler magic and is actually an intuitive design for code that is flexible to extension and simple to change.

Jeremy Hanna

A humble student, teacher, and self learner. I've been told I read too much.

I like finding simple solutions to hard problems.

Previously I've worked at Kenna Security as a core member in the engineering team parsing and analyzing security risk, and most recently at Fast Radius parsing 3D models for cost analysis. Parsers are fascinating and a great example of how choosing the right data structure reveals the simple algorithm.

Teacher Knows Best: Education Theory for Mentors

While we can all say that we know a thing or two about writing code, how many of us can say we have a solid understanding of the best way to teach our practice to others? In this talk, we mine the world of educators - the real experts! - to find theories and frameworks that can help us serve as better teachers in our engineering roles. We'll talk about andragogy (pedagogy for adults), learning theories, learning styles, the Zone of Proximal development, and more.

Jesse Belanger

Jesse is a software engineer at ezCater, where he writes Ruby on Rails, React, GraphQL, and the occasional sonnet. He likes to make sure his teams are happy, high-functioning, and have the right tools for the job. Friends describe him as food-motivated, which is true.

Strategic Storytelling

We come from a world of facts and metrics so obviously the people with the most data wins, right? Engineering comes from a place of logic but telling the story behind that information is how the best leaders get buy-in and support for their plans. In this talk, we'll examine the how and why of storytelling, develop a framework of putting an idea into a narrative, and what tools you’ll need to complement a good story. By the end, you’ll be able to break out a story whenever you need to generate excitement, find advocates, or more budget. Is there anything more irresistible than a good story?

Jessica Hilt

Jessica Hilt is the bossy boss of an engineering team for the University of California San Diego. She can be persuaded to discuss (ad nauseam) community building, EQ, and creative writing. In her spare time, she writes horror and teaches nonfiction performance storytelling, sometimes at the same time.

Encapsulating Views

Unlike models and controllers, Rails views are not encapsulated. This makes them hard to reason about and difficult to test, leading us to use abstractions such as presenters and decorators. In this talk, we'll explore the inner workings of how Rails compiles and executes views today, the lessons we've learned building encapsulated views at GitHub over the past year, and how you can do the same with the support for 3rd-party component frameworks coming in Rails 6.1.

Joel Hawksley

Joel is a software engineer at GitHub. He works on the Design Systems team, leading the development of ViewComponent.

Webpacker, It-Just-Works, But How?

How does the Webpacker gem provide "it-just-works" webpack integration with Rails? That simplicity did not come easily. The rich functionality, complexity, and rapid evolution of the webpack ecosystem necessitated extension points beyond a simple Ruby config file.

Yet you need to know almost nothing about webpack to leverage the modern JavaScript ecosystem. But what if you want to extend the standard configuration? Maybe you want separate bundles for client and server-side rendering?

This talk will explain the magical plumbing of Webpacker so you can leverage the webpack ecosystem on your terms.

Justin Gordon

Justin has been a passionate user of webpack since early 2014 when he just could not stand copy-pasting one more jQuery file into his Rails project. In 2015, he created the gem "React on Rails," which integrated server-side rendered React and Webpack with Rails long before the Webpacker gem. These days, as CEO of ShakaCode.com, he helps companies optimize their Rails websites. He and his ShakaCode team also build Rails apps with modern front-ends, including their startup app, HawaiiChee.com.

Both Sides of The Ticket: A PM Turned Dev Tells All

Why is it so hard for Project Managers and Developers to communicate? After 8 years in product and project management, our speaker made the switch to the world of development, with a personal mission to make communication within technical teams easier.

This talk is intended for developers, project managers, and other members of a technical team that have experienced communication challenges across disciplines. We'll cover what a ticket looks like when you shift perspective, and include actionable steps for improving communication and understanding on your team today.

Kate Studwell

Before becoming an engineer, Kate worked as both a Product Manager at a product company and a Project Manager at a digital agency. She is now a Software Engineer at GitHub, where she works on features to improve collaboration and project management for technical teams. Kate is passionate about making projects run more smoothly for all members of the team.

Fake It While You Make It

We all write code to interface with external systems, like a web service or a message queue. Can you confidently write tests without requiring the system as a dependency? How can you shield users of your code from the inner workings of the interface? Explore one attempt to answer these questions.

There's no shortage of tools at your disposal to solve these problems. This talk will introduce some available options, provide guidance on when one approach may be more appropriate than another, and discuss how to use these tools together to ease the testing process.

Kevin Murphy

Kevin spent more time investigating, refactoring, and rewriting tests for the project that prompted this talk than he did writing the actual implementation.

Kevin lives near Boston, where he is a Software Developer at The Gnar Company.

Inside Rails: The Lifecycle of a Response

This breathtaking documentary series combines rare action, unimaginable scale, impossible locations and intimate moments captured from the deepest depths of Rails internals. Last year, we followed the lifecycle of best loved, wildest and most elusive Rails components through a request, from the browser to a controller action. This year, our journey takes us across the great text/plain, following the flow of HTTP streams, taking in the spectacular Action View as we find our way back to the browser. Join us to unearth the amazing lifecycle of a Rails response.

Krystan HuffMenne

Krystan HuffMenne is an engineer at Tilde, where she works on Skylight, the smart Rails profiler. She writes code in Ruby, JavaScript, and Instant Pot. She’s a Florida-native living in Portland, OR with her husband and two kids.

Dianne Eramo

Dianne Eramo is an engineer at Tilde, where she works with Krystan on Skylight. She's a Portland transport who loves the year-round greenery we have here. Where else can you go for a hike in a lush green forest in the middle of January?

Can ActiveStorage Serve Images for the Modern Web?

It’s a simple question: can ActiveStorage be used for image serving in your modern web apps? The answer is not so simple. Can it handle the speed requirements and size specifications of images that the modern web browsers deems as “fast”?

We’ll look at the out-of-the-box approach ActiveStorage takes on asset serving, where it works well - resizing, versioning, and security, and where we run into rough edges - image load times, CDN integration, and next gen image format storage. And then we’ll look at one pattern working in production today.

Mark Hutter

I am 11 years into my career in the software development industry. This adventure has allowed me to pursue a range of technology specialties from SQL, Java, Ruby, Javascript, and Go. I am a husband and father, and there is nothing more important to me than family. I love food. All food. I have an eternal ongoing pursuit of the best quality audio experience I can find in headphones.

Making the Leap to Freelance Consulting

Are you newer to development and curious about freelance consulting? You can be great at it, but there’s a lot of hard work you're going to put into getting ready. How do you track hours and cost, manage client expectations, handle last minute requests and have a healthy pipeline of new clients? We’ll walk you through it, and more, both from the perspective of someone who’s been in the game for 10+ years and someone who just made the leap and is figuring it out along the way.

Matt Clark

Matt Clark has been consulting for 15+ years, yet he still works for one of the toughest bosses in the world. He started freelancing and has built Notch8, a 20 employee string Ruby on Rails consultancy in San Diego, CA. He splits his time between San Diego, and Portland, OR, all the while convinced that is about the best of all possible situations one could hope for, and its made possible by a semi-independent consulting career path.

Matt Au

An ambitious junior dev, Matt is breaking into the consultancy game. With a heavy background in fitness and sales, Matt is focusing his new-forming business towards fitness software. As the fitness trend increases, and more people choose to lead healthier lifestyles, he is filling the niche of membership management software for small businesses, as well as b2c products that will help avid gym-goers continue progressing.

Rescue Mission Accomplished

"Your mission, should you choose to accept it..." A stakeholder has brought you a failing project and wants you to save it.

Do you accept your mission? Do you scrap the project and rewrite it? Deciding to stabilize a failing project can be a scary challenge. By the end of this talk, you will have tangible steps to take to incrementally refactor a failing application in place. We will also be on the lookout for warning signs of too much tech debt, learn when tech debt is OK, and walk away with useful language to use when advocating to pay down the debt.

Mercedes Bernard

Mercedes Bernard is a Principal software engineer and engineering manager with Tandem, a digital consultancy in Chicago. She's also the founder of Dev Together, a mentorship community in Chi for those starting their dev careers. Outside of work, she likes to unplug and enjoys spinning yarn and crocheting.

You can't delete the data, but you can't keep it either...

Deleting old data is awesome. Delete all the things! But sometimes, you can’t...

In fintech the financial regulators want you to keep everything, track everything and count everything. The data privacy regulator wants you to do the exact opposite.

If we are wrong, the privacy regulator will fine us, but the financial regulator will shut us down.

This is the story of confidence in privacy automation, of tests that can fail a build if an engineer forgets about privacy. This is the story of how we threw away everything we built for GDPR, and made something much better.

Then we open sourced it.

Michael Wawra

Michael has been an engineer, an evangelist, a sword fighter, a lawyer, a horse ride, C# masher, Ruby wrangler, and now manages a group a GoCardless focusing on using ML. You may know him from startups such as Twilio and from being on the internet (although unlikely...)

Michael is deeply interested in Privacy on the internet and the conflict between tracking to grow a business, and treating people's data with the care and respect privacy laws wants us to.

How Reference Librarians Can Help Us Help Each Other

In 1883, The Boston Public Library began hiring librarians for reference services. Since then, a discipline has grown around personally meeting the needs of the public, as Library Science has evolved into Information Science. Yet, the goal of assisting with information needs remains the same. There is disciplinary overlap between programming and information science, but there are cultural differences that can be addressed. In other words, applying reference library practices to our teams can foster environments where barriers to asking for and providing help are broken down.

Mike Calhoun

Originally hailing from Syracuse, NY, Mike now lives in Vancouver, WA where he works remotely as a Senior Developer for Invoca. He has worked in computer programming since 2006 after a brief stint as a librarian. In that time, he has primarily chosen Ruby and Ruby on Rails as his technologies of choice and appreciates the time he gets to spend working with them. When not programming, he spends his time with his wife, son, two cats, and one corgi in the scenic Northwest

Debugging in Production

Debugging is one of the hardest parts of being a dev. It pushes you to understand your creations at a whole new level. Your friendly Ruby debugging tools like pry and byebug are wonderful when you are trying to track down a bug locally. But what happens when the bug is in production? What if the bug only occurs when thousands of concurrent jobs are running? How do you handle debugging those scenarios? In this talk, I will share a real-life production debugging story and the strategies my team and I used to help us debug the issue safely in production.

Molly Struve

Molly Struve is a Lead Site Reliability Engineer. During her time working in the software industry, she has had the opportunity to work on some challenging problems. These include scaling Elasticsearch, sharding MySQL databases, and creating an infrastructure that can grow as fast as a booming business. When not making systems run faster, she can be found fulfilling her need for speed by riding and jumping her show horses.

Callbacks And The Circle Of Lifecycle Events

To the new software developer wanting to build a web app with Rails, callbacks and associations are gifts from the gods. As your application grows in complexity however, you may notice your favorite tools have actually turned on you. New users suddenly aren't getting welcome emails and you've somehow orphaned associations. Come learn proven patterns for managing lifecycle events for associated records in a way that sparks joy.

Nelson Wittwer

I consider myself to be a very energetic, happy person. I find life rewarding and satisfying if I can 1) make people laugh 2) help broaden world views and 3) help solve problems that cause people misery. I've spent time in my career working with small startups as well as large 400+ employee companies built on the foundation of Rails and the open source community. I've spent time in development & management. I'm excited at the prospect of giving back to this community who has given me so much.

Programming. Now with 200% more Drama!

Usually people try to remove drama from their teams and their process. I’m here to tell you the opposite! As an ex-playwright I’d like to share with you the similarities I’ve found between being a professional software developer and working as part of a theatrical team. Using a theatrical lense to look at the art and craft of both theater and writing code helps us see the roles of coders, designers, testers, and managers as one cohesive goal and, I hope, helps bring us all to a deeper understanding of how to improve our individual efforts as well as work together more successfully.

nichol alexander

I have taken a non-traditional path to working as a developer, running video stores in the Caribbean, studying for an MFA in playwriting, writing and producing one-acts and full length plays in New York, and then working as a Rails developer for a number of small smart ups for the last 6 years. I love and respect the art and craft of both programming and playwriting.

Building a Mentorship Program

Mentorship is a great way for a newer developer to benefit from the experience of a more senior developer. While there are lots of available resources on how to be a good mentor or mentee, there are far fewer guidelines on how to set up a mentoring program within your engineering organization. I'm doing this now, and I'll share the process with you: why we decided to start a team-wide mentorship program, how we got volunteers and how we matched them, and how we followed up and what worked and what didn't. You'll get everything you need to start a mentorship program at your organization.

Noel Rappin

Noel Rappin is a Staff Engineer at Root Insurance. Noel has authored multiple technical books, including "Modern Front End Development For Rails" and "Rails 5 Test Prescriptions". He also hosted the podcast Tech Done Right. Follow Noel on Twitter @noelrap, and online at http://www.noelrappin.com.

Enterprise Identity Management on Rails

Your team’s just inked that enterprise deal: 5000 seats at a well-known brand. But wait! Every week 100 people get hired or leave. Soon the customer's HR is complaining to the CEO and their engineers are hacking scripts against your undocumented API. Want to avoid this situation? We did too! Join us and learn how to automate identity management in Rails. We’ll demystify SCIM, peer under the hood of key Ruby auth and identity gems, and share insights to help you anticipate the twists in the road.

Oliver Sanford

Oliver Sanford has been developing Ruby and JavaScript apps for over a decade. He holds a PhD in anthropology from Berkeley and works as a senior software engineer at Mode (http://mode.com/), where he helps enterprises of all sizes understand the stories in their data.

Brynn Gitt

Brynn Gitt has been working on Ruby on Rails apps for five years. She has a BSE in electrical engineering from the University of Iowa. She is a senior software engineer at Mode (http://mode.com/), and led Mode’s implementation of the SCIM API. Previously, she worked at Academia.edu (https://www.academia.edu/) where she led a project to search for the names of 72 million academics in over 22 million full-text research papers.

Start, Sustain, and Succeed in Open Source

You want to contribute to Open Source. Great! Now what? In this talk, we'll demystify the process to help you grow your community and your career. If you can code for a living, then you can contribute. Follow our system and you'll gain the skills and mindset needed to get started and to keep going.

Richard Schneeman

Schneems writes Ruby at Heroku, and maintains CodeTriage.com, a tool for helping people contribute to Open Source. He is in the top 50 Rails contributors and is an accidental maintainer of Sprockets and Puma. When he isn't obsessively compulsively refactoring code for performance he writes such gems as Wicked, and derailed_benchmarks.

Accessibility is a Requirement

Accessible web applications reach wider audiences, ensure businesses are in compliance with the law, and, most importantly, remove barriers for the one in seven worldwide living with a permanent disability. But limited time, lack of knowledge, and even good intentions get in the way of building them.

Come hear my personal journey toward accessibility awareness. You will learn what accessibilility on the web means, how to improve the accessibility of your applications today, and how to encourage an environment where accessibility is seen as a requirement, not simply a feature.

Ryan Boone

I’m a front-end developer and designer based in Fort Worth, TX with a passion for web technologies, inclusivity, and Texas BBQ. I currently help make the space that comes from The Container Store.

require 'inclusion_and_sensitivity'

How can I be more aware of my privileges and disadvantages and what do I do with that information? How can I be a better ally? What are microaggressions? How can I identify and stop my unconscious biases? We'll be navigating the answers to those questions and more in the quest to be more inclusive of others in not only our daily lives, but also in our work.

Saundra Castaneda

Saundra is a queer Hispanic woman software engineer and meme enthusiast that has talked about the importance of diversity and inclusion in various panels and talks. She has worked with Ruby on Rails throughout her entire career history as a developer, has 20 plants and counting (and surprisingly has never killed any of them!), and is the proud mother of a sheltie and dwarf rabbit.

Why You Should Avoid Identity Sync Like Wildfire?

When we built our single sign-on service, we learned that syncing identity changes among applications can be deceptively complex. This is because we had to iteratively deploy the SSO service while supporting our existing applications that used the service. In this talk, we discuss lessons learned and recommendations on three key identity sync problems: 1) using editable fields such as email as an ID, 2) relying on unproven promises by standards such as SCIM, and 3) split-tenant situation. This talk will help developers avoid some pitfalls while building or working with an identity service.

Seyed M Nasehi

Seyed M Nasehi is a software engineer at Cisco with a decade of software development experience. He's been building Ruby on Rails applications in the past 3 years to help customers who are using Cisco security products. His latest involvement was building a single sign-on service to be used by multiple security products within Cisco.

How Prime Numbers Keep Your Rails Application Secure

While many software engineers don’t work directly with prime numbers on a daily basis, they play a crucial role in keeping your web applications secure in the form of Hypertext Transfer Protocol Secure (HTTPS).

In this talk, you will learn the inner workings of how HTTPS uses prime numbers to keep your data private as it travels over the internet. We will cover topics such as symmetric and asymmetric encryption, and why prime numbers are just so damn hard to crack. By the end, you will understand how to encrypt and decrypt data yourself with Rails and the Ruby standard library.

So come join me as we demystify HTTPS using code, color theory, and only a pinch of math 🤓.

Sun-Li Beatteay

Sunny is a software engineer and Rubyist at DigitalOcean where he works on building managed storage products. He has been using Ruby and Rails since he started learning to program in 2016. Like Rails, he's passionate about encapsulating complicated concepts in simple language. When he's not breaking master, he can be found trying to pipe all his troubles into /dev/null.

Peeling Away the Layers of the Network Stack

As Rails developers, we depend on network protocols to ensure the products we build are available and accessible to our users. Despite this, many of us are poorly aware of how the layers of the network stack actually work, or why they are there.

Understanding the things that happen between physical signals on the wire and your Rails application will help you hone your craft and level you up. Fortunately, the basic concepts of network protocols are easy to grasp, with a little guidance. So let's walk together through these concepts, and peel away the layers of the network stack one by one.

Ufuk Kayserilioglu

Ufuk is a Physics PhD turned polyglot software developer. He is currently working as a Senior Production Engineer on the Rails team at Shopify. He has over 20 years of experience working with statically and dynamically typed languages and he brings that to Shopify for the adoption of better Ruby tooling and practices. He currently works remotely from Cyprus where he lives with his beloved wife and wonderful daughter. In his free time, he teaches computer science to high-school students.

The Cost of Data

The internet grows every day. Every second, one of us is making calls to an API, uploading some images, or streaming the latest video content. But what is the cost of all this?

Every day, a data center stores information on our behalf. As engineers, it's easy to focus on the code and forget the tangible impact of our work. This talk explores the physical reality of creating and storing data today, as well as the challenges and technological advancements currently being made in this part of the tech sector. Together, we'll see how our code affects the physical world, and what we can do about it.

Vaidehi Joshi

Vaidehi is a senior engineer at DEV, where she builds community and helps improve the software careers of millions. She enjoys building and breaking code, but loves creating empathetic engineering teams a whole lot more. She is the creator of basecs and baseds, two writing series exploring the fundamentals of computer science and distributed systems. She also co-hosts the Base.cs Podcast, and is a producer of the BaseCS and Byte Sized video series.

What the fork()?

How does Spring boot your Rails app instantly, or Puma route requests across many processes? How can you fine-tune your app for memory efficiency, or simply run Ruby code in parallel? Find out with a deep dive on that staple UNIX utensil, the fork() system call!

After an operating systems primer on children, zombies, processes and pipes, we'll dig into how exactly Spring and Puma use fork() to power Rails in development and production. We'll finish by sampling techniques for measuring and maximizing copy-on-write efficiency, including a new trick that can reduce memory usage up to 80%.

Will Jordan

Will is Infrastructure Lead at Code.org, a nonprofit dedicated to expanding access to computer science in schools and increasing participation by women and underrepresented minorities, where he has been building and scaling their Rails learning platform since 2014.

Creative Communications

Deeper Understanding & Better Communication through Art

Understanding new concepts and complex systems is hard. Explaining them? That’s even harder. Like anyone in a highly specialized career, software engineers may struggle to convey information concisely, confidently, and clearly to their technical and non-technical teammates. As a former illustrator and graphic designer, has found that visual art can be the key to both deeper understanding and clearer, more accessible communication. In this talk, we’ll explore why the ability to clearly communicate is so vital to mastering a complex topic, how to choose the right abstractions to present to a specific audience, and how a different medium can provide a new lens through which to view a familiar topic.

Anna Rankin

As a tech lead, Anna spends her days at General Assembly helping a team of engineers deliver reliable, useful software that helps adults learn the skills they need to pursue a career that inspires them. Before transitioning to software, she was an undercover tech enthusiast working in roles ranging from graphic designer to ESL tutor — and even community relations for a small island! In her free time, she makes pixel art, designs punny stickers, and hangs out in dog parks with her pup.

Creative Communications

10x Storytelling

Data increasingly drive the world around us, but humans are motivated by stories. While there may be no such thing as a 10x engineer, you can 10x your team—making each teammate X% more productive over a sprint, project, or a whole career—by telling the right story. In this talk, we'll learn the art of "10x storytelling": calibrating your message for your audience, crafting memorable narratives, and structuring your story so your audience reaches your intended conclusions on their own. By the end, you'll come away with a rich new set of tools to help push you and your teammates to new heights.

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, and Elixir, as well as working on problems at the intersection of programming and philosophy (such as machine ethics). He lives in Los Angeles with his wife and son.

Creative Communications

Writing design docs for wide audiences

What would you do to convince a large audience, who has little context, to use your solution to a problem? One way is to write a design document, which helps scale technical communication and build alignment among stakeholders. The wider the scope of the problem, the more important alignment is. A design document achieves this by addressing three key questions: “what is the goal?”, “how will we achieve it?” and “why are we doing it this way?”. This talk will cover identifying your audience, effectively writing answers to these questions, and involving the right people at the right time.

Michele Titolo

Michele Titolo is an experienced lead engineer working on cloud infrastructure at Square. With a career spanning multiple specialties, Michele uses her passion for distributed systems to help teams succeed in the cloud. Outside of work, Michele is a frequent traveler, an avid home cook, and a MMORPG gamer on the Switch.

Everything ActiveSupport!

Professor When and the TimeyWimey Extensions

Professor When is an lemur that travels through all of DateTime and Space on wondrous adventures, but something is askew! In their DARTIS (Doing ActiveSupport Rigging of Time including Space) something is broken in their TimeyWimey extensions, and now they can't travel through time!

Join us in this magical adventure in manipulating Time itself to save Professor When through writing our own TimeyWimey extensions for their DARTIS!

Brandon Weaver

Brandon is a Ruby Architect at Square working on the Frameworks team, defining standards for Ruby across the company. He's an artist who turned programmer who had a crazy idea to teach programming with cartoon lemurs and whimsy.

(Note: Professor When was at RailsConf last year: https://youtu.be/tmJlos2CST4?t=1507)

Everything ActiveSupport!

Building a Performance Analytics Tool with ActiveSupport

Setting up a performance analytics tool like NewRelic or Skylight is one of the first things many developers do in a new project. However, have you ever wondered how these tools work under the hood?

In this talk, we will build a basic performance analytics tool from scratch. We will deep dive into ActiveSupport instrumentations to collect, group and normalise metrics from your app. To persist these metrics, we will implement a simple time series database and visualise the data on a webpage. By the end of the talk, you will know how your favourite performance analytics tool works.

Christian Bruckmayer

Christian Bruckmayer originally from Nuremberg, Germany, but just recently migrated to the south west of England. In his day job, he makes everyday cooking fun at Cookpad, the best place to find and share home cooked recipes. Since 2014 he is an avid open source contributor hacking for instance on JRuby, openSUSE Linux or various gems.

If he's not hacking Ruby, he's out doing what 'young' people do: traveling the world, skiing in the alps or going to concerts of his favourite band.

Everything ActiveSupport!

The Best Kept Secrets of Rails

Secrets. They are everywhere. From urban legends, fried chicken recipes, to encrypted messages... okay, one of these is not like the rest. In this talk we will focus on one of them, and it's not the fried chicken. Active Support provides a suite of little-known cryptography APIs. While you may not have encountered them directly, they secretly power your Rails app. From cookies to CSRF tokens, these APIs are crucial building blocks in the framework. Let's take a look at the motivations behind them, what they are used for in Rails, and why you may want to take advantage of them in your own apps.

Godfrey Chan

Godfrey Chan is a Rails core team alumni and a member of the Ember.js core team. He currently works at Tilde as an in-house Canadian, a job that involves frequent apologising, consuming poutine and building Skylight, the smart Rails profiler. In his previous life, he was also an award-winning WordPress™ plugin author.

Exported Expertise

Detecting Context, from Activism to Software Architecture

  • Why do our workplaces make us feel burnout and emotional exhaustion?
  • Why do books about object-oriented programming prefer composition to inheritance?

These questions seem unrelated, but here's what they share: assumed context—details of ONE situation that we assume to be true in ALL situations. Learning to recognize assumed contexts has given me the power to see more options when I make software decisions.

In this talk, you'll learn how to challenge assumptions in common programming advice, solicit new perspectives, and give yourself options when you previously thought you had none.

Chelsea Troy

Chelsea writes code for money. Her recent projects include an automated image processing pipeline for NASA Landsat images and a dual-platform mobile app to engage science enthusiasts in original research. She looks for clients who are saving the planet, advancing basic scientific research, or providing resources to underserved communities. She has been known to take projects in mobile development, web development, and machine learning. She streams some programming sessions to YouTube.

Exported Expertise

Leadership Tools That Are (Literally!) Battle-Tested

As a new or experienced leader, you spend your time worrying about your team and their performance. That's not unique to software; the oldest entity in the government, the Army, has been honing world-class leaders for 245 years. But if you have no interest in shipping off to bootcamp, how can you glean these lessons?

In this session, I'll share the lessons of being a squad leader and military interrogator. We will analyze relatable stories of hardship, teamwork, and triumph from combat and software teams to drive home principles that will make your confidence as a leader bulletproof.

Isaac Elias

Isaac is VP of Engineering at True Link Financial, building financial software to meet the needs of aging adults, people with special needs, and other communities. He has worked as a web developer using Rails after graduating from a 12-week full-time bootcamp. He is a US Army veteran, having returned from deployments to Iraq and Afghanistan. He enjoys karaoke, playing electric bass, and commiserating with other parents who feel like they are in way over their heads

Exported Expertise

How Medieval Literature Taught Me To Love Legacy Code

I studied both medieval literature and computer science in college, but I never expected the hours I spent reading Chaucer would help prepare me to be a software engineer. Luckily, I was wrong. Medieval literature taught me how to trace language as it evolved and immerse myself in historical context. I’ll demonstrate how you can use those same strategies to navigate large, long-lived codebases. Whether you’ve never read a line of Middle English or you’re an expert on courtly romances, you’ll gain a new perspective on working with legacy code from this talk.

Sonja Peterson

Sonja Peterson is a senior software engineer at the nonprofit ActBlue, where she uses Rails and React to build online fundraising tools for Democratic campaigns, progressive organizations, and other nonprofits. Previously, she worked at BookBub and Devoted Health. When she’s not programming, you’ll find her reading or looking for new places to hike and ski around New England.

Identity & Permissions

Beyond Simple RBAC: Advanced Authorization in Rails

For the longest time your application has supported two types of users: 'users' and 'admins'. Role Based Access Control with broad sets of permissions has been your goto until now - but what happens when things get more complicated? Multitenancy, permissions to individual resources, and enterprise level compliance create an explosion of roles and a need for a more fine-grained approach. In this talk we'll discuss all things authorization, with an overview of common paradigms (RBAC, ABAC, LBAC, so many BACs), popular libraries for Rails, and general tips on a topic that has so much information on how to get started but so little on what to do when 'admin: true' just isn't enough.

Chris Arcand

Chris is a senior engineer at HashiCorp where he works on Terraform, a tool for building, changing, and versioning cloud infrastructure. As an OSS advocate he has contributed to various projects in the Ruby ecosystem. A native Minnesotan, Chris also enjoys hockey, backpacking, and making pointless connections to Minnesota in conversations.

Identity & Permissions

Inoculating Rails Auth Against Bug Bounty Hunters

You’ve rolled up your sleeves and built the most secure custom auth ever conceived by a dev team. Suddenly, your CTO informs you that your app will be participating in the Org's new Bug Bounty program. Terror fills your heart as you imagine security experts making mince-meat of your beautiful auth system. If only you knew their game plan...

Kolide’s CEO, Jason Meller has been rolling his own Rails auth for over a decade and has the bug bounty receipts to prove it. In this talk, he will walk you through Kolide's actual bounty reports so you can level up your team’s auth system.

Jason Meller

Jason Meller is the CEO and Founder of Kolide, a security focused infrastructure analytics company. Jason has spent the majority of his 11 year career building tools and products in Ruby on Rails to aid cyber security professionals with the goal of ultimately making the field more accessible to newcomers.

Identity & Permissions

Who Are You? Delegation, Federation, Assertions and Claims

Identity management? Stick a username and (hashed) password in a database, and done! That's how many apps get started, at least. But what happens once you need single sign-on across multiple domains, or if you'd rather avoid the headache of managing those passwords to begin with? This session will cover protocols (and pitfalls) for delegating the responsibility of identity management to an outside source. We'll take a look at SAML, OAuth, and OpenID Connect, considering both the class of problems they solve, and some new ones they introduce!

Lyle Mullican

Lyle Mullican is a software consultant in the mountains of Asheville, North Carolina, working with Rails primarily in the healthcare industry. He started using Rails at version 1 and has run production applications on every major version since. Originally from a design background, he has been a contributing author to A List Apart magazine and occasionally manages to produce fine art.

Identity & Permissions

Teamwork Makes the Rails Work

If you're lucky there's a good chance your application's User models will one day grow a Team association — if it hasn't happened already. With teams, you're no longer making an app for individuals but modeling entire companies full of them. In this talk we'll look at sustainable patterns for authenticating and managing Rails users into collaborative groups without falling into the many user-hostile pitfalls along the way.

Olivier Lacan

Olivier likes to use computers to help people and not the other way around. He's worked on Code School for many years and now works as tech lead for Pluralsight Projects. He's created Shields.io and Keep a Changelog to try and make open source project more accessible to humans. More importantly, he's the kind person who stops in the middle of a book to figure out the etymology of a cool new word because the reason why things are the way they are matters.

Identity & Permissions

Solving all your password problems with WebAuthn

Passwords are pretty risky these days, with millions of them compromised in leaks and sophisticated phishing pages everywhere. SMS or one-time codes are no silver bullet, they just require fancier attack techniques. But fear not - WebAuthn is here! Part of the FIDO2 framework, WebAuthn lets you authenticate with your fingerprint, your face or other passwordless hardware authenticators. In this talk, we'll go through the nuts and bolts of FIDO2's passwordless authenticators and by the end of it, you'll have a good understanding of FID02, how WebAuthn works, and how to support it in your Rails app.

Rosa Gutierrez

Rosa is a senior programmer in the Security, Infrastructure and Performance team at Basecamp. As part of her work there, she implemented two-factor authentication and support for WebAuthn for Basecamp users. She loves maths, theoretical computer science, pointless programming challenges and her dog Mochi. Security is one of her favourite topics at work, as well as the one that usually doesn't let her sleep at night.

Memorable Post-Mortems

Mistakes Were Made

We picked the wrong technology. We worked in silos. We prematurely optimized. We introduced too many changes at once. And yet somehow we delivered a system that is integral to a shopping rewards app used by millions across the United States. I want to tell you the story of how the best of intentions led to crucial blunders. In this public, honest, and vulnerable post-mortem I will share the missteps I made so that you can avoid them.

Jesse Spevack

Jesse Spevack is a father of twins, skier, marathoner, and Senior Platform Engineer at Ibotta, a cash back for shopping app whose mission is to make every purchase rewarding. Before getting into the tech world, Jesse worked in public K-12 education for 11 years in teaching, school leadership, and school consulting. Jesse transitioned from education into technology by way of the Turing School of Software Design, a Denver based code school with a Ruby-centric curriculum.

Memorable Post-Mortems

The Sounds of Silence: Lessons from a 12 hour API outage

Sometimes applications are behaving “normally” along strict definitions of HTTP statuses but under the surface, something is terribly wrong. In 2017, Checkr’s most important API endpoint went down for 12 hours without detection. In this talk I’ll talk about this incident, how we responded (what went well and what could have gone better) and explore how we’ve hardened our systems today with simple monitoring patterns.

Paul Zaich

Paul hails from Denver, CO where he works as an Engineering Manager at Checkr. He’s passionate about building technology for the new world of work. In a former life, Paul was a competitive swimmer. He now spends most of his free time on dry land with his wife and three children.

Memorable Post-Mortems

Learning Empathy From Pokemon Blue

Have you ever looked at a bug and wondered why it actually happens? It's easy to chalk it up to sloppy coding but that's almost never the case.

In this talk we'll be dissecting a exploit from Pokemon Blue known as the "Missingno" glitch. We'll look at the details of each of the seemingly random bugs behind this exploit. We'll look at why these bugs happened, and the lessons we can apply to our Ruby code more than 20 years later.

If you've never played or even heard of Pokemon, that's ok! As long as you're interested in a deep dive into a fascinating set of bugs, this talk is for you.

Tess Griffin

Tess lives in sunny Albuquerque, New Mexico with her partner Sean, her daughter Ruby, a dog named Django and a cat Merb (can you spot the pattern?). She is currently a developer for GitHub on the Education team. She looks forward to playing every new Pokemon game.

Rails at Scale

Intelligently Running Fewer Tests at Scale

Large test suites can become slow, flaky, and expensive to maintain over time. In this talk, we will walk you through how we scale testing of one of the largest Rails apps in the world. We have developed a test selection tool based on dynamic analysis that selects a subset of tests to run, improving speed and reducing costs of running CI, while still ensuring >99% of test failures are detected. Come and join us to hear about the benefits of test selection, why it works, and how to deliver it to 1000+ engineers with minimal disruption, as well as our plans for the future.

Sander Lijbrink

Sander is a Software Engineer at Shopify, where he has worked on developer tooling and Continuous Integration systems for over 4 years. He considers himself a pragmatist and is passionate about solving niche problems at scale, and picking up new skills along the way.

Rails at Scale

Scaling Rails API to Write-Heavy Traffic

Tens of millions of people can download and play the same game thanks to mobile app distribution platforms. Highly scalable and reliable API backends are critical to offering a good game experience. Notable characteristics here is not only the magnitude of the traffic but also the ratio of write traffic. How do you serve millions of database transactions per minute with Rails?

The keyword to solve this issue is "multiple databases," especially "sharding". From system architecture to coding guidelines, we'd like to share the practical techniques derived from our long-term experience.

Takumasa Ochi

Takumasa Ochi is a Software Engineer and Product Manager on one of the Common Game Server teams at DeNA. He is passionate about developing backend systems for game apps. Scalability and reliability are the must-have features for today's game API backends.

Rails at Scale

Between monoliths and microservices

Rails applications tend to turn into giant monoliths. Keeping the codebase maintainable usually requires architectural changes. Microservices? A distributed monolith is still a monolith. What about breaking the code into pieces and rebuild a monolithic puzzle out of them?

In Rails, we have the right tool for the job: engines. With engines, you can break your application into components—the same way as Rails combines all its parts, which are engines, too.

This path is full of snares and pitfalls. Let me be your guide in this journey and share the story of a monolith engine-ification.

Vladimir Dementyev

Vladimir is a mathematician who found his happiness in programming Ruby and Erlang, contributing to open source and being an Evil Martian. Author of AnyCable, TestProf, ActionPolicy and many yet unknown ukulele melodies.

"Soft" Skills Are Hard!

Achieving Inclusivity Through Remote Work

A strength of the tech industry is its ability to facilitate remote work. Remote work helps people — particularly people who are part of marginalized communities, such as folks who are undergoing a gender transition. We often talk about how to foster inclusive teams and remote work can be a big factor in that!

In this talk, you’ll learn about barriers that disproportionately affect underrepresented folks in tech, like health concerns, financial/geographical logistics and emotional burnout, as well as the ways working remotely can ease those burdens, and how to promote healthy distributed teams.

Jameson Hampton

Jamey is a non-binary adventurer from Buffalo, NY who wishes they were immortal so they’d have time to visit every coffee shop in the world. They’re a Rails engineer who recently took the plunge into DevRel, and they're a panelist on the podcast Greater than Code. In their free time, they do advocacy in the transgender community, write comics and travel as much as they can!

"Soft" Skills Are Hard!

Salary Negotiation for People That Hate To Negotiate

Jessie is a junior developer looking for a new job, and has gotten an offer! She'll probably accept it as is: she doesn't want to risk doing anything that would jeopardize the opportunity. What Jessie doesn't know is that the company she interviewed with is lowballing her: she could have negotiated a much higher salary!

Most of us receive a job offer at least once in our lives, and many of don't negotiate. Negotiating salary sounds scary, but it doesn't have to be. In this talk you'll learn how to negotiate your next job offer or raise, even if you hate confrontation.

Josh Puetz

Josh Puetz is a developer with 20 years of experience making mistakes and telling stories about them. A veteran of several startups, he’s currently a principal software engineer at DEV. Against his better judgement he tweets at @joshpuetz.

"Soft" Skills Are Hard!

What If It's NOT Imposter Syndrome?

There are a lot of talks and advice about Imposter Syndrome out there, and most of those talks assume it's all in your head. Well, what if it's not? What if you're not good enough and they fire you for it? In this session, we'll talk about how to succeed when you're bad enough to get fired. It's also a talk that teaches practical approaches for negotiating salaries, having difficult conversations, and owning all of your skills. These are ideas that can work whether you're one of the rockstars, an imposter, someone on the chopping block, one of the fired, or you just want a broader perspective.

Tara Scherner de la Fuente

Tara is a Ruby/Rails developer at Hireology. She has had other careers in academia, human resources, and private investigation. She has an expansive t-shirt collection and masquerades as a goat for @GoatUserStories. She purr programs with her cat Lulu via a remote, caffeinated living room office in Portland, Oregon.