Года три назад я наткнулся на статью, где автор перечислял навыки, которые он бы рекомендовал прокачать каждому человеку. Ну, знаете, там — «получить водительские права», «научиться скорочтению» и прочая муть в стиле бизнес-молодости. Среди списка было один странный совет — научиться программировать. Тогда я счёл это идиотизмом. Меня это даже разозлило. Я хорошо разбирался в программировании и считал этот навык элитарным и далеко не для всех...
Слесарю слесарево, ёптэ. А вот сегодня, пролетая где-то над Уралом рейсом Барнаул-Москва и разбирая подготовленные для меня одним сотрудником файлы, с кучей мелких косяков, логических нестыковок и недочетов — осенило: он просто не видит причинно-следственные связи и не обращает внимания на мелочи. Потому что его этому никогда не учили!
Освойте какой-либо язык программирования.
Для чего?
В первую очередь, это обострит ощущение причинно-следственных связей.
Во вторую — умение программировать учит нас обращать внимание на мелочи.
Оба эти аспекта — и обострённое чувство причинно-следственных связей, и внимание к мелочам — чертовски полезная штука. Во всех отраслях жизни. От общения с людьми (когда мы можем на несколько шагов просчитать последствия наших действий, если наша картина мира — адекватна, а логика — безупречна). До умения быстро понимать принципы работы сложных устройств.
Умение обращать внимание на мелочи, (пока они не переросли в большие проблемы) — прекрасно воспитывается дебагером (отладчиком программ). В нашем характере есть что-то такое, что постоянно толкает любую работу накидать на черновую. Большими мазками. И, потеряв интерес, не закончив на 95%, бросить. Или оставить на доводку другим, а самому идти дальше, «заниматься глобальными вещами». Именно поэтому мир вокруг нас сильно перекосоёбило, и так не хватает тех, кто умел бы доводить дело до конца.
И именно внимание к мелочам отличает зрелого человека от ребёнка. Вам будут рады в любой компании, если вы воспитаете в себе два этих качества.
Какой язык?
Тут сложно давать рекомендации. Технологии меняются чуть ли не каждые 4 месяца. Но не распыляйте силы. Нет цели освоить все технологии (если вы не программист). Есть цель прокачать ощущение причинно-следственных связей и внимание к мелочам. Если бы я начинал сегодня — наверное, это был бы JavaScript/Node.JS.
До какого уровня изучать?
Тоже все непросто. Много стало «начинающих программистов», которые научились «ставить джумлу и чуть-чуть менять шаблон под себя». К сожалению, этот уровень никому не нужен. Особенно вам самим.
Изучайте язык до такого уровня, когда сможете написать на нем на бумажке какой-либо процесс реального мира. Именно на бумажке (без постоянного тырканья в окно отладки и подсказки умного текстового редактора). Когда это придет, когда вы научитесь думать на формальном языке, следить за логическими связями — цель будет достигнута.
Возможно, это займет у вас полгода интенсивной работы над собой. Но ваши акции на рынке труда сильно вырастут.