Учиться программированию можно разными способами. Например в в ВУЗе или колледже. Можно пойти в заведение, где хорошая подготовка, участники участвуют в конкурсах, хакатонах, олимпиадах. Помимо профильных направлений программированию, из математиков выходят хорошие программисты.
Учиться можно на Ютубе по видео. Но не очень эффективно. Наверное самый неэффективный способ. Но кому-то заходит, кто хорошо воспринимает аудио-видео. Этот способ можно использовать в дополнении к другим.
Можно обучаться самостоятельно, дома, по книгам. Сейчас их достаточно много. Как по программированию в целом, так и можно изучать определенные языки программирования. Правда проблема книг в том, что они достаточно быстро устаревают, а обновляются долго. Поэтому, если вы выберите этот способ, берите те книги, которые помогут вам всегда. Например Совершенный код Макконнелла отличное дополнение для прокачки.
Хороший способ найти ментора или наставника. По сути это преподаватель, который будет учить вас. Примерно как раньше был мастер и его подмастерье, вот такая же идея. Способ хороший, если наставник (учитель) сильный.
Последний вариант, который наверное больше всего набирает популярность, это онлайн-курсы. Ходить никуда не надо, учиться можно в своем темпе. Здесь я лишь подскажу, что школы бывают разные, специализации у них разные, поэтому смотрите отзывы, выбирайте то, что вам ближе. Премущество школ в том, что они более гибкие по плану обучения, быстрее адаптируются на современные запросы. Т.е. если вам нужна специализация, профессия, за короткий промежуток времени, то курсы подойдут.
Вообще, я сам учился на курсах. Раньше (в 2018 году) на них смотрели как-то так, не особо. Типа во, выпускники чототам, ничего не умеют и тд. На деле же все хорошо. Выучился, работаю, помогают другим. :)