Стивен Макконнелл, Роберт Мартин (дядя Боб), Мартин Фаулер - имхо, обязательно их нужно прочитать, а то и не раз.
Дональд Кнут, Эрих Гамма и компания - уже по желанию, но всё же рекомендуется к прочтению.
Дальше уже, кмк, можно смотреть по необходимости. Например, мне видится очень правильным (при разработке сложных систем) подход DDD, тогда в список можно включить Эрика Эванса, Джима Нильсона, Вона Вернона.
Да, еще стоит упомянуть таких авторов как Кент Бек и Алистер Кобёрн