A few weeks ago, Procore sponsored and attended RailsConf 2019, one of the world’s largest gatherings of Rails developers and Ruby enthusiasts. Procore’s application is built on Ruby on Rails, which is why being a part of RailsConf is valuable from both a business and employee perspective.
This year, 20 Procore employees traveled to RailsConf in Minneapolis to learn about the current and future status of Rails and hear from leading voices in the community. At Procore, we encourage and sponsor employee conference attendance as a part of our continuous learning and development program. This year, we were also excited to support two members from our Engineering team, James Dabbs and Ylan Segal, as speakers at RailsConf. Here, James and Ylan give a quick overview of their talks and share their biggest takeaways from the conference.
James Dabbs, Senior Software Engineer @jamesdabbs
Procore has grown up with Rails. We wrote our first line on Rails version 0.87 and launched our first production release against version 1.2. So over the span of a decade, as Rails has evolved and as our business has matured, we've written a lot of lines of code. As we continue to grow, it's important to ensure that managing, maintaining, and modernizing our existing codebase doesn't prevent us from delivering value and new features to our customers. We want to move fast - but we can't be cavalier about breaking tools that our customers depend on every day.
Tim Doherty recently wrote about how we think about technical debt at Procore, and as part of that ongoing effort, we've been practicing refactoring as a key tool for paying down that debt in a safe and sustainable way. This practice takes a few different forms such as regular workshops and dedicated times for large refactorings.
When I first started at Procore, I was daunted by the scale and complexity of our codebase, and it made me fearful when making a change. When Procore first brought in engineer Sandi Metz to teach a workshop, it opened my eyes to how developing new features by way of small refactors can eliminate that fear. It lets you change code and develop new features confidently - not to mention, it's just fun.
My talk at RailsConf was on refactoring and my goal was to show what that process looks and feels like for people who don't necessarily have the space to explore it at work, and to paint a picture of what maintaining a large Rails application at scale can look like. I'm excited about refactoring, because it's a way to fold that continuous improvement into the day-to-day process of building the software that builds the world.
Ylan Segal, Staff Software Engineer @ylansegal
I had the pleasure of attending RailsConf this year for the first time and the honor to be a speaker. I titled my talk “Bug-Driven Development”. On the surface, it’s ostensibly a war story about fixing a particularly nasty bug. On a deeper level, it’s about software design evolution.
Software is an iterative endeavor and perpetually in a state of flux - requirements change, new features are added, and external APIs are deprecated. Scaling demands adjustments. In my talk, I try to connect a specific bug-fix and the broader applicability of design patterns, proper abstractions, and the role of testing. My goal was for audience members to be able to see both the proverbial forest and the trees: to connect the ivory-tower, abstract design concepts with the day-to-day practice of writing code, test-driven development, and fixing bugs.
RailsConf was a great experience from both from an attendee and a speaker perspective. Attending the conference gave me an opportunity to learn about new topics, dive deeper on familiar ones, connect with other Rubyists, and hopefully contribute my own grain of sand to the community from which I have gained so much.
This may have been my first RailsConf, but definitely not the last! I am grateful for all the support I received from Procore to both attend and speak. The continuous drive to engineering excellence is inspiring and contagious. It’s Procore’s commitment and investment to the personal development of the engineering team that made this talk possible.
Recordings of James’ and Ylan’s talks will be available through RailsConf in the following weeks. We look forward to participating in many more events in the engineering community.
If you’re interested in career opportunities with Procore, visit our careers page by clicking here.