Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
The Good Bad Bug: Fail Your Way to Better Code by Jessica Rudder Programming history is filled with bugs that turned out to be features and limitations that pushed developers to make even more interesting products. We’ll journey through code that was so ‘bad’ it was actually good. Along the way we'll look at the important role failure plays in learning. Then we’ll tame our inner perfectionists and tackle an approach to writing code that will help us fail spectacularly on our way to coding success.
Date
Summary
Markdown supported
In her talk titled 'The Good Bad Bug: Fail Your Way to Better Code' at RubyConf 2017, Jessica Rudder explores the educational potential of failure within programming and software development. The presentation examines how failures can lead to significant learning opportunities, particularly by contrasting the aviation industry's approach to data collection on failures with that of the automotive industry. Rudder emphasizes that while aviation treats failures as systemic learning opportunities, the automotive industry often blames individual drivers, leading to a lack of data collection. Key points discussed include: - **Definition of Failure**: Rudder provides a clear definition of failure as a deviation from expected results, stating that programmers frequently encounter failures as they strive to achieve the desired outcomes. - **Learning from Video Games**: Rudder illustrates how video game development has historically embraced failures, using examples like *Space Invaders*, where an unintended speed increase of the aliens became a defining feature that introduced a new game mechanic called the difficulty curve. - **Case Studies**: The talk presents various case studies from the gaming industry, including the creation of the *Grand Theft Auto* series, which originated from a failure in the game design where the cops were overly aggressive. By letting testers engage with this unexpected behavior, developers capitalized on failure to create a bestseller. - **Systemic Approach to Failure**: Inspired by aviation practices, Rudder argues for a systematic approach to handling failures in programming, suggesting that teams should avoid placing blame, document failures, and analyze patterns. This encourages learning and innovation. - **Creating a Healthy Culture**: Rudder emphasizes the need for a culture that supports learning through failure instead of punishing mistakes. She shares her personal experiences with failure in her career and advises on developing a supportive environment among team members. - **Encouragement of Safe Experimentation**: Finally, Rudder encourages developers to embrace experimentation, stating that real growth occurs when individuals can learn from their mistakes without fear of repercussion. The main takeaway from Rudder's talk is the importance of reframing failure not as a setback but as a crucial part of the learning process in programming. By adopting a mindset that sees failures as opportunities to gather valuable insights, developers can foster a more innovative and collaborative work environment.
Suggest modifications
Cancel