RailsConf 2019 Recap
In early May, a small group of Grio engineers (myself included) travelled to Minneapolis for RailsConf. Although I’ve presented at conferences in the past, this was my first time attending a tech conference exclusively to learn, and I had a great time. In this post, I’ll give a quick recap of my favorite talks, and pass on a few things that I learned from the experience overall.
Top Talks
The talks at this conference ran the gamut from soft skills, to engineering best practices, to highly technical tips and tricks. Of the close to 20 presentations that I attended over the three days, a few topics stood out:
Tips for — and lessons from — remote work
I attended two talks on remote work: Things I Wish I Knew Before Going Remote (Maria Brizel Zeschin), and Communicating Like You’re Remote (Eric Tillberg). We have a number of remote employees at Grio, and I work from home with some frequency, so I thought these talks might yield some useful tips for both myself and my colleagues.
The first of these talks did give a good overview of best practices for working from home, including dedicating a space in your house exclusively for work (working from bed in your underwear isn’t healthy, folks!) and keeping up a face-to-face social schedule so that you remember how to, you know, speak aloud. The second focused on written communication lessons that all engineers can learn from remote teams — e.g., make clear, deliberate statements, cover edge cases, and document processes and decisions as meticulously as possible.
Unraveling the Cable: How ActionCable works
Christopher Sexton, VP of Engineering at Radius Networks
This was a good introduction to how ActionCable works in Rails, covering the specific use case of leveraging a classic web socket concept to make real-time push notifications — for example, to update something like sports scores in real time in a web app. As I’ve worked with ActionCable before, I’d hoped that the talk would provide a little more technical detail, but it would have been a great overview for someone with less experience.
Optimizing Your App by Understanding PostgreSQL
Samay Sharma, Lead Solutions Engineer at Citus Data
In my opinion, this was one of the best talks at the conference. I learned a lot about getting “under the hood” of PostgreSQL, optimizing it to get more out of large datasets, and using EXPLAIN ANALYZE to make SQL queries more performant. In fact, I started using the information from the talk almost as soon as I was back in the office — a colleague alerted me to the existence of the ActiveRecord Analyze gem, which executes EXPLAIN ANALYZE from Rails; the analysis output, including estimated and actual execution times, has been enormously helpful in optimizing my queries.
Rails Security at Scale
Jack McCracken, Application Developer at Shopify
This was a solid talk with lots of actionable takeaways. We’re definitely going to be implementing some of Jack’s recommendations, including stronger linting, stronger rubocopping, more aggressive CI workers, automated DevOps alerts for unsafe methods (e.g., pull requests opened in “HTTP safe” mode), and aliasing unsafe methods to make it abundantly clear that they’re unsafe.
The Selfish Programmer
Justin Searls, CEO of Test Double
As someone who enjoys working on personal projects, this was my favorite talk of the week. Where most developers are focused (for good reason) on improving teamwork and team processes, Justin gave some great advice for upping your performance when you’re working independently. For example, you’re going to have dozens of branches when you’re collaborating with a team — but depending on the nature of the project, you might want to completely rethink your approach to branching and versioning when you’re working on your own.
General Conferencing Tips
I mentioned at the top of the post that this was my first time conferencing with a focus on learning and networking — and I learned a few things about doing it right! If you’re embarking on a similar adventure, here’s what I’d recommend:
- Plan. Familiarize yourself with the conference schedule well ahead of time, and know which talks, workshops, and events you want to attend before you get there.
- Stake a claim. If a talk has limited space, get there early! Back to the “plan” tip here — we missed out on a couple of popular talks because we decided to attend at the last minute, and wiser folks had lined up an hour in advance.
- Be ready to represent. Bring business cards! And if your company’s hiring (which Grio is, by the way), have a pitch and a hire sheet prepared.