Whether your preferred origin story is the moth caught in the relay, or the cockroach in the valve tube, there comes a time when you need to start teaching the art of debugging code. Many firms overlook this critical aspect of training, assuming that engineers already have debugging skills ingrained - don’t believe me? Just ask any of your developers - who taught you to debug code?
An understanding of solid debugging principles not only reduces debugging time, it can greatly improve initial development time. Reflecting on our own debugging behaviour, we have distilled our hard-earned experience into a set of named principles and matching practice that provide a faster ascension to competency, such as:
Add Complexity Iteratively - start simple, test, commit, increase complexity, repeat. Supports faster delivery, early observation and correction of bugs.
Example usage: Building a complex modal form for posting data to an api from a React front end.
Every Commit Tells a Story - the commit stories should give a good indication of when / where a bug may have been introduced.
Rollback / Reduce Complexity - used with Every Commit Tells a Story and Add Complexity Iteratively to pinpoint problems.
Engineers on our ZeroToHero program learn a range of diagnosis techniques, tools and good practice to kick out the bugs, improve delivery speed and build more reliable software. As all techniques and principles are documented and practised, your ZeroToHero engineers will always have a reference point, and will be better placed to communicate, nurture others and succeed.