The Intuitive Programmer

Debug early and debug often

As a new software developer, it is your responsibility to understand the product that you are developing for and ask questions in instances where you do not know the answer. Having spent the better part of my career in marketing and graphic design, I’ve developed an astute ability to listen and ask good questions. While developing a technological understanding of the tools is important and necessary, I found that augmenting the technical learning with practical business domain understanding was critical in allowing me to develop a fluency in the product that I was working with. Between each and every goal, between each and every gap in knowledge were small incremental steps towards understanding. Mindfully we take these steps and enjoy the process of stepping forward with our foot grounded in our very best understanding of the problem. Maybe it’s bad engineering, and most people reason with problems differently. I don’t know, it’s hard to say exactly what route is the best route and that’s why it’s mostly just important to find what works with you and to reinforce it. The debugger works for me but admittedly even I’m questioning that tactic, and recognizing that my style will evolve over time and that’s a process you’ve got to fall in love with.