>нужно было разбираться с тем, как составляются требования, писать нужно было не столько какой-то хитрый алгоритм, сколько заплатку к уже написанному коду на миллион строк, и нужное место для заплатки в этом коде нужно было как-то найти, кроме этого нужно было разобраться в управлении конфигурацией (версионированием), системой управления изменениями, наладить отношения с менеджерами и тестировщиками, понять суть принятой в проекте методологии разработки и т.д. — при этом ничему этому в ВУЗе не учили.
В этом направлении есть советские исследования - Горбунов-Посадов М.М. Конфигурации программ