AI няма да замени добрите програмисти толкова лесно: проблемът, който повечето хора не разбират
През последните две години технологичната индустрия сякаш живее в постоянен цикъл от прогнози за края на професията „софтуерен разработчик“. Почти всяка седмица се появява нов модел, нов AI агент или нов инструмент, който обещава да създава приложения, уеб сайтове и дори цели бизнес системи само по текстово описание. Видеа в YouTube показват как хора без никакви технически умения изграждат работещи продукти за часове, а инвеститори и предприемачи все по-често говорят за бъдеще, в което компаниите ще се нуждаят от много по-малко програмисти.
На пръв поглед всичко това изглежда логично. Ако изкуственият интелект вече може да пише код, защо ще продължаваме да плащаме на хора да вършат същата работа? Колкото повече навлизаме в реалното използване на тези технологии обаче, толкова по-ясно става, че въпросът е зададен погрешно. Всъщност голяма част от най-опитните софтуерни инженери не се притесняват особено от способността на AI да генерира код. Тях ги тревожи нещо друго – че бизнесът и техническите екипи често гледат на един и същ проблем по напълно различен начин.
Това е и причината толкова много дискусии за бъдещето на разработчиците да се превръщат в спор между хора, които всъщност говорят за различни неща.
Двете лица на една компанияВъв всяка организация съществуват два паралелни свята. В първия живеят маркетинг специалистите, продуктовите мениджъри, търговските екипи и ръководството. Тяхната работа е непрекъснато да търсят нови възможности. Да проверяват дали дадена идея ще бъде успешна. Да откриват нови пазари. Да експериментират. Да получават обратна връзка от клиентите възможно най-бързо.
За тези хора най-големият враг е несигурността. Никой не знае предварително дали новата услуга ще се продава. Никой не знае дали потребителите ще използват дадена функционалност. Никой не знае дали инвестицията ще се изплати. Затова основната цел е скоростта. Колкото по-бързо една идея достигне до пазара, толкова по-бързо компанията разбира дали си струва да продължи да инвестира в нея.
Във втория свят обаче живеят хората, които поддържат системите след като компанията вече е намерила своите клиенти. Това са старшите разработчици, архитектите и инженерите, които носят отговорност услугите да работят денонощно, плащанията да преминават успешно и клиентите да не усещат проблемите зад кулисите.
Тяхната основна грижа не е несигурността. Тяхната основна грижа е сложността. Колкото по-голяма става една софтуерна система, толкова по-трудна става за разбиране, поддръжка и развитие. Всяка нова функционалност добавя зависимости. Всеки нов модул увеличава вероятността от грешки. Всяка нова интеграция носи риск от бъдещи проблеми, които могат да се проявят месеци или години по-късно.
Точно затова най-добрите старши разработчици често изглеждат като хора, които непрекъснато казват „не“. Не защото са против иновациите. А защото знаят колко скъпо може да струва всяка допълнителна сложност.
Защо опитните инженери обичат да премахват, а не да добавят
Съществува един интересен парадокс в софтуерната индустрия. Младите програмисти обикновено се впечатляват от създаването на нови неща. Те искат да добавят функции, да използват най-новите технологии и да изграждат сложни архитектури. С натрупването на опит обаче приоритетите започват да се променят. Старшият разработчик вече не се пита какво още може да бъде добавено към системата. Той се пита какво може да бъде избегнато. Може ли проблемът да бъде решен с вече съществуващ инструмент? Може ли идеята да бъде тествана без изграждането на цяла нова платформа? Може ли компанията да получи нужната информация по по-прост начин?
Това мислене често изглежда странно за останалата част от бизнеса. Но именно то позволява на големите технологични компании да поддържат системи с милиони потребители години наред.
Къде се намесва изкуственият интелектТочно тук AI променя правилата на играта. Новите генеративни модели са изключително добри в ускоряването на първия свят – този на експериментите. Те могат да създадат прототип за часове. Могат да генерират интерфейси, код и документация със скорост, която доскоро изглеждаше невъзможна. От гледна точка на бизнеса това е мечтан сценарий. Компанията може да тества повече идеи. Да достига по-бързо до пазара. Да намалява несигурността.
Но същата тази скорост създава нов проблем. Колкото по-лесно става генерирането на код, толкова повече код започва да се натрупва. А всяка допълнителна линия увеличава сложността на системата. Така AI решава един проблем, но едновременно с това може да задълбочи друг. Именно това е причината много опитни инженери да не споделят ентусиазма на хората, които вече обявяват края на професията.
Най-важното нещо, което AI все още не може да направиМоже би най-интересният аргумент в целия дебат е свързан не със самото програмиране, а с отговорността. Когато банково приложение спре да работи в петък вечерта, когато онлайн магазин загуби плащания или когато облачна услуга прекъсне за няколко часа, някой трябва да разбере какво се е случило, да намери причината и да възстанови работата на системата.
Днес този „някой“ все още е човек. Изкуственият интелект може да помогне. Може да анализира логове. Може да предложи решение. Може дори да открие грешката по-бързо от инженер. Но той не носи отговорност за последствията.
Именно затова ролята на старшия разработчик може би няма да изчезне. Тя просто ще се промени. Вместо да бъдат хората, които пишат по-голямата част от кода, те постепенно могат да се превърнат в редактори на софтуера – специалисти, които решават кое да остане, кое да бъде пренаписано и как бързо създадените AI решения да се превърнат в стабилни системи, способни да обслужват милиони потребители.
И колкото по-бързо AI генерира нов код, толкова по-ценни могат да станат именно тези умения. Защото в бъдеще вероятно няма да е трудно да създадеш софтуер. Трудното ще бъде да го разбираш, поддържаш и развиваш години наред.