Videos of RailsConf 2018 went up last week on Confreaks. When our team got back from RailsConf, we all made notes of our favorite talks, which I’ve summarized below.
Note: These are not necessarily the 10 best talks at RailsConf 2018. They’re just the top 10 talks our team happened to attend and enjoy at RailsConf this year, with those enjoyed by more of our team roughly clustered towards the top.
Classic Tenderlove mix of absurdist hilarity and unparalleled technical expertise. This talk goes deep on the performance of Ruby applications, profiling, benchmarking, tuning, etc., and how Aaron uses these techniques to make Rails better and perform at GitHub’s scale.
Sarah gave a stand-in keynote when the planned speaker had travel delays. This is a deeply thoughtful talk pulling in Brooks’s No Silver Bullet, changes in software development over recent decades, flaws in the analogy of construction & architecture, among other topics. She ties it all together into the idea of treating our applications as spaces we live in, rather a thing we build, finish, and move on from. We need our codebases to be livable and sustainable, and Sarah gives practical advice to help. It’s good, even if you don’t live in Rails. Watch it. 🙂
Eileen talks about what’s happening in Rails development right now, plans for Rails 6, etc. She presents a perfect mix of conceptual goals and the technical implementation changes being made to accomplish them. It’s always enlightening to listen to a Rails core team member talk through their thoughts and how they’re approaching problems.
Several of us attended this talk, and we all thought it was fantastic. In this entertaining, detailed explanation of the event, Nickolas references the work of Sidney Dekker, acclaimed system safety expert, and makes excellent points about how “human error” is never the root cause. Human error is a reflection of flaws or oversights in the system. We need to dig deeper to find the “second story” to understand why people made the decisions they did, how the system allowed or encouraged those decisions, etc. I’ve been meaning to read Professor Dekker’s Field Guide to Understanding Human Error for a while, and this bumped it higher on my list.
David Heinemeier Hansson
Thoughtful, opinionated keynote from DHH, as always. We all especially liked his idea of “conceptual compression” as a way to think about how we, as the Rails community and as an industry, are making progress. We discuss this idea more in our RailsConf 2018 Takeaways post. He also talks about “Just-in-Time Learning” and personal (ethical) responsibility for the systems we build, among other interesting topics.
This was one of my personal favorites, surprisingly. I expected the usual tips about how to upgrade an application, but instead this is about changing your team culture and habits to make upgrades less painful over time and reduce the delay in upgrading. Jordan shares practical tools, methodologies, and mindset shifts to help. If your team has the typical pattern of waiting to upgrade Rails and then finally going through a painful upgrade sprint/project, this is worth watching.
Akira, a committer to both Ruby and Rails, shows how even though Rails is a mature platform, there are still a lot of places that have not been highly optimized from a performance perspective. He also talks about improvements that could be made by leveraging asynchrony. We’re hopeful some of the ideas he proposed eventually make it into Rails, e.g., (easier) async queries in ActiveRecord and async view rendering.
Sasha provides a quick, easy-to-follow introduction to using React and GraphQL in a Rails application. If you’re already using those tools in production, you might skip this one, but if those are on your “look into someday” list, this is a good talk to start with. The associated GitHub repo is worth perusing too.
Chris discusses how they leveraged Rails conventions and specific features, in combination with feature flags, to completely replace their UI at Betterment over the course of 8 weeks – while deploying their work constantly so they could test it in production. I haven’t personally watched this one yet, but from talking to colleagues, they especially liked the discussion around managing complex deployments with feature flags.
Aja presents a myriad of smart techniques one can use to keep a production system running smoothly – and know if it’s not. Developers tend to have exhaustive test suites that run before deploying to production, but then we often just fall back on basic monitoring for production. This talk is inspiring for thinking about what more we could be doing.
These are talks that none of our team attended but we heard good chatter about – and are on our shortlist to watch soon.
- “The Doctor Is In: Using checkups to find bugs in production” by Ryan Laughlin
- “The Evolution of Rails Security” by Justin Collins
- “Up And Down Again: A Migration’s Tale” by Derek Prior
- “The GraphQL Way: A new path for JSON APIs” by Nick Quaranto
- “Re-graphing The Mental Model of The Rails Router” by Vaidehi Joshi
That’s all folks. As you can see, RailsConf had a lot of great talks this year. Let us know if we missed any of your favorites.