A software developer has various responsibilities—most of which depend on how they understand the code they are working with. Software developers spend much of their time analyzing code to figure out how to correct issues, implement new capabilities, and even learn new technologies. And time is precious, so developers need efficient investigation techniques to be productive. Learning how to be efficient in understanding your code is the main topic of this book.
NOTE
Often, software developers use the word debugging for any investigation techniques; however, this is only one of the various tools available for examining logic implemented as code. While debugging should mean “finding issues and solving them,” developers use it to name different purposes for analyzing how code works: