Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Mistakes Were Made by Jesse Spevack 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 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 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.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk "Mistakes Were Made" at RailsConf 2020, Jesse Spevack, a Senior Platform Engineer at Ibotta, reflects on several critical missteps he made while working on a project involving a cashback shopping system. The presentation serves as a public post-mortem to share lessons learned from significant errors intended to improve future development practices. Spevack outlines four major mistakes made during the project: the selection of inappropriate technology, siloing team members’ work, premature optimization, and introducing multiple changes simultaneously. Key Points Discussed: - **Picking the Wrong Technology**: The team's decision to use Kotlin and Akka, despite lacking proficiency, led to plumbing issues that hampered progress. A more familiar technology stack would have suited their needs better. - **Siloing Work**: Tasking team members with distinct responsibilities resulted in a lack of shared knowledge about the systems, which became problematic when a key engineer left for another team. - **Premature Optimization**: Spevack acknowledged the pitfalls of making optimizations before identifying actual bottlenecks, which created unnecessary complexity and made debugging difficult. - **Too Many Changes at Once**: Altering both the input data and the processing algorithm simultaneously complicated the capability to effectively compare the outcomes from the old and new systems. Throughout the talk, Spevack emphasizes that, despite these errors, the project ultimately delivered significant cost savings, amounting to approximately $1.5 million in annual operational expense savings. He acknowledges that failure can be a vital teacher and encourages others to learn from his mistakes to avoid similar pitfalls in their projects. In conclusion, Jesse Spevack advocates for open discussion about failures and stresses the value of teamwork and clear communication in software development. Overall, this presentation highlights the importance of careful planning, ongoing communication, and a focus on shared understanding within teams to enhance project outcomes.
Suggest modifications
Cancel