Программирование это же не какой-то магический скилл. Типа: прошел курс, вжух и ты "программист".
Я в профессию пришёл с аттестатом о среднем полном и смешными вещами в резюме, в графе "опыт": ставил друзьям винды, поставил генту по хэндбуку, "настроил сеть из 3 ПК", "написал бота для онлайн игры". То, что в кавычках - реальные формулировки из первой версии моего ITшного резюме, с которым меня взяли эникеить в поликлинику.
Собственно с бота для меня программирование и началось. Тогда я уяснил: программирование-это та штука, которая позволяет повторяющиеся действия делегировать машине. С этой мыслью с тех пор и живу.
Каждый раз когда я вижу то, что мне придется повторять более одного раза - юзаю инструменты автоматизации, коими языки программирования и являются.
Сначала это был AHK. Позволяет заскриптовать нажатия клавиш и движения мыши. На нем и был написан первый бот.
Потом, когда надо было разом сменить ярлыки всем терминальным пользователям(50+, centos), я начал первые опыты с bash ибо AHK-сугубо виндовая приблуда.
Потом был провайдер. Это когда у тебя сотни сетевых железок и периодически надо выполнять одинаковые действия на каждой из них. Стало больше баша. Функционала биллинга перестало хватать-подтянулся php.
В какой то момент bash одолел своей неуниверсальностью и неудобствами связанными, например, с экранированием.
Прочитал первые 50-100 страниц книжки Лутца(те самые, в которых рассказывается почему именно python охрененный) и начал решать свои какие-то прикладные админские задачи с помощью питона.
Потом надо было написать веб-морду. Одну написал, осознал, что всё, что говорят про php - правда. На следующей нужной вебморде освоил django. Захотелось добавить интерактивности страницам - Добро пожаловать в удивительный и загадочный мир, где 1+1==11. Мир JS. Потом мне понравился подход с разделением вебного на бэк и фронт. Пришло осознание что jQuery для этого неудобен. Начал юзать фреймворки.
Сейчас мне понадобилась многопоточность и ее реализация в питоне мне решительно не нравится. На очереди Go.
Где-то в фоне созрело понимание что git - нужен. А IDE - удобнее блокнота.
Опять же, я продолжал решать Ops-овые задачи. Только вот IDE сворачивать ради них приходилось все реже и реже. Я говорил в начале, что автоматизирую все, что нужно делать более одного раза. Так вот: опыт показал, что более одного раза надо делать практически всё. Полностью или частично. И лучше бы, чтобы во второй раз, спустя год, у тебя сохранилась инструкция как это было сделано в первый раз. Код ансибл-плейбука - хорошая инструкция.