En fait, Dexter c'était tellement un génie qu'il pensait à l'éthique quand il créait ses choses, et il y rajoutait un bouton "autodestruction". 
Pour ce qui est des bugs hors conception, c'est le job des tests unitaires de *tout* déceler. (Dans la pratique, on sait tous comment on aime implémenter nos classes pour qu'elles soient compatibles avec les bousins des libs standard.
)
Pour ce qui est du reste, je suis moi aussi un type qui perd 50% de sa productivité à réinterroger encore et toujours ma conception et les éventuels bugs qu'elle peut entrainer ; mais sous la contrainte du temps, tu peux pas vraiment te permettre de perdre 50% de ton temps (même si sur le long-terme c'est 100% gagné). Ca paraît con, mais le peer-review aide à fond à ce niveau !
Sinon, L-orgue-e-yeux, le business model typique en IT, c'est soit t'es employé dans une équipe très restreinte dans une entreprise pour faire un logiciel sur mesure (généralement assez rare, et perso, je pense pas souhaitable comme position), soit t'es consultant et tu fais un "bricolage" où ça va du tout au pire, ou soit - et principalement - tu te retrouves dans une boite qui fait un logiciel pharaonique dont la vente à plusieurs clients amortit les coûts (pharaonique étant conditionné par une généricité suffisante pour couvrir les besoins de base de tous les clients).
Faut t'y faire, hein, en IT, tu vas très probablement te retrouver dans ce cas de figure. 