Yarden Laifenfeld is a software engineer and developer advocate at Dynatrace. With a deep background in C and embedded Linux environments, her current focus is coding in Go and diving deep into its internals. She is also on the organizing team of both GopherCon Israel and Women Who Go Israel. She loves to speak at conferences, and when she’s not at her keyboard, you can usually find her next to her sewing machine.
As developers, we have many skills we use and constantly improve when writing code. But when it comes to debugging, most of us go for a primarily research-based approach, asking ourselves questions like “how did this bug happen?” and “what in the code is causing this behavior?“.
By taking this approach and asking these questions, we’re treating our codebase like it’s a mystery and the bug like it’s a malicious piece of code injected by some evil entity (when, let’s admit, that’s usually not the case). This means that we are leaving the skills we pride ourselves on having as developers - such as logical thinking, designing code and problem-solving - behind. This causes the debugging process to be that much harder and more time-consuming than it has to be.
In this talk, I will present a different approach to debugging, one that takes advantage of our programming abilities and utilizes them to find bugs faster all while improving our software development and design skills.