Дело больше не в том, сколько строк кода вы можете написать. Дело в таких навыках, как архитектурное мышление, декомпозиция проблем и коммуникация с искусственным интеллектом, пишет на портале The New Stack Анимеш Коратана, генеральный директор и основатель PlayerZero

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

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

Пять основных навыков для эпохи ИИ

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

1. Написание спецификаций: искусство перевода намерений

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

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

Речь идет не только о написании лучших промптов (подсказок). Речь идет о наличии реальных знаний в предметной области, таких как понимание потребностей клиентов, бизнес-контекста и причин технических решений.

2. Понимание архитектуры: новая ключевая компетенция

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

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

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

3. Отладка и обратное проектирование: по-прежнему уникальная сила человека

Создание ПО и его отладка требуют разноплановых умственных навыков. Создание — это художественный и аддитивный процесс. Вы начинаете с понимания конечной цели и двигаетесь к ней, по одной строке кода за раз. Отладка — это научный и субтрактивный процесс. Вы начинаете с рассмотрения всей архитектуры в целом и работаете в обратном направлении, чтобы точно определить неожиданное поведение.

Хотя ИИ превосходно справляется с написанием новых строк кода, начиная с чистого листа, ему сложно понять сложные производственные системы. Люди по-прежнему лучше справляются с реверс-инжинирингом больших старых кодовых баз, чем большие языковые модели (LLM).

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

4. Декомпозиция проблем и их итеративное решение

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

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

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

5. Коммуникация — базовое преимущество

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

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

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

Большая возможность

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

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