Всем привет! Меня зовут Николай Губин, являюсь Backend-разработчиком в Авито уже четыре года. Работаю в Архитектуре и помогаю коллегам обеспечивать надёжность и безотказность наших сервисов.

Я тот, кто за пятнадцать лет пережил несколько революций в индустрии, каждая из которых выглядела как конец безбедной и счастливой жизни каждого разработчика. То, что я буду рассказывать вам дальше, очень субъективное мнение, которое я складываю на основе своего опыта и опыта моего окружения, у которого я учился, с кем я работал и кому помогал в развитии. Кроме того, это очень дискуссионная тема.

Содержание:

О чём поговорим

Вероятно, вы уже слышали, что «Айтишники ВСЁ»?

В один момент в разных источниках начали мелькать публикации под копирку, что некий Indeed опубликовал материал, в котором есть график с падением спроса на IT-специалистов до минимума, потому мне стало очень интересно (и тревожно, конечно же): а в чем причина?

Конечно же, виной всему оказались нейронные сети, искусственный интеллект и автоматизация.

Есть разные источники, где публикуются на регулярной основе новости, в которых красной нитью прослеживается мысль: IT-специалисты больше не нужны и со дня на день их заменит робот. В эту же копилку спекуляции вокруг ряда сокращений в крупных компаниях на западе или в нашей стране.

Но прежде чем удалить IDE со своего рабочего ноутбука и уйти на завод, я решил ретроспективно проанализировать историю — в первую очередь свою — чтобы заглянуть в будущее.

Тут еще больше контента

Посмотрим в прошлое

Первый свой Hello, world! я написал в блокноте, прочитав бумажную книгу, переданную через автобус из Москвы в мой родной город, где ни одной книги про программирование в тот момент не нашлось. Кроме блокнота, присутствовал также и VIM, но пользовались им не потому, что были адептами или не могли из него выйти, а потому, что альтернатив существовало не много.

Интересным инструментом для упрощения работы был сниппет. Это буквально кусок кода, кем-то написанный и распространяемый за деньги или в составе какого-то сборника. Им мог быть какой-нибудь кусочек кода или полноценный скрипт регистрации на сайте. Я копался в этих сниппетах и пытался их объединить во что-то целое.

На смену блокноту пришли IDE с автодополнением кода. Казалось бы, программистов можно уже задвигать на дальнюю полку истории, ибо теперь-то зачем изучать языки, если редактор сам предложит, сам дополнит. Ну ладно, тут, возможно, и рановато было бить тревогу, но скорость разработки, конечно же, увеличилась, ведь механических действий местами стало меньше.

Параллельно с развитие инструментов разработки у бизнеса появился спрос на сложные и интерактивные сайты. Вероятно, кто-то из вас помнит те прекрасные выпадающие меню, пёстрые эффекты при наведении на кнопки, монструозные плееры и прочий интерактив. WEB-технологии не могли похвастаться возможностями, но специалисты умело прикрутили к этому запросу технологии, созданные для анимирования графики.

Пока вы вспоминаете Flash игры, я бы вспомнил эпоху Dreamweaver. Это программа, в которой можно было собрать страничку без навыков вёрстки, однако доступ к исходному коду сохранялся, и при большом желании пользователь мог в нем покопаться. Это привело к одному из переломных моментов, ибо принцип визуального программирования врос корнями в индустрию, избавив нас от необходимости прописывать каждый тег и каждое свойство, чтобы собрать страницу. Опытные специалисты могли быстро набросать прототип, а новички могли пробовать использовать сложные компоненты и посмотреть на их устройство.

Следующим предвестником стали разного рода системы управления контентом: например, WordPress или Joomla. Да, это касается скорее web-разработки, но я выходец именно из этого мира, потому и могу вещать подробно про него. В этих системах уже закладывались разные компоненты, позволяющие без навыков собрать себе блог или магазин, загрузить его на хостинг и начать им пользоваться. В то время выгоднее было не просто верстать html-страницы, а создавать шаблоны под эти системы, чтобы оставаться конкурентоспособным. И тут начали появляться решения вроде Artisteer, где можно настроить визуальное отображение всех частей сайта и полученный шаблон установить в нужную систему.

Но бизнесу стало дорого обслуживать эти системы, ведь даже умельцы с опытом тратили какое-то время на создание проекта на CMS, потому новый запрос породил более гибкие инструменты, позволяющие в визуальном редакторе набросать блоки на базовый шаблон и получить готовый сайт со всеми нужными для бизнеса функциями, который сразу размещался на серверах конструктора, что исключало даже этап загрузки. Кроме того, типовые решения устраивали не всех потребителей, а популярные решения не могли похвастаться особой гибкостью и бизнес всё равно уходил к специалистам за помощью.

Кроме всего прочего, за это время внутренний мир IT-индустрии изменился до неузнаваемости. Сервисы на одном сервере — это уже несерьёзно, а потому мы разворачиваем наши системы в облаках в разных дата центрах с целью повысить доступность и стабильность нашего продукта. Вместо одного большого сервиса мы начали дробить их на части, потому как поддерживать огромный монолит становится невозможно и слишком дорого, а для этих целей у нас есть сложные системы вроде Kubernetes, которые позволяют весь этот зоопарк держать под контролем.

Конечно же, мы получили невероятное количество фреймворков и библиотек, решающих какую-то базовую задачу, чтобы мы не отвлекались на неё и могли заниматься той частью программного обеспечения, которое уникально для нашего бизнеса. В конце концов, роль разработчика стала более гранулярной, чтобы каждый специалист мог заниматься более нишевой задачей, например, фронтенд-разработкой или написанием серверной логики.

Жми сюда!

Аналогия с медициной

Давайте отвлечёмся от разработки, выдохнем и поговорим про медицину, которая нас окружает.

В 1735 году английский хирург случайно удаляет аппендикс во время оперирования грыжи, в 1895 году открытие рентгеновских лучей, в 2003 расшифрован геном человека, и, наконец, в 2020 годы активное применение ИИ в медицине.

У меня вопрос: за триста лет человеческой истории было столько знаковых открытий — и кроме перечисленного списка, их насчитывалось куда больше — зачем нам теперь врачи, если есть ИИ?

Ни в коем случае не хочу сравнивать невероятно сложный мир медицины с информационными технологиями, но если сжать триста лет в тридцать лет, за которые развиваются информационные технологии, мы получим более взрывной рост технологий и рост уровня сложности вызовов перед учёными в области медицины, и на каждом из этапов можно говорить фразу «Медики ВСЁ!», так как оспа не страшна, больной аппендикс вырезается, а органы успешно пересаживаются.

Аналогия с цирюльником

Теперь и от медицины предлагаю отвлечься, поговорив про цирюльников.

Если взять средние века, то вместе со стрижкой вам могли вырвать больной зуб и даже сделать кровопускание, вот только с годами эта роль была утрачена. В наше время сложно себе такое представить, потому как стоматология решает более сложные задачи, а парикмахеры делают более сложные стрижки.

С развитием технологий в области парикмахерского дела мы не потеряли потребность в парикмахере, хотя заказать машинку с маркетплейса может позволить себе каждый, но мы хотим сложные переходы, узоры на бороде и висках или хитрый окрас, который пару десятков лет назад вызвал бы недоумение.

Советы по выживанию

Будь бдительнее

Хочу призвать вас быть бдительнее и обращать внимание на запросы бизнеса, рынка, на тренды — так вы сможете быть конкурентоспособнее.

Представьте себе IT-индустрию как игру в догонялки — в нашем деле постоянно меняется догоняющий. Сперва технологии делают прорыв, а после рынок их догоняет и хочет большего, диктуя новый вызов для тех, кто эти технологии развивает.

Роль верстальщика вытеснена с рынка фронтенд-разработчиками, которые теперь не только верстают html из макетов, но и выстраивают гибкую архитектуру, проектируют сложные и динамичные интерфейсы. Серверные разработчики не пишут наборы скриптов для обработки типовых запросов к базе данных, а проектируют масштабируемые и гибкие системы, которые работают на тысячах серверов и обрабатывают миллионы запросов в секунду.

Будь адаптивнее

Призываю вас быть адаптивнее, ведь узнавать о новых подходах в разработке программного обеспечения здорово, но лучше эти подходы изучать и применять на практике, чтобы понимать, в каких условиях они могут быть полезны вам и бизнесу.

Постоянное улучшение навыков это ваша основная задача, если вы хотите развиваться вместе с рынком. Необходимо как можно раньше осознать, что ваш фокус должен сдвигаться с написания кода на проектирование архитектуры и выстраивание процессов.

Десять лет назад можно было представить себе работу в офисе на ставке верстальщика, но сегодня навык вёрстки обесценен из-за роста технологий и роста сложности разрабатываемых web-приложений. Нынешний frontend-разработчик должен изучить огромное количество технологий, освоить множество библиотек и фреймворков, чтобы просто собрать типовой интерфейс для SPA-приложения.

Десять лет назад можно было уметь писать компоненты под Joomla, писать свою регистрацию на сайте или гостевую книгу, но сегодня сложность приложений настолько велика, что backend разработчик должен понимать, как работают распределённые вычисления, и как писать высокопроизводительный код, который сможет обслуживать многомиллионные запросы.

Будь мудрее

Призываю вас быть мудрее, ибо чем глубже в нашу жизнь будут погружаться инструменты, тем больше от вас будет ожидаться умение работать в первую очередь с людьми и их потребностями.

Вам нужно будет уметь определять, какие технологии нужны бизнесу и как бизнесу помочь добиваться его целей, прибегая к компромиссам между вашей любовью к технологиям и сроками, в которые вам нужно уложиться, чтобы получить доход в каком-либо эквиваленте.

Кроме того, важно умение работать в команде, ибо соло-разработчиком можно добиться успеха, но с большей вероятностью соло-разработчика обойдут на повороте слаженные команды, внедрившие в свою работу современные инструменты, избавляющие их от рутины и позволяющие потратить мысли-топливо на проработку более сложных вопросов и на новые открытия.

Будь критичнее

И наконец, я призываю вас быть критичнее. Не стоит поддаваться на провокации и переживать по поводу нейронных сетей. Если открыть репозитории широко-используемых проектов, мы можем увидеть вкладку с проблемами, которые всё ещё не решены.

Решать проблемы, это одна из задач любого разработчика: одно дело написать код и доставить его до конечного пользователя, но другое дело — исправлять проблемы, которые в этом коде могут возникнуть. К слову, не всегда эти проблемы являются проблемами, ведь о них пишут люди, которые могли понять и сделать что-то не так, потому наша задача найти с ними общий язык и помочь.

Ну и не стоит забывать, что пока нет фактов, указывающих, что нейронные сети способны заменить разработчиков. По результатам исследования Veracode только 55% решенных задач не содержали уязвимостей, а нейронка для DevOps удалила базу из продакшна просто потому что. Любая работа нейронных сетей требует большого внимания и доработок, чтобы это можно было безопасно использовать.

Кликни здесь и узнаешь

Пофантазируем

Если в начале был блокнот и html-страничка с гостевой книгой, то завтра мы будем работать над новыми вызовами, которые мы будем догонять, улучшая свои технологии.

Периферийные вычисления, когда обработка будет максимально близко к системам ввода для уменьшения задержек. Децентрализованные вычисления. Это уже настоящее, но эти технологии будут и дальше проникать в нашу жизнь.

Тот самый ИИ станет нашим коллегой, со своей точкой зрения и желанием поспорить, что позволит вам проработать гипотезу не только в контексте вашего понимания. Никакой лести, критика и желание добиться совместно более лучшего результата.

Эволюционирующие приложения, подстраивающиеся под условия. Адаптация алгоритмов под изменение нагрузки, внешних условий, иммунные алгоритмы для борьбы с угрозами. Код вписывающийся в узкие рамки условных конструкций постепенно будет уходить в прошлое.

БИО-технологии, работающие с информацией, хранящейся на клеточном уровне для симбиоза живой материи и цифровых технологий. Мы уже на стадии, когда есть способ в грамм вещества поместить 900 терабайт данных и это результат работы проекта Bioencryption.

Будущее это не просто автоматизация и нейронки, а новый симбиоз человека и машины. Те, кто поймёт это первыми, будут развивать технологии.

А если хотите вместе с нами адаптироваться в мире стремительно развивающихся технологий — присоединяйтесь к командам. Свежие вакансии есть на нашем карьерном сайте.

Комментарии (0)