“If debugging is the process of removing software bugs, then programming must be the process of putting them in.”