[Код vs NO-CODE] Через 10 лет большинство программистов уйдет из профессии. Смелое заявление, да? На самом деле это очень вероятный сценарий развития событий

отметили
29
человек
в архиве

источник: quixy.com

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

Я и моя команда занимаемся разработкой программного обеспечения уже более 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. Наша идея заключалась в том, что мы сможем создать платформу, которая генерирует серверные приложения, веб приложения и мобилки без необходимости найма разработчиков вообще. Тогда это звучало совсем бредово: «без разработчиков», но сейчас это будущее разработки.

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

Oleg Sotnikov
Founder @ AppMaster.io Все еще стучите по кнопочкам
Добавил suare suare 6 Августа
проблема (1)
Комментарии участников:
X86
+5
X86, 6 Августа , url

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

Больше не зависим от языка программирования
Все визуально и гораздо более понятнее
Намного ниже порог входа
Там где требовалась команда из 7 человек одного хватит

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

memedvedov
+2
memedvedov, 6 Августа , url

Это-то ладно, допустим, разработают «автоматические системы разработки приложений без написания кода» один раз, навсегда и без ошибок. Это, само собой — фантастическое допущение.

Кто будет формулировать им задачи? Бараны ведь не поймут, как объяснить, что им нужно.

suare
0
suare, 6 Августа , url

X86
+2
X86, 6 Августа , url

Будет искусственный интеллект, который по движению глаз, интенсивности дыхания будет понимать, что нужно конкретному барану) «Алиса, напиши мне программу». «Какую, мой господин?» 

memedvedov
+1
memedvedov, 6 Августа , url

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

magmaster
+1
magmaster, 6 Августа , url

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

memedvedov
+1
memedvedov, 6 Августа , url

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

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

fStrange
+7
fStrange, 6 Августа , url

бред.

Чувак просто не знает истории программирование.

Вначале было Слово… И это слово было Ассемблер.

Затем появились языки. Компилируемые типа С или транслируемые типа Бэйсика, не так важно.

Этап третий — объектное программирование. Уже тогда начали говорить что это упрощает работу программистов, а значит прогеров станет меньше… Но.

Этап 4-й визуальные редакторы, автоподстановка.

Этап 5-й генераторы кода на основе AI...

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

Это было с первого по 4-й этап и будет на 5-м и на 6-м. И думаю что и дальше.

При этом до сих пор есть и будут востребованы даже программисты 1-2 этапов. Для каких нибудь упрощенных устройств. Что нибудь типа программирования простейших датчиков и механизмов.

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

 ДА может получиться. Но за счет роста рынка. А вот программистов меньше не станет.

[Код vs NO-CODE] т.е. это абсолютно абсурдное противопоставление. Код AND NO-CODE — это реально



fakenews
+3
fakenews, 6 Августа , url

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

Если раньше один условный продукт писало 100 человек, то сейчас пишет 10, но продуктов стало даже не 100 а 1000 и будет еще больше.

magmaster
+2
magmaster, 6 Августа , url

Чувак вроде не противоречит. Сказал что нужны будут архитекторы. Т.е. люди которые ставят задачи. Это сравнимо с водителем техники. Техника сама работает, водитель просто направляет исходя из задачи.

По скорости и перевозимой нагрузкн естественно автомобиль не сравнить с бегунами или гужевым транспортом.

 

Могу другой доходчивый пример привести. С суперсложным процессом, который очень легко запустить и нетрудно получить результат. Рождение другого человека. )

Сложней всего тут процесс воспитания. 

firevoodoo
+2
firevoodoo, 6 Августа , url

Вполне себе диалектико-материалистический комментарий!

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

fakenews
+3
fakenews, 6 Августа , url

«чувак» скорее всего все прекрасно знает, просто это джинса, где он размещает рекламу своей конторы, в продукте которой можно типа бацать простенькие приложения.

unknown1
+1
unknown1, 9 Августа , url

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

Каждый новый уровень автоматизации увеличивает производительность одного рабочего (прогер тоже рабочий, только инженер). А, следовательно, их будет требоваться всё меньше. Что бы они могли найти себя в другой области, нужно что бы эти области появились. Что бы эти области появились, необходим рост всеобщего благосостояния соответственно росту производительности труда.

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

KaperDonjon
+5
KaperDonjon, 6 Августа , url

Так то не программисты уйдут, а говнокодеры.

pirata.russo
+2
pirata.russo [БАН], 6 Августа , url

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

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

fakenews
+1
fakenews, 6 Августа , url

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

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

В 10 раз быстрее построить решение на NO-CODE чем писать даже с самыми продвинутыми фреймворками

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

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

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

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

 так пишут как будто это уже где-то есть.

GreyWolf
+1
GreyWolf, 6 Августа , url

Допустим программисты станут ненужны, так как любая кухарка силой мысли сможет сделать любое приложение, тогда чем будет заниматься армия менеджеров, вроде автора статьи, ведь его контора с первую очередь останется без заказов :D

comander
+1
comander, 7 Августа , url

Он просто пиарит свой стартап. У стартапа всегда цель одна — дорого продаться

comander
+1
comander, 7 Августа , url

unknown1 unknown1 посмотри комменты



Войдите или станьте участником, чтобы комментировать