Как стать автором
Обновить

Разработчики программного обеспечения скоро перестанут писать код

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.9K
Всего голосов 29: ↑15 и ↓14+3
Комментарии29

Комментарии 29

я правильно понял суть, что весь код в мире пишут джуны?)

...джуны - индусы )

Похоже да. Причем часть кода — вечные джуны.
К примеру, на прошлой неделе смотрел google cloud recognition — ни один пример в гугловской базе НЕ РАБОТАЕТ. Информация, что версия1 больше не работает находится только в емейл рассылке и очень не просто. Питон модуль, соответственно, тихо и спокойно ничего не делает вообще. Ни ошибок, ничего. В гугл консоли радостно пишет, что у вас х обращений к АПИ, на этом все.
И так, собственно, последнее время со всем.
Когда-то написанные апи ко многим системам больше не работают и поддержка об этом не знает, документация по старым версиям(ну ее ж не джуны обновляют).

НЛО прилетело и опубликовало эту надпись здесь

Разработчики программного обеспечения скоро перестанут писать код

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

Да в принципе даже такая профессия как переводчик и по сей день живее всех живых, несмотря на то, что в этой области ИИ добился куда более впечатляющих результатов. Что касается влажных фантазий о светлом будущем в котором девелоперы просто соединяют кубики вместо того, чтобы писать код (после чего достают свои penny board из рюкзаков, и дружно дуют в ближайшую смузичную) - так это по-моему вообще родом чуть ли не из 80-х, когда нужно было продавать первые RAD-системы ))

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

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

Радикально уменьшился объем заказов и возросла скорость перевода. Думаю как минимум 50% рабочих мест как корова языком слизнула.

Ещё стоить учитывать процент населения, знающих иностранные языки. Мне кажется, что это тоже влияет

За последние лет 5 процент хорошо понимающих английский не изменился существенно. Читать все равно всем, кто может это себе позволить, приятнее и понятнее на родном.

50% - это за 5 лет?

У меня нет статистики, к сожалению; сужу по себе и своему окружению. Заказы на устный перевод радикально уменьшилось во время ковида по понятным причинам, и так и не восстановились.

На письменный - где-то за год до этого. И начался ценовой демпинг.

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

С письменными интереснее. Тут может и правда компьютеры нишу заняли. Письменный текст они довольно неплохо переводят. С учетом моментальности компьютерного перевода и его нулевой цены.

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

Не знаю, о какой другой причине вы говорите, признаться, с учетом того, что тенденция началась лет, наверно, 5 назад.

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

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

Другое дело что такие задачи явно не для джунов и может быть даже не для любого мидла.

И тут возникает парадокс - откуда возьмутся сеньоры, если всех джунов заменит ИИ? Или не всех? Или останутся только самые-самые способные, которые смогут быстро дорасти до сеньора?

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

Ну не всегда и не везде. Есть области разработки где фреймворков-то особых нет. А вот несложные рутинные задачи всегда и везде бывают.

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

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

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

Поэтому можно было и раньше поднимать волну паники - фреймворки уничтожат рабочие места программистов!!!! Больше никому не будут нужны мартышки кодеры, пишущие килобайты кода, кошмар!!! Но такого как-то не было слышно, потому что тема не хайповая, посторонним трудновато объяснить, а те кто в теме просто посмеется.

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

Ну вот на близком примере. На нашей платформе (IBM i) нет фреймворков особых (кроме тех, что сами себе делаем). И есть т.н. "опции" - набор из 4-х модулей для работы с таблицей, позволяющий добавлять, удалять, изменять запись в интерактиве или программно (т.н. "внешний ввод").

Состоит из т.н. "дисплейного файла" (это такой объект, описывающий надор экранных форм на специаkьном языке DDS), модуля интерактивного ввода (работа в дисплейником), валидатора (проверка значений введенных полей), update модуля (непосредственно работа с таблицей и связанным с ней журналом) и модуля внешнего ввода (позволяющего добавлять,удалять, изменять записи программным путем через вызов модуля внешнего ввода с передачей ему на вход заполненной структуры с данными). Ну плюс еще может быть некоторое количество P/V (prompt/validate) модулей на отдельные поля, которые требуют каких-то особых проверок и подразумевают ввод ограниченного набора значений (например, по уже введенным данным выбрать что-то из другой таблицы). у P/V тоже есть свой дисплейник (для интерактивного выбора нужного значения). Вызываются из валидатора в процессе валидации конкретных полей.

Общая схема работы примерно такая - данные заполняются или интерактивно (дислейник + модуль интерактивного ввода) или подаются на вход модуля внешнего ввода. Дальше прогоняются через валидатор и если все ок, то передаются в update модуль для записи в таблицу.

В общем, задача типовая. На нее у нас есть т.н. "скелетоны" - заготовки кода где нужно просто нарисовать свой дисплейник а в заготовках модулей просто проставить нужные имена полей (таблицы, журнала и дисплейника). Опытному разработчику работы на день. Начинающему - на 2-3 дня. Ну за исключением случаев, когда, например, работа идет с несколькими связанными таблицами и/или требуется вести архивы (когда при изменении или удалении записи она откидывается в архивную таблицу с возможностью последующего отката). Или есть какие-то хитрые алгоритмы автоматической генерации ряда полей...

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

Вот такое запросто автоматизируется бредогенератором. Т.е. аналитик расписывает схему и как должен выглядеть дисплейник + связи полей дисплейника с полями таблицы + алгоритмы валидации. А бредогенератор уже сам генерит готовую опцию.

Но тут сразу вопрос - а куда джуна девать? Серьезную задачу ему не дашь. Где нужна предельная эффективность и всякие нестандартные подходы. Хотя бы потому что там обычно надо хорошо знать и понимать как платформа работает (есть много специфики) и как ее особенности использовать ля повышения эффективности. Без опыта такого напишут что потом все переделывать придется...

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

Ну у нас ни строчки без ревью не проходит дальше компонентного тестирования. Т.е. в бизнес-тест код только после ревью и апрува ПР идет.

Компоненты и автотесты - да, но это первичный тест. Что оно как-то в первом приближении работает.

Так что тут все равно все опытные разработчики привлечены к ревью кода. Даже друг друга ревьюим - протокол такой (на каждую задачу в джире назначается аналитик. разработчик и ревьювер, и статус из IT-Test done в Business Test не переключится без отметки Review done, а мерж из фичи в девелоп невозможен без апрува ПР ревьювером).

Так что про "опасность ИИ для разработчиков" полностью согласен. Какие-то рутинные операции может быть, но достаточно ограничено. Это как в свое время было с появлением RAD инструментов - тоже кричали что "вот щаз все мышкой будут программы рисовать" (в первый раз, кстати, столкнулся с этим еще по досом в Кларионе - там штуки типа описанных выше "опций" генерировались автоматом - расписал таблицу, оно сразу генерило готовый код для работы с ней). И что в итоге? Да, сократило время на рутину, но не более того. Все алгоритмы мало-мальски сложные все равно руками.

Потом всякие low/no code инструменты. Тоже простые стандартные задачи решают хорошо, но как только речь заходит о чем-то сложном, где нужна тонкая оптимизация и разные нестандартные алгоритмические подходы - тут только ручками и головой...

Или останутся только самые-самые способные, которые смогут быстро дорасти до сеньора?

Это невозможно. Сеньор это опыт. Не только опыт, но он очень важен. Когда все видел, все пробовал, у всего знаешь плюсы и минусы на личном опыте.

Помнится, году в 1993 один программист в Харькове в разговоре со мной посетовал на то, что работы для программистов практически не осталось, потому что созданы программные системы на все случаи жизни и на долю IT-персонала остается только их настраивать и конфигурировать.

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

Что-то в мире пошло не так, и в результате я с того времени и по настоящий день занимаюсь написанием кода.

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

В какой-то степени так оно и есть.

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

А потом... Хлоп! И ты наставник - дали юного падавана в обучение. И часть времени приходится отводить на то, что чтобы объяснять ему "таблицу умножения".

Потом тебе говорят - "сейчас ты лид" (техлид, тимлид...). И еще часть времени начинает уходить на как-то встречи, разговоры... Пытаешься сопротивляться - тебе говорят "а кто как не ты? кроме тебя некому..."

Дальше - хуже... Надо заниматься архитектурой и опять - "кроме тебя некому". И по 3-4 часа в день уходит на бесконечные обсуждения "архитектурных решений".

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

Например, в Meta (признана экстремистской организацией и запрещена в РФ) существует культура «снизу вверх»

Кто-нибудь и когда-нибудь расскажет, какая существует культура в ИГИЛ? (признана террористической и запрещена). Как там живётся джунам? Какой там бэкэнд и как прокачивают скиллы? Всё познаётся в сравнении...

Просто улыбнула возможность сопоставить две организации, у которых есть общее: они запрещены в РФ.

Вы мне напомнили о статье, которую я недавно прочитал, о "выгорании" работников афганского правительства. Запрещённого вроде как у нас.

Про запрещённый ИГИЛ рассказывали где-то, что у них очень высококачественные журналы были. Так что предположу что и у них есть много высококвалифицированных сотрудников.

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

Как там живётся джунам

Нормально вроде, но не долго. На первом же аллах-бабахе помирают.

Какой там бэкэнд

Ну есть одна смешная книжка, можно нагуглить.

 как прокачивают скиллы 

На коврике по 5 раз в день.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий