IQ слабо решает, высшее образование тоже, тут удача и смекалистость, языки программирования надо изучать с легких, как паскаль и пайтон. Обучаться в процессе, придумывать костыли, страдать от ошибок, гуглить. Выбирать легкие цели, иметь подходящий склад ума и удовольствие от процесса
Из личного опыта могу сказать, что у некоторых людей есть предрасположенность к программированию больше, чем у других людей. К примеру у нас на курсе был мальчик, которому было достаточно один раз прочитать меж строк и он всё слёту схватывал. Мне приходилось читать по пять раз один и тот же материал, сидеть ночами и искать разные источники. Это не помешало мне построить карьеру в сфере ИТ. Так что не имеет значения какой у Вас IQ, не имеет значение сами Вы обучаетесь или пошли в универ, главное чтобы у Вас было желание развиваться и работать над собой.
Программирование и разработка ПО - это определенный склад ума. Например: я не математик, а гуманитарий. Я знаю теорию, может, не хуже некоторых сисадминов (потому что интересуюсь), но на своём описательном уровне, а в мелочах мне разбираться не дано. Может в будущем, когда в коде копаться будет только искусственный интеллект, а визуальное программирование заменит нынешнее объектно-ориентированное, гуманитарии смогут что-то разрабатывать.