Забудьте про математику, это устаревшие представления из 70-х, когда компьютеры были просто большими калькуляторами и использовались как таковые.
Программирование это в первую очередь написание текстов, а разработка ПО - понятных текстов. Не математические рассуждения. Журналист или писатель больше подходит под работу разработчиком ПО, чем профессиональный математик!
Как и для любой инженерной специальности, склад ума, в первую очередь, должен быть такой, чтобы концентрироваться на решении проблемы, а не на неважных деталях.
Теперь, можно ответить конкретно на ваш вопрос.
Самый важный и часто используемый ментальный навык, которым нужно обладать в разработке ПО, безусловно, это умение абстрагировать, и свободно перемещаться вверх и вниз по уровням абстракции, когда требуется.
Исходный код программ, а тем более вся программа в целом, как сущность, не существуют нигде кроме как в воображении разработчика ПО. В реальности происходит изменение степени намагничивания в разных областях жёстких дисков и напряжения на проводниках подсветки экранов. Всё остальное происходит в голове.
Понятия начального загрузчика, операционной системы, запуска программ, треды параллельного исполнения, алгоритмы, структуры данных, наследование классов, система модулей, конверсия типов данных, и прочая, и прочая --- всё это вещи, которые нужно держать в голове и жонглировать ими, опираясь только на текст исходного кода, находящийся перед глазами. Глядя на четыре строчки кода, описывающие подпрограмму, вам нужно уметь мысленно представлять её буквальное место во всей остальное программе, и связи её с другими подпрограммами. Поток данных и поток управления, протекающие через программу, когда она будет выполняться.
Существуют полностью слепые программисты. Это возможно, потому что они могут прочитать исходный код через скринридеры, а вся остальная работа происходит в голове. Для набора текста смотреть на клавиатуру тоже не нужно.
Если для вас манипулирование абстракциями в уме это не естественно, или вы не умеете это делать или, что важнее, не хотите этому учиться, то, боюсь, вы не сможете работать разработчиком ПО эффективно.