Через 10 лет большинство программистов уйдет из профессии

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

Немного предыстории

Я и моя команда занимаемся разработкой программного обеспечения уже более 10 лет с переменным успехом: среди всех проектов, которые мы делали есть огромное количество откровенно проваленных проектов по самым разным причинам. Как правило, это весь букет типичных проблем любой софтовой компании — от неправильно поставленного ТЗ и плохого управления до неумения набирать в команду и удерживать «супер талантов».

За прошедшие 10 лет мы попробовали улучшаться везде где только могли: в 2015 перешли на scrum, внедрили пакет Atlassian и средства непрерывной интеграции, придумывали как переиспользовать код создавая библиотеки и шарить между проектами. Что бы не делали, все равно нашим слабым местом так и остались сотрудники.

Работать с людьми не выгодно и даже опасно

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

Те, кто занимается разработкой программного обеспечения наверняка не один раз слышали фразу «Шеф, это невозможно дальше поддерживать. Надо все переписывать с нуля.» И честно говоря, самый ужасный случай у меня произошел с одним нашим продуктом в 2014-2016 годах. Мы умудрились переписать 4 (!), четыре раза, а потом успешно похоронили этот продукт. Хоть какая то часть была успешной 😁.

А у вас так было, чтобы сотрудник сломал ваш продукт? У меня — да. Часто это проблема плохого (ну или никакого) контроля со стороны руководителя, техлида и всех кто должен следить за качеством разработки. Пару разу у меня случалось так, что плохо контролируя разработчиков мы обнаруживали как человек «отрефакторил обратно»: все что было написано с хорошим уровнем абстракции и применены подходящие паттерны было слито в один большой файл потому, что ему было так удобно. «Старый код был слишком сложный и навороченный.» Тут ярко проявляется достаточно неочевидная проблема, когда у участников команды очень сильно отличается профессиональный уровень — джуны и начинающие мидлы не могут понять почему код у сеньора написан именно так и зачем там, например фабричный метод (порождающий паттерн).

И вот, когда вы уже на самой финишной прямой чтобы зарелизить продукт ваш очень важный сотрудник исчезает. Завтра релиз, у вас пропал ключевой разработчик и не отвечает на звонки и сообщения. Фактор автобуса? С вероятностью 99,9% автобус его не сбивал, да и вообще с ним все в порядке, кроме одного: именно сегодня он решил, что работать в вашей компании он не хочет и не будет. А дальше вам нужно выкручиваться, как только сможете — пытаться понять кто вместо него может завершить работу, сдвигать сроки, просить заказчиков войти в положение.

«Да вы просто не умеете управлять командой. Не понимаете, не стимулируете, платите мало, просите сделать неизвестно что..» — вполне возможно, но далеко не все компании, кому нужны цифровые продукты умеют делать все правильно и тем более платить выше рынка.

NO-CODE изменит рынок разработки

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

  • Больше не зависим от языка программирования
  • Все визуально и гораздо более понятнее
  • Намного ниже порог входа
  • Там где требовалась команда из 7 человек одного хватит
  • В 10 раз быстрее построить решение на NO-CODE чем писать даже с самыми продвинутыми фреймворками
  • Почти нет глупых ошибок из-за невнимательности
  • Стоимость ниже в разы, а иногда на порядок. Ошибки теперь стоят дешевле.

Не каждый NO-CODE сможет изменить рынок

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

Gartner и другие аналитические агентства прогнозируют быстрый переход на NO-CODE/LOW-CODE в течении нескольких лет, да и рынок растет на 22-25% каждый код и только будет ускоряться (источник). Неужели NO-CODE может совершить революцию, создавая сайтики (иногда очень красивые!) и храня данные в Google Sheets и Air Table? Очень вряд ли.

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

У кодогенерации есть множество неоспоримых преимуществ перед классическими NO-CODE:

  • Наличие исходного кода с комментариями и best-practice
  • Отличная производительность, а иногда и намного выше чем в приложениях, написанных разработчиками
  • Вы можете перегенерировать приложение раз за разом (прощай технический долг и рефакторинг 😊)
  • Можно запускать ваше приложение где угодно: хочешь тебе AWS, Digital Ocean, дешевенький VPS сервер или даже свой собственный комп. Хочешь хостить свой продукт офлайн потому, что он только для внутренних сотрудников — без проблем.
  • Работа с вашими любимыми SQL и NOSQL базами
  • Автоматическая генерация документации

В общем все то же самое, как если бы вам приложение разработала команда разработчиков в которой одни супер профессионалы.

А как же минусы? Без них тоже никак. Для кодогенерации намного сложнее дается живой предпросмотр (live preview) пока вы ведете разработку: приложение сначала нужно сгенерировать, потом собрать, запустить и только потом показывать результат. Пока не все штуки можно реализовать по сравнению с классическим программированием, но развитие платформ в будущем уберет эти ограничения.

Какое оно, будущее разработки софта?

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

Постоянное повышение себестоимости разработки будет и дальше толкать компании искать альтернативы найму программистов. Спасибо пандемии и онлайну — зарплаты разработчиков очень быстро растут вместе с ажиотажным спросом на специалистов. Иногда создается впечатление, что программистам уже можно и не стараться кодить: если работодатель настолько смел и попросит покинуть компанию, то у вас в почтовом ящике уже есть с десяток оферов с открытой датой ("приходите как только сможете, мы всегда вас возьмем").

Вместо заключения

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

Два года назад я закрыл все свои предыдущие проекты, собрал команду и мы начали разрабатывать NO-CODE платформу AppMaster.io. Наша идея заключалась в том, что мы сможем создать платформу, которая генерирует серверные приложения, веб приложения и мобилки без необходимости найма разработчиков вообще. Тогда это звучало совсем бредово: «без разработчиков», но сейчас это будущее разработки.

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

5050
196 комментариев

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

98
Ответить

Да это со времен Битрикса началось. Простенький и тяжеленький магазин - Эврика! программисты больше не нужны. 

А может со времен 1С? Бухгалтеры больше не нужны, программисты тоже. Всё еще нужны? пля...

52
Ответить

А как часто требуется разработать новую ОС? 

10
Ответить

С языка снял :) 17 лет в профессии и каждый год слышу о мечтах в No-Code and etc.

9
Ответить

И 10 лет назад то же самое было. Только там ещё был Ucoz. А потом ещё был битрикс, на котором "вообще всё из коробки работает, Вась, отвечаем"! Объективно, пока роботы учатся ходить, а ИИ имитирует работу ботов для квипа и джаббера, нам бояться нечего. Когда робот впервые реализует небольшое ПО по ТЗ заказчика, используя качественные паттерны и готовые реализации алгоритмов, и это будет дешевле реализации человеком, вот тогда и будем сухари сушить.

2
Ответить

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

Ответить

Комментарий недоступен

53
Ответить