Учиться, учиться и еще раз учиться. Топ 5 любимых бесплатных курсов.
Функциональное программирование на языке Haskell. Имеет смысл выполнять все задачи и тогда вам откроется истина. Но вы никогда уже не станете прежним. ;) stepik.org/course/75/syll…
Теория решения изобретательских задач. Можно ли научиться изобритательству? Ответ по ссылке.
Мало относится к программированию, зато много к инженерной культуре.
openedu.ru/course/urfu/TR…
Теория категорий от @_bravit. youtube.com/watch?v=gpifdH…. Для категоричных любителей теории.