it's 3:00 a.m. your code is broken you have no idea where your kids are and you're starting to wonder if building your own operating system kernel from scratch was a bad idea when this happens it's time to whip out your rubber duck what you do is teach your imaginary friend how your code Works line by line the duck is a great listener who won't judge and criticize you normal people will think you're crazy which you are but verbalizing your thought process out loud is a weirdly effective way to trigger a higher level of cognitive functioning even senica knew this 2,000 years ago who said while we teach we learn magically that missing semicolon on line 6233 becomes glaringly obvious not only does rubber duck debugging make you more productive but it's also a great way to prepare for all your upcoming technical interview failures