Пройдите курс по направлению «Computer Science»
Если вы только собираетесь делать свои первые шаги в программировании и не знаете, с чего начать, то Там вас научат азам программирования, так что после их прохождения вы будете относительно неплохо знать какой-либо язык программирования и писать качественный код.
Выучите объектно-ориентированный язык программирования
Объектно-ориентированное программирование сейчас является стандартом в промышленном программировании, поэтому и хорошая зарплата вам гарантирована. Примерами таких языков являются C++, Java, Python.
Осваивайте другие парадигмы и языки
Расширяйте свой программистский кругозор, не стоит ограничиваться одним ООП, осваивайте другие парадигмы, учите другие языки, пробуйте себя в разных сферах. Например, если вы хотите разрабатывать веб-приложения, то однозначно стоит обратить внимание на CSS, HTML, JavaScript, PHP, Ruby. Хотите экзотики? Посвятите немного времени Haskell, Clojure, Prolog.
Тестируйте код
Ошибке в коде не нравятся никому: ни вашему тимлиду, ни тестировщикам, ни заказчику, ни конечным пользователям. Поэтому тестируйте свой код.
Развивайте логическое мышление, выучите дискретную математику
Если вы хотите делать в своей жизни что-то более интересное, чем до конца дней писать сайты, то без этого вам не обойтись.
Знайте алгоритмы и структуры данных
Невозможно представить себе хорошего программиста без знаний алгоритмов и структур данных.
Разберитесь, как устроены операционные системы
Любая программа взаимодействует с ОС, поэтому выработайте понимание того, как устроены операционные системы, хотя бы на базовом уровне.
Выучите UX-дизайн
Если хотите, чтобы вашим приложением было удобно пользоваться, а значит, чтобы его покупали.
Разберитесь в машинном обучении
Человечество с давних пор мечтает об искусственном интеллекте, и сегодня эта мечта близка как никогда. Если вы хотите поучаствовать в ее осуществлении, то станьте специалистом в области машинного обучения — молодой, но активно развивающейся науке.
Разберитесь, как работают компиляторы
Многие программисты пишут код и даже не задумываются, как он преобразуется в понятные компьютеру инструкции. Если вам это интересно, то изучите то, как работают компиляторы.
Работайте над своим проектом
Практика жизненно важна для всех, кто хочет быть программистом, поэтому в свободное время работайте над своим проектом: например, создайте или поддерживайте веб-сайт или соберите робота.
Участвуйте в open source-проектах
Это поможет вам развить навыки работы с чужим кодом, да и в конце концов вы просто будете приносить пользу человечеству.
Работайте над проектами вместе с другими программистами
Это поможет вам научиться работать в команде, что является неотъемлемым навыком в современном мире, а еще вы сможете научиться у них чему-то новому.
Участвуйте в соревнованиях по программированию
И решайте алгоритмические задачи, ведь это помогает держать ваш мозг в форме, углубляет понимание алгоритмов и структур данных, да и вообще это неплохой способ провести время?
Найдите себе ученика
В области, в которой вы неплохо разбираетесь. Как ни странно, но обучение кого-то какому-либо предмету помогает самому углубить знания в этом предмете, а еще неплохо развивает навыки коммуникации.