Programmers often discover solutions while explaining a problem to someone else, even to people with no programming knowledge. Describing the code, and comparing to what it actually does, exposes inconsistencies. Explaining a subject also forces the programmer to look at it from new perspectives and can provide a deeper understanding.



Do you squeeze them until they squeak?
… Actually one of my coworkers did squeak like one. She figured out why I called about 5 seconds in and just went “squeak”, which made me burst out laughing, and honestly it just got my brain where it needed to be even quicker