Preventing bugs
What if you didn’t need all your debugging skills and tools?
Imagine a future where you write code and there are no bugs. Working backwards from that future, what would have to change about development?
At the ideation and design stage, you would need complete specifications. All edge cases were accounted for and documented.
At the development stage, you would need to translate these perfect specs into code with 100% accuracy. All code paths and possibilities are exercised and checked by a complete set of tests. All the tests are bug-free, as well.
This all sounds pretty ideal and a little impossible. We are humans; we make errors. I also conveniently left out that every tool, library, driver, etc. used would have to be bug-free too. We work in an ecosystem and build on top of a lot of infrastructure.
It’s worthwhile thinking about how you can change your development to get one step closer to this ideal. I think it’s also worthwhile to be capable of debugging because you’re going to need to do it. Hopefully less frequently, but still critically.
P.S. This is actually a huge topic, and I’m excited to explore it more with you.