Программисты, меняйтесь — или заменят вас!
Разработчики ПО никогда не переведутся, ведь за программами будущее, а создавать их — значит стать востребованным на многие годы вперёд. А так ли это?
mohamed_hassan / pixabay
Эли
(Elye)
Об авторе
Увлечён мобильной разработкой. Рад узнавать и рассказывать обо всём, что с ней связано.
Если спросить обывателя, какие профессии исчезнут в ближайшие десять лет, то он, скорее всего, назовёт работников, которых можно заменить машинами и программами: водителей, телеведущих, турагентов, спортивных судей и так далее. Навряд ли в эту компанию попадут программисты.
Разработчикам ПО бояться нечего, ведь за программами будущее, а создавать их — значит стать востребованным на многие годы вперёд. Так ведь?
Не совсем. И вот почему.
Разработчик ПО — самая быстроменяющаяся профессия
Оборудование проектируют надолго, а программы постоянно меняются. Потребность в изменениях — единственное, что никогда не изменится, поэтому программирование рулит.
Сперва программирование было низкоуровневым и машинно-зависимым — в двоичных кодах и на ассемблере. Затем появился язык C — уже среднего уровня абстракции. Сегодня же, если сказать, что вы программируете на C, вас, скорее всего, посчитают разработчиком железа, а вовсе не софта — то есть не совсем и программистом.
Профессия программиста, в отличие от многих других, в корне изменилась за последние десятилетия. И темп перемен лишь растёт. Стоит выпасть из неё на каких-то два года — и всё, что вы знаете, станет малоактуальным. А ещё через десять лет — вовсе бесполезным, устареют сами основы ваших знаний.
У меня есть друг — программист, который дорос до руководителя. Став управленцем, он тоже старался кодить, но год от года всё меньше. Через несколько лет подчинённые попросили его больше не лезть в разработку — слишком уж часто он ломал сборки.
Или, скажем, врач. То, что врач делает сегодня, отличается от того, что он делал лет десять назад, но по большому счёту то и другое всё ещё применимо. А вот программист сегодня и программист десять лет назад — это, по сути, две разные профессии.
В процессе разработки ПО автоматизируется много всего — больше, чем в любой другой области
Настало время, когда программы упрощают создание программ, автоматизация автоматизирует автоматизацию.
Марк Кьюбан
Представители многих профессий боятся, что их труд станет ненужным из-за автоматизации и искусственного интеллекта. Они считают, что будущее за разработкой ПО и людьми из этой сферы. Но мало кто понимает, что армию безработных могут пополнить и программисты — ведь их труд тоже автоматизируется.
Это значит, что работа программиста в текущем её виде завтра окажется невостребованной.
Автоматизация программирования не нова. Сама идея возникла в 1940-х годах — тогда понадобилось ускорить программирование перфокарт. Но на этом инженерная мысль не остановилась. Чтобы ускорить кодинг, были придуманы языки высокого уровня абстракции — иными словами, автоматизация добралась до низкоуровневого программирования.
Кода хотелось писать всё меньше, а получать результат — всё быстрее. Языки и подходы продолжали меняться — появились объектно-ориентированное и функциональное программирование.
Раньше тестирование и выпуск продукта давались потом и кровью целой команды, а сегодня это делает один скрипт, который автоматически запускает множество тестов.
Десять лет назад при ревью кода я следил за код-стайлом и форматированием, а несоответствия исправлял вручную.
Сегодня я даже не обращаю на это внимания, потому что при отправке в репозиторий код облагораживается автоматически.
И хотя до полной автоматизации программирования ещё далеко, разработчики ПО с каждым днём всё больше устаревают — это побочный эффект принципа «Не повторяйся» (DRY), которого все они придерживаются.
Начинающие разработчики лучше подготовлены к переменам, чем опытные
Мы верим, что молодёжь построит лучшее будущее, ведь она и есть наше будущее.
Джек Ма
Обычно чем дольше вы работаете, тем более опытным и ценным специалистом становитесь. Я вот предпочитаю обращаться к матёрым врачам, юристам или бухгалтерам, а не к новичкам. Но в сфере разработки ПО опыт не гарантия. Здесь всё меняется слишком быстро: то, чему вы научились за первые пять лет в профессии, в следующие пять сгодится лишь как пример отсталости тогдашних технологий.
Отрасль развивается, появляются новые языки программирования, и старому обычно предпочитают что поновее. Молодёжь приспосабливается к постоянным изменениям быстрее, чем опытные специалисты, её не тормозит груз старых привычек.
Да, опытные разработчики лучше оценивают риски, быстрее исправляют баги и тому подобное. Но благодаря автоматизации программирования справляться с такими задачами сегодня гораздо легче и нужные навыки приобретаются быстрее. Например, негодный код-стайл легко выявить с помощью линтинга, механизм автоматической обратной связи предупредит об ошибках и сбоях задолго до того, как ваш продукт выйдет в массы.
За плечами у меня более двадцати лет разработки, но почему-то именно я спрашиваю молодых программистов о чём-то новом, всё чаще учусь у них, а не наоборот.
Шансы молодых и опытных разработчиков сегодня уравнялись.
Уже не столь важно, старожил ли вы в разработке и какой опыт вы накопили. И новичка тоже признают не за ученический опыт: диплом вуза после выпуска уже немногим ценнее макулатуры.
Разработчики, меняйтесь раньше, чем заменят вас!
Профессия программиста с нами ещё надолго. Но сам характер работы и нужные для неё навыки здорово изменятся в ближайшие годы.
Знания и умения, которые понадобятся завтра, уже почти не угадать по тем, что ценились ещё вчера. Чтобы оставаться востребованным — эволюционируйте вместе с программным обеспечением, и не прозевайте что-то революционное.
Пока вы на гребне волны, ею вас не накроет.