В связи с успехами проекта OpenAI под названием ChatGPT в среде преподавателей программирования появился некий ажиотаж. И связан он с тем, что вполне возможно, что вскоре позиции программистов-джунов теперь заменит этот чудо-сервис, а это в свою очередь означает, что нужно пересмотреть планы преподавания, чтобы выпускать сразу мидлов.
Как и любое другое новшество, эта сногсшибательная новость встречается с определенным здоровым скептицизмом. Давайте же рассмотрим аргументы за и против нового чудного будущего, которое всех нас ждет. Всех, кому интересна данная тема, прошу под кат.
Введение
Начнем с того, кто же такие эти джуны. Те, кто и так хорошо это знает, могут смело переходить к следующей главе. С некоторых пор в среде разработчиков софта появилось деление на позиции джунов (junior), мидлов (middle) и сеньоров (senior). Предполагается, что джун - это начинающий программист, мидл - это разработчик среднего уровня и senior - ведущий (или старший) разработчик.
Практическая разница между ними прежде всего в зарплате. Если взять среднюю зарплату мидла за некую единицу, то оплата джуна будет в полтора-два раза меньше. Зарплата же старшего разработчика может быть от полутора до 5 раз выше, чем у мидла. Если же обратиться к профессиональным требованиям, то если от начинающего программиста, как правило, не требуют опыта работы, то чтобы попасть на позицию мидла, нужно иметь 2-3 года опыта работы. От старшего программиста требуют уже иметь опыт работы 5-7 лет.
Еще важный параметр - это способность к самостоятельной работе. Предполагается, что джуну требуется куратор, который будет постоянно контролировать его рабочий процесс. Мидл - это человек, способный к самостоятельному решению задач, и контролировать нужно только результат его работы. Позиция сеньора уже требует не только хорошо знать методы и средства разработки, но и умения ставить задачи команде разработчиков и контролировать их выполнение.
Футурошок, как он есть
И вот в эту стройную и вполне сложившуюся систему врывается ошеломительная новость: джуны больше не нужны! Вот вам новый сервис искусственного интеллекта ChatGPT, который умеет генерировать софт на уровне начинающего программиста. Но делает это: а) совершенно бесплатно, б) очень быстро, в) невероятно безошибочно. Казалось бы, это убойные аргументы для эффективных менеджеров, чтобы немедленно начать экономить на зарплатах начинающих программистов, демонстрируя: а) то, что они идут в ногу со временем, б) достигают поставленных целей с меньшими затратами, в) их эффективность круче гор.
Но так как каждый кулик видит только свое болото, поэтому и автора настоящей статьи напрямую интересует только очень небольшая область последствий, а именно волнения в среде преподавателей программирования, к которым он себя до какой-то степени относит.
Ведь и у преподавателей есть свой менеджмент, который тоже хочет идти в ногу со временем и не оказаться у разбитого корыта. В частности, это выражается в требовании разработать методики обучения, которые выпускали бы сразу мидлов. И это звучит вполне логично. Если джуны больше не найдут работы, значит их нужно доквалифицировать в мидлов. … Профит! А значит, нужно немедленно приступить… углубить… и достичь…
Судьбы джунов
Но давайте присмотримся более внимательно к функциям джуна. Действительно ли он вот-вот будет не востребован? Приведу пару примеров из многих, о которых автору рассказали его бывшие ученики и которые, как ему кажется, будут уместны в данном контексте.
В первом примере в некой компании сильная и решительная эйчар решила: зачем нанимать джунов? Компания богатая? Да! Могущественная? Да! Зачем нам неумехи? Будем брать только мидлов! В результате на определенном этапе истории компании в ней вообще не оказалось джунов. Затем, в ходе модернизации одного из проектов был разработан скриптовый язык для ботов. Это было намного эффективнее, чем писать и, главное, отлаживать код для каждого бота в отдельности. Теперь есть один бот, который умеет все и код которого хорошо отлажен, только напиши ему скрипт и он тебе сделает все.
Так вот, неожиданно произошел производственный конфликт: мидлы один за одним отказались писать скрипты к боту. Не царское это дело! Они кодеры высокого профессионального уровня, а им тут предлагают такое! Тимлид просил менеджмент нанять джуна на эту работу, но увы - смотрим на исходные данные задачи, приведенные выше. Итог: бесконечные конфликты, срыв сроков.
Какой тут напрашивается вывод: джун - это не только малооплачиваемый и недостаточно опытный сотрудник, это еще и работник, который выполняет в проекте работы, назначение которых более “важным” персонам привело бы к производственному конфликту.
А вот и еще один жизненный вариант использования джуна. Молодой специалист был прикреплен к маститому разработчику. Тот начал использовать его в качестве денщика. Принеси то, купи это. Убери, почисти. Молодой талант был возмущен. Не к этому он готовился, когда учился отлично кодить! Произошел производственный конфликт. Маститый разработчик добился увольнения джуна формулировкой “за отказ от выполнения назначенных задач”. Новый джун уже не решился возражать.
Учить по новому?
Теперь перейдем от частностей к общему. Мидл становится мидлом, поработав джуном 2-3 года и набравшись опыта. Если исключить это звено из цепи, то откуда возьмутся новые мидлы? По мнению отдельных кругов менеджмента курсов по программированию - от новой программы обучения. Но программа обучения и так уже выпускает дипломированных специалистов. Единственное, чего им не хватает - это опыта.
Следуя логике менеджмента, возможно, следует организовать мастерские, в которых бы разрабатывались реальные проекты. Чтобы горели сроки, на совещаниях неслась бы ругань и угрозы, чтобы ученики не спали ночи в поисках багов. Возможно ли это? Технически - конечно да, но вот организационно?
Будут ли желающие отдать выполнение проекта на студенческую разработку? Может и будут, их можно теоретически привлечь невероятно низкой ценой разработки. Но тогда к курсам придется еще приписать отдел маркетинга, который будет искать проекты для студентов. Будут ли сами студенты ночей не спать и делать проект под руководством преподавателей? На работе они это делали бы за деньги и под угрозой увольнения и потери карьеры. На курсах - они за это будут платить. Выглядит все это как-то сомнительно.
Выводы
Подытожим. По мнению автора настоящей статьи джун - это явление больше социальное, нежели профессиональное и появление нового и пока бесплатного сервиса, умеющего кодить, ничего особенно в среде разработки не поменяет. А потому и смена парадигмы обучения программированию пока выглядит преждевременной.
Но автор не считает себя непогрешимым в суждениях и с удовольствием послушает мнение коллег и просто заинтересованных лиц в комментариях. Итак, а что думаете по этому поводу вы? Просьба аргументировать свое мнение.
Важное примечание: все иллюстрации сделаны при помощи ChatGPT. Не спешите радоваться, что художникам иллюстраторам пока еще рано на пенсию. ChatGPT - текстовая модель и рисование не его профильный скил, о чем он честно предупредил автора. Иллюстрации построены по названиям и текстам глав. Почему ИИ именно так художественно выразился - наверно, это тема как минимум отдельной статьи.