Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Working Compassionately with Legacy Code by Amar Shah Your code is your partner. It struggles against you, but also alongside you. Your code comes to you as it is, not as you wish it were. Like a real-life partner, it has a history that you’ll never fully know; like a real-life child, it bears your imprint, but it is wild, unruly, and fiercely self-sovereign. You’ll never stop working with code that’s hard to figure out or difficult to change. But this code, this stubborn creature, is entrusted to you. Let go of your anger at the developer who wrote it. Let go of the terror of being blamed for its unforeseeable regressions. Let go--and find joy.
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 presentation "Working Compassionately with Legacy Code," Amar Shah shares insights from his experiences as a software developer dealing with legacy code. Shah emphasizes the need for compassion in working with challenging codebases, likening the relationship between developers and their code to that of partners or caregivers. Key points discussed in the video include: - **Perspective on Legacy Code**: Legacy code is often seen as a burden; however, it can also serve as a great teacher, presenting real-life use cases that push developers toward learning and growth. - **Emotional Challenges**: Developers frequently experience frustration and anger toward legacy code, often blaming previous developers. Shah suggests that these feelings should be recognized and reframed using cognitive restructuring techniques from therapy. - **Two Applications Case Study**: - Shah recounts his experience with two legacy applications at the same company: - The first application was abandoned and later scrapped after recognizing its insurmountable flaws. - The second application was in production but suffered from significant usability issues and a lack of automated tests. - **Coping Strategies**: Shah discusses how he learned to cope with the stress of legacy code by focusing on collaboration, communication, and kindness, both towards the code itself and the humans involved in the process. He encourages developers to be compassionate to themselves and the original authors of the code. - **Cultural Reflection**: The talk highlights the negative effects of blame culture within organizations that can hinder productivity and learning. Shah emphasizes creating a supportive culture where developers can collaboratively manage legacy code rather than taking sole responsibility. - **Joy in Learning**: Ultimately, Shah concludes that legacy code can be challenging but also provides opportunities for learning and growth when approached with the right mindset. In conclusion, Shah highlights that fostering a culture of kindness, both with code and amongst team members, leads to better outcomes in software development and personal fulfillment. He encourages developers to approach legacy code as a partner they can learn from rather than an opponent.
Suggest modifications
Cancel