Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Keith Pitty This is a sentiment many Rails developers have experienced whilst reading a legacy codebase, trying to glean the motivations behind the code or simply understand what it is meant to do. This talk turns that perspective on its head and asks, “what can I do to prevent this scenario?" Keith Pitty has been developing software professionally for more than three decades. Since 2000 he has maintained a keen interest in Agile approaches and for the last ten years has made many contributions to the Australian Ruby community. He has been fascinated by how developers consider other people when developing software since his early days of programming on mainframes. Away from computers he enjoys golf, is a cricket tragic and a passionate Collingwood supporter. #ruby #rubyconf #rubyconfau #programming
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 his talk titled "What were they thinking?" at RubyConf AU 2019, Keith Pitty delves into the common challenge faced by developers when grappling with legacy codebases. He poses the critical question of how one can avoid creating a state of code that leads others to wonder about past decisions. Drawing from his extensive experience in software development and his involvement in the Australian Ruby community, Pitty outlines several key strategies to ensure codebases remain maintainable and understand the human factors involved in software creation. Key points covered in Pitty's talk include: - **Understanding Design Quality**: Emphasizes the significance of internal software design and how adherence to design principles, like those of simple design proposed by Cory Haines, can prevent issues. - **Refactoring as a Practice**: Defines refactoring and its role in improving code structure, highlighting the necessity of automated testing to maintain code integrity during refactorings. - **Importance of Upfront Planning**: Advocates for thoughtful design before coding, citing Simon Brown's C4 model that encourages considering context and architecture to avoid future complications. - **Peer Review Culture**: Discusses various forms of code review, including pair programming and pull requests, and highlights the need for consistent code evaluations to enhance design and detect mistakes early. - **Maintenance and Technical Debt**: Stresses the need for a culture of regular maintenance akin to car servicing, including load testing, security updates, and keeping software current. - **Influencing Stakeholders**: Talks about the importance of communication with business stakeholders, underscoring the need for software developers to effectively advocate for practices that lead to high-quality, maintainable code. - **Continuous Flow Philosophy**: Introduces a philosophy that moves away from traditional project-based work towards a mindset of continuous delivery and value generation. - **Agile Principles Reevaluation**: Reflects on how Agile methodologies should simplify collaboration and delivery instead of adding complexity to development processes. In conclusion, Pitty suggests that developers can prevent the legacy code dilemma by practicing discipline in their coding habits and honing their persuasive skills to communicate the value of robust development practices to stakeholders. His experience serves to encourage a communal responsibility towards software maintainability for future generations of developers.
Suggest modifications
Cancel