Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
By Julie Gill With RoR, often the focus is on how easy it is to build an application from the ground up. But, there is a whole different set of challenges when working on a mature application. This talk will discuss the issues discovered when peeling back the layers of a 7-year-old pile of code. In the beginning, the question isn't "How do I build this," but more like "Where does this go" or "Where is this bug coming from." I will discuss the sometimes-unintended consequences of introducing new features, tracking down and fixing ancient bugs, estimating the time a new feature will take to build given the many other peculiar surprises you will uncover, and finally how not to worry about the inevitable day when you will break everything. The audience will hear from a developer who works with old code every day and get tips to make their future selves and successors less confused, more productive, and less unintentionally destructive. Help us caption & translate this video! http://amara.org/v/FG98/
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 her talk titled "Microtalk: A House of Cards - The Perils of Maintaining a 7-Year-Old Codebase," Julie Gill shares her experiences working with a large, legacy codebase at StreetEasy. Graduating with a computer science degree, she found herself facing the challenges of maneuvering through a codebase filled with complexities that had been developed in 2005 and 2006. The presentation is a metaphorical exploration, likening the codebase to a delicate house of cards that could collapse if not approached with caution. **Key Points:** - **Initial Setup Challenges:** Gill describes her experience setting up a complex development environment with numerous dependencies such as Homebrew, MySQL, and various Ruby gems, contrasting it with building applications from scratch. - **Learning Curve:** The speaker emphasizes the steep learning curve involved, which included not only understanding the code but also grasping the business logic and real estate concepts essential to the application. - **Debugging Struggles:** Gill discusses the detective work involved in debugging old code, including navigating Git repositories to trace the history of bugs and assess the intent behind old code segments. - **Old Code Quality:** She highlights that just because code is old does not mean it is correct, and past decisions were not always made with foresight. - **Importance of Comments and Specs:** Comments such as 'to do: make this not suck' can be helpful clues for future developers, and writing specs can prevent misuse of the code, though not all code can be spec'ed due to scale. - **Inherent Risks of Feature Building:** The process of building new features is fraught with risks as changes can have unforeseen effects on unrelated parts of the codebase, creating a domino effect that can lead to bugs. - **Gradual Mastery:** Gill notes that with time, she became more familiar with the codebase, learning how the pieces fit together and reducing the risk of breaking functionality. **Conclusion and Takeaway:** Ultimately, Gill encourages developers to follow a careful, patient approach when working with large, mature codebases. The same consideration should be applied as one would when renovating a historic structure. The talk serves as a reminder of the intricacies involved in maintaining and evolving code that predates one’s experience.
Suggest modifications
Cancel