Время от времени встречаю в русскоязычном секторе интернета пессимистические мнения насчёт (само)обучению программированию. У американцев я подобного не наблюдаю. Там пессимизм проявляют компании, которые отчаялись в поиске программистов. В русскоязычном же секторе имеются такие утверждения:
-
Что учиться надо со школы и если вам уже за 20 (30 или 40), то поздно даже начинать.
-
Скоро ИИ сам научится программировать и люди уже не будут нужны.
-
Благодаря курсам, программистов станет так много, что они заполонят всю планету, соответственно упадут зарплаты.
-
Рано или поздно программист так сгорает, что питает само отвращение от прикосновения к клавиатуре.
Честно говоря, четвёртый пункт меня самого пугает. У меня так друг сгорел. Он со школы программировал на плюсах и где-то в возрасте 30 лет отложил ноут со словами, что на этом всё. Иногда он возвращается в программирование, чтобы сделать что-то срочное для себя, но делает это с таким отвращением, будто раскапывает какую-то могилу. Я вместе с ним учился программировать в школе, но выбрал язык попроще Турбо Паскаль 7. Затем перерыв в 25 лет. Скоро мне 44 года и в 40 лет вернулся к программированию. Меня не пугают первые три пессимистических пункта и почему так, я отвечу ниже.
Как я вернулся в программирование спустя 25 лет?
Сейчас я работаю офисным хомячком, зарплата у меня так себе. Конечно, планирую начать работать, как программист, как только подучу недоученное. Перерыв в 25 лет, конечно, огромный. Языки поменялись. Но со школы я помнил, что в любом языке есть основная структура: переменные, функции, циклы и логические вентили. Изучив эту основу будет уже достаточно, чтобы выполнить необходимую задачу, которую мне выдал начальник. Дал он мне пять таблиц от пяти компаний. В каждой таблице название товара и цена напротив. В каждой таблице по тысячу рядов, в каждом ряде по 4 колонки. Задача проанализировать все пять таблиц и сделать на основе их шестую таблицу с наиболее выгодными ценами. Так как тогда я программировать не умел, начал делать это вручную, где-то на сотом ряде я начал ошибаться, голова закипела и вообще подобные рутины я не люблю. Начал искать какие языки появились, где можно изучив минимум справиться с задачей наиболее быстро. Почитав различные мнения, решил попробовать Пайтон.
Первый месяц изучение шло с болью. Я криво делал, выскакивали ошибки, злился, спрашивал в интернете, меня называли дебилом, бросал самообучение. Но задание от начальника меня вновь возвращало в программирование. Через три месяца я такую программу сделал. Как только поступали свежие таблицы, я запускал свой скрипт и он менее чем за минуту справлялся с поставленной задачей. Но начальнику я не бежал сдавать работу сразу. Вместо этого я сидел с красным лицом, изображал как пыхчу над его сверхсложной задачей, а занимался на самом деле своими делами. Но актёр из меня плохой и меня попросили написать пароль от моей учётки. Мне стало интересно, что они будут делать за моим рабочим компьютером? Немного покумекав я решил сварганить кейлогер со скриншотами на языке Пайтон. Небольшая программа в 15 строк записывала все нажатия и делала черно-белые скриншоты в плохом качестве. Каждый скрин весил по 8 кб, всё это сохранялось в облаке, мне на мыло приходило уведомление об активности.
Сделав расширение pyw, я прописал скрипт в автозагрузку. И назвал его невинно, притворился системным процессом. Так как это был скрипт, то антивирус его не воспринимал как кейлогер. В мой выходной день мне пришло уведомление, начальник просматривал мою активность в браузере, открывал папку recent и прочее в подобном духе. Я, конечно, ожидал подобное, поэтому подтёр за собой, оставив только запросы касающиеся работы. Через какое-то время мне дают новое задание связанное с финансовой деятельности компании, надо было через интернет заходить в банковскую учётку компании, не буду вдаваться в подробности, главное требование делать без ошибок, которые естественно, я совершал, благодаря человеческому фактору. Потом имел серьёзный разговор с начальником, требование быть внимательным, высыпаться, делать зарядку и прочее. Снова решил найти решение в программировании. Так я изучил парсинг и отправку запросов. Скрипт был написан за пару часов, он безошибочно делал свою работу. Вскоре банк внедрил защиту от подобных скриптов. Поискав альтернативное решение, так я узнал о виртуальных клавиатурах и мышках. Это вносило некоторые неудобства. Селениум мог работать в фоне, а с виртуальной клавиатурой я не мог что-либо трогать пока скрипт работает. Но это давало не отслеживаемую работу скрипта. Как потом выяснилось, подобные скрипты используются для написание ботов в браузерных игрушках. Один из которых я себе сделал. Ведь по мнению разработчика, я должен был неустанно смотреть в экран, тратить на это кучу времени и спать по 4 часа в сутки. Я с этим был не согласен. К боту было прикручено распознавание образов, бот открывал карту, искал пещеры в округе, посылал войска на добычу, следил кто ведёт атаку, вовремя уводил войска из под удара. Обучил бота также военным хитростям. Запускал на ночь, утром просыпался с кучей ресурсов. Совершенствовал бота, то сервер таймаут выдаст, то ещё какая-то ошибка появится.
Совсем недавно, у меня закончилось место на жёстком диске, быстренько за пару минут был написан скрипт, который пробежался во всему диску и выдал мне список объёмных файлов. А так как это мой скрипт, то я начал накручивать функционал. Например, добавил фичу, если на диске появляется новый объёмный файл, то скрипт немедленно об этом сообщает. На создание подобного скрипта я потратил меньше времени, чем на поиск готового решения (и скорее всего платного).
Однажды, мой друг жалуется мне, что на его сервере в логе фиксируется ошибка. Лог большой, почти гигабайт. Друг знает только VB (и не желает переобучаться). Он рассуждал вслух как сложно будет сделать такой скрипт, который вытащит из лога только записи с ошибкой. На спор я доказал, что такой скрипт делается за пару минут. Скрипт потратил три минуты на обработку лога и выдал необходимый результат.
Выводы
Я использую программирование для себя, для устранения рутины. И это является главным мотивирующим фактором, который всё глубже и дальше толкает меня в программирование. Я приступил к изучению других языков, чтобы держать нос по ветру. Выскажу своё мнение насчёт третьего пункта. Об этом пишут в основном молодые люди, я помню по себе, когда ты молод, то кажется, что будешь жить вечно. Но где-то в 42 года осознаешь, что если не сядешь на диету, не начнёшь заниматься спортом, то очень скоро забегаешь по врачам. Подагра, диабет, рак, ожирение и ещё много чего вас поджидает, если не начнёшь вовремя думать о своём здоровье. Начинается борьба со своими желаниями за выживание. Одним словом, программисты — смертные, и они не заполонят планету. Плюс личные трагедии, которые выбивают людей из профессии. Например, мой хороший знакомый, не пил, не курил, спортом занимался, но жена обвинила его, что он много времени проводит за компьютером и ушла от него к соседу наркоману (классика жанра). Данное обвинение он воспринял так глубоко к сердцу, что забросил программирование, ушёл в страховой бизнес дабы повысить своё общение с людьми. Я пытался ему объяснить, что когда женщина уходит, она найдёт в чём вас обвинить, но он меня не понял.
Я как-то озаботился и решил подсчитать сколько людей в мире причастны к кодингу. Взял статистику по странам, налоговые выписки, в статистику вошли даже html кодеры. Так вот выяснилось, что от общего населения Земли к кодингу причастны всего 0.3%. И это касается не только программистов, это общая цифра по всем специалистам в разных направлениях. Я смотрел пару лет назад, может быть сейчас цифра изменилась. Но вряд ли при такой удручающей статистике по рождаемости. В США в 2021 году умерло 3 млн 450 тыс. и было сделано 850 тыс абортов, в России умерло 2.5 млн и было сделано 450 тыс абортов. В России также 80% разводов и эта статистика напрямую связана с количеством самоубийств среди мужчин в трудоспособном возрасте. То есть, очень высока вероятность, что мужчина добровольно уйдёт из жизни после развода. В других странах северного полушария планеты статистика не лучше. А каких-то 120 лет назад городская женщина рожала минимум 4 ребёнка, а деревенская 10. И это считалось нормой, обыденностью. Разводы почти отсутствовали. Но тогда законы были кардинально другими. Алиментной системы не было, например. А если женщина уходила из семьи, то дети оставались с отцом по умолчанию. Мужчины знали об этом и боялись такого развития события. Выгодно было быть в браке, чем в разводе. Сейчас наоборот.
Так что, не беспокойтесь, изучайте программирование, а то возможно в будущем некому будет изучать.
Автор:
Valkea