Эти книги помогут тебе освоить общие навыки программирования: общее понимание принципов SOLID, GRASP, знание некоторых из паттернов GoF, умение писать тестируемый код и тесты, умение вести документацию, знание основных базовых алгоритмов и структур данных.