Надо брать с программистов клятву Страуструпа. "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделением памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет."
Однажды пришлось мне выступать в качестве заказчика весьма сложного проекта. На него были сугубо по старой дружбе уломаны два специалиста очень высокой квалификации. Когда они попытались объяснить рядовому программисту, как именно надо строить проект, что документировать и почему, он только жалобно-непонимающе мычал "Ыыыы..." В этот момент я окончательно утвердился в мысли, что IT, бывшие раньше конкурентным преимуществом, сегодня стали самым сильным фактором риска любого бизнеса.