Developers have many ways to advance their careers. Our resumes can fill up quickly when we take the right view of our tasks. However, the best results can come from learning from debugging. The ways that this sometimes frustrating task can lead us into career paths we never expected. Thus, what better place to start our positive view of the daily work challenges.
Small Bugs And Crippling Flaws
The label of “a bug” can sometimes seem about right. A typo we have to correct or a simple logic error that is easy to find fits that label. However, some of the things we struggle through take days or weeks, and “bug” seems like it minimizes the pain and anguish we go through. Sometimes these broader issues come from design flaws and a series of wrong assumptions. Unfortunately, we also can lose hours or days with a fix that takes seconds once we track it down.
Forced Learning
I think the most valuable outcome of learning from debugging is that it forces us to see as a computer does. We will have our view of computer logic corrected (or verified), and our general approach to algorithms will improve. This improvement applies to how we think and how we approach a broad range of problems. When we have to debug sections of code in detail, we will often see areas of improvement and ways to shortcut complex logic. All of these are indicators of a better developer.
Understand Our Creation
There is a logical context we have as we write code. It is hard to describe. However, for our purposes, think of a solution you have in your head that may or may not be related to the planned solution. We find ourselves evaluating snippets of code on the fly as we ply our craft. We are building models, after all. Thus, the model in our head is our guide to the source code we generate.
Episode Challenge: Are there recent bugs that taught you a great lesson? Or is a lesson waiting when you squash your latest bug?