Обложка канала

xpinjection

Авторский канал @xpinjection - опытный Java Tech Lead, Delivery Manager и консультант с 15+ лет опыта в IT. Я пишу о Java, распределённых системах, Agile, процессах разработки, инженерных практиках, QA, конференциях, инфраструктуре и многом другом...

xpinjection

4 года назад
Открыть в
Я уже несколько раз за последние пару лет затрагивал тему автоматизации примитивных задач программирования, для реализации которых по факту нанимается большая часть разработчиков уровня junior и middle (а в некоторых компаниях и senior, чего уж тут лукавить). Может кто-то пропустил очередную новость из этой области: вышел онлайн бот-ассистент ChatGPT на базе OpenAI. Я не эксперт в области AI и ML, поэтому не берусь оценивать реализацию, но я не поленился и вдоволь поисследовал бота на типовых задачах из современной разработки. Результаты меня очень удивили и порадовали. Бот с легкостью проходит типовые собеседования на middle Java разработчика, основанные на конкретных вопросах типа «как реализовать xxx?», «как работает yyy?» или «чем отличается xxx от yyy?». Причем, ответы не выглядят синтетическими, а сформулированы сбалансированно лаконично и информативно. Для большинства middle уровня задач бот дает пошаговую инструкцию и дополняет примерами кода. Код не везде идеален, но решения рабочие, я большую часть не поленился проверить. Не уверен, что junior/middle разработчик написал бы лучше. Особый интерес и удивление у меня вызвали ответы на сложные вопросы, на которые нет лаконичных ответов в документации или при поверхностном гуглении. Бот же на большинство из них выдавал вполне адекватные ответы с точки зрения подходов к решению задачи и даже пытался предложить конкретные примеры. Примеры не всегда были оптимальными, но выглядит очень круто. С чем я не успел поиграть, но видел примеры в твиттере - это разбор запутанных примеров кода и их летальных анализ (или даже попытки рефакторинга). Очень интересное поле для экспериментов. Мне кажется, что потенциальных применений в IT просто огромное количество. Я думаю, что скоро начнётся интеграция с инструментами разработки для генерации кода, генерации юнит-тестов по написанному коду, разнообразным подсказкам и т.д. Критически важным остаётся навык четкой и полной формулировки задачи или вопроса, потому что от качества входа ооочень сильно зависит результат на выходе. В интересное время мы живем. :) А вы что думаете, конец кожаных мешков в разработке уже близок?