Нейрорефактор

Ситуация: Код: легаси Возраст: 3 года Исполнители: 4 разработчика от сеньора до джуна

Фактически модуль пережил две смены парадигмы данных с сохранением обратной совместимости и пережил надругательство доработан для третьей версии логики.

В общем это ужасный монстр с напроч сломанной психикой типизацией.

Задача: распилить модуль на легаси и 3 версию, что бы планомерно переезжать на актуальную, чистую версию.

В ходе ИИ-анализа оьнарудивается огромное количество устаревших данных. Нужно пилить. Более 70 компонентов используют новый модуль, ещё около 150 используют легаси-версии логики. Ручной анализ сложен и длителен. Задача ставится нейронке: анализ, статистика данных, выделение мертвого кода. Агент работал около часа (из-за моей паранойи и ручного подтверждения шагов) и выдал статистику использований выглядящую реально.

Анализ лёг в основу вычленения мёртвого кода и ремонта типизации.

В общей сложности: два дня работы с нейронкой покрыли не менее пяти дней работы сеньора.

Это хорошо.

Сделало ли это мою работу проще? Нет. Сделало ли это объем работы меньше? Нет. Но это сделало иной комфорт работы. Работая с ИИ можно сосредоточиться не на описании пути, а на описании начала и результата. Меняется мышление с процессного на продуктовое: вы думаете не о том, как сделать, а как оно должно быть в конце. Я уверен, что многие разработчики "едят слона по частям" - решают задачу не видя точного лица завершения. Они знают, что надо получить, но это не лицо.

В итоге, в параллель с рефактором кода вышла небольшая ретроспектива опыта. Нужно ли сегодня всё ещё уметь очень круто кодить, используя фишки, хитрости и нюансы технологий? Нужно. Но в ещё меньшем объёме, чем это было нужно 5 лет назад. А вот без чего не получится кодить "завтра" - это без продуктового мышления.

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

И я считаю, сил это важная веха.

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

В общем ИИ не несёт угрозы ИТ сектору, но несёт угрозы писателям кода.