Останнім часом ми чуємо: "AI-асистенти дозволять будь-кому писати код! Навіть фаундери без технічного бекграунду зможуть будувати софт!"

Але це фундаментальне нерозуміння того, чим насправді займаються software engineers.

Ми не кодогенератори. Ми — трейдери ясності.

Згадайте Smalltalk Алана Кея з 1980-х. Програмування було елегантно простим: об'єкти, що отримують повідомлення. Діти могли будувати повноцінні системи.

Потім софт вийшов за межі персональних комп'ютерів. Розподілені системи. Складність, що перевищує можливості однієї людини її осягнути. З'явилися команди: архітектори, тестувальники, фронтенд-, бекенд-спеціалісти.

Тепер AI обіцяє згорнути всі ці ролі назад до однієї людини. Але проблема в іншому.

85% нашого часу йде не на написання коду, а на перекладання.

Ми перекладаємо бізнес-потреби в технічні моделі. Розуміємо проблему настільки глибоко, що можемо пояснити її машині. Створюємо ментальні моделі, які інші інженери зможуть підтримувати й розвивати.

AI може генерувати код краще за багатьох інженерів? Абсолютно. Іноді — драматично краще.

Але генерація коду ніколи не була вузьким місцем. Вузьке місце — це ясність.

Розуміння проблеми. Розпізнавання невідомих невідомих. Визначення, які нефункціональні вимоги насправді важливі. Проєктування абстракцій, що їх люди зможуть зрозуміти.

Для простих проблем — типового CRUD-застосунку — AI справді може за ніч створити робочий софт. Вражаюче для демо інвесторам. Але спробуйте підтримувати такий код, коли бізнес-вимоги еволюціонують.

Майбутнє software engineering — це не про заміну AI.

Це про трансформацію перекладацького шару. Раніше ми перекладали потреби безпосередньо в код. Тепер — у чіткі специфікації для AI-агентів, які генерують код.

Наш debugging duck нарешті відповідає, валідує припущення, допомагає досліджувати архітектурні альтернативи.

Але є небезпека. Коли ми пишемо код самі, сам процес змушує до ясності. Компілятор вимагає точності. Коли делегуємо генерацію AI, ризикуємо втратити цю forcing function. Можемо прийняти рішення, які не до кінця розуміємо.

Відкрите питання: чи залишаться кодові бази артефактами для людей і AI разом? Чи стануть повністю AI-керованими, а люди специфікуватимуть лише high-level вимоги?

Якщо друге — чи потрібні взагалі мови програмування для людського розуміння? Можливо, AI-агенти створять власні мови, оптимізовані для машинної ефективності, а не людського сприйняття.

Я не знаю відповіді. Але знаю: робота трейдера ясності не зникне.

Вона може радикально трансформуватися, але фундаментальний виклик залишиться — будувати міст між тим, що потрібно людям, і тим, що можуть зробити машини.

Чи працюєте ви з AI-асистентами, чи пишете кожен рядок власноруч — ваша головна відповідальність не змінилася:

Приносити ясність у складність.

Розуміти проблеми настільки глибоко, що рішення стають очевидними. Створювати ментальні моделі, що з'єднують людські потреби й технічну реальність.

Ера vibe coding може зробити останній крок — генерацію коду — тривіально легким.

Але шлях до цієї точки, важка робота трейдера ясності, залишається такою ж важливою, як завжди.