Аз, честно казано, го виждам този риск. Признавам ви чистосърдечно, като софтуерен инженер, се боя за работата и професията си във времето на напредналия ИИ.
Как изглежда бъдещето на софтуерното инженерство, погледнато от неговата Мека – Силициевата долина? Ще я има ли изобщо професията на програмиста? Какво има смисъл да учим днес? Възможно ли е да се подготвим за вълнуващото, но и предизвикателно бъдеще?
Минко Гечев има черен колан по карате… а и по програмиране, като опитен старши разработчик в Google. При предишната ни среща в центъра беше прелюбопитният му път от Троян до един от софтуерните гиганти на нашето време, а сега ще надникнем в някои от най-вълнуващите въпроси на днешния ден. Продължаваме и допълваме разговора ни от подкаста на DEV.BG.
Още за госта
Минко Гечев е част от екипа на Google в Силициевата долина. Той е сред разработчиците на Angular, фреймуърка с отворен код, направил възможни днешните свръхсложни сайтове.
Завършва магистратура през 2015 г. в Софийския университет, а през 2017 г. съосновава стартъпа Rhyme. Компанията предлага онлайн курсове на световно ниво и нашият събеседник е начело на отбора софтуерни инженери. Само година по-късно проектът е купен от гиганта Coursera, което е и първата им подобна инвестиция.
Минко получава наградата на президента „Джон Атанасов“ в две различни категории. Дълги години работи по създаването на софтуер с отворен код. Проектът му Codelyzer за статичен код анализ на Angular апликации е свалян над 100 милиона пъти.
– Може ли според теб да стигнем до момента, в който ще имаме не софтуерен екип, а ИИ агенти, които правят всичко? А ние само задаваме и проверяваме?
– Аз съм малко по-песимистичен към тази точка. Виждам, че CEO-то на Shopify, примерно, иска на всяко тримесечие обосновка защо една роля не може да се поеме от ИИ и трябва да наемеш човек. Дженсън Хуанг, CEO на NVidia, каза, че до няколко години няма да има нужда от софтуерни инженери.
Аз не мога да си го представя чак толкова крайно.
Според мен, ако правим проекция на това какво се случва в момента и предполагаме, че ще продължи да се развива със същите темпове, може в един момент да ударим малък застой.
Може и да се случи, но най-вероятно… няма да е следващите 10 години, може би по-нататък.
Може да се окажа в грешка. За момента така виждам нещата, като вдигане на нивото на абстракция, както ти спомена.

снимки: личен архив
– Дори това обаче е непосредствена заплаха за много хора. Надали някой би спорил вече, че с ИИ ставаме много по-ефективни. В началото и аз бях по-умерен, но виждам как всяка следващата итерация отнема голяма част от работата и времето ми и ме прави многократно по-ефективен. Тук вече не говорим за 5-10%, което пак е колосално за фирми като Google, а говорим за повишена ефективност в пъти.
– Да, и аз го усетих. Направих си едно приложение с Go, не бях писал на този език от десетина години. И бях 10 пъти по-продуктивен с Cursor!
Има различни теории. Познавам хора, които смятат, че
уеб платформата е изживяла най-великите си дни. До известен степен мисля същото,
особено предвид чатботовете и начина на екстракция, вземане на информация от уебсайтовете, което намалява и мотивацията на хората да създават толкова много съдържание.
Може би ще имаме различни начини, по които ще споделяме тази информация. Може би ще стане малко по-централизирано, за мое съжаление, тъй като аз харесвам децентрализирания модел. Възможностите за създаване на софтуер също ще се увеличават. Но
аз не виждам риск програмистите да изчезнат.
Може да се регулира малко индустрията, но не чак толкова драматично. Големите компании продължават да наемат изключително много хора.
– Постоянно идват обаче и новини в обратната посока.
– Да, Майкрософт освободи 3%, направиха реприоритизация на проектите си. За момента наблягат още повече на ИИ. Има такива инвестиции и в Google.
В същото време нямаме достатъчно хора в екипа!
Имаме нужда от още, за да вършим повече работа.

– Как според теб ще се променя професията на софтуерния инженер? Ще я има ли изобщо? Всеки следващ етап в напредъка на технологиите повдига абстракцията, вече ние сме хората, които задаваме и после проверяваме, не толкова пишем компютърен код. Дали ще остане така задълго?
– В момента виждам три основни начина как могат да се развият нещата. Единият е, точно както ти каза, задаваш някакъв промт, оттам нататък кодът ти се генерира. Вероятно ще има някаква нужда от човешка намеса на по-ниско ниво. Ако днес пишем на Java, само на 1 от 100, или дори на 1000 програмисти, ще му се наложи да види истинския код, който компилаторът е произвел. По същия начин е възможно един ден малцина да гледат написаното от ИИ.
Може би с течение на времето ще има повече нужда от преглеждане, съответно този процент няма да бъде 1% от разработчиците, а може би 15-20%. Оттам нататък, с повишаване на качеството на моделите, процентът ще намалява.
Друг вариант, който виждам, е абстракцията. Но вече имаме най-високото ниво на абстракция, което можем да си представим. Едно ново web приложение може да бъде композиция от промптове. Отделните компоненти ще бъдат задания, допълнени едно към друго. Това е някакъв междинен вариант.
Третият е да продължим да развиваме нещата, както в момента, с малко по-умен помощник, който да ни дописва кода.
Според мен ще ги има абсолютно всички решения от този спектър, в зависимост от това какво създаваш. Но всичко това са предположения.
– Именно те са ми интересни, особено от гледната ти точка като инженер с опит в Google. Не е ли логично фронтенд програмистите да сме първите, които ще намалеем, ако не и да изчезнем? Давам пример, вече почти не пиша HTML и CSS, едно време това беше немалка част от работата ми.
– HTML и CSS наистина няма да пишем чак толкова много, може да си се наложи да ги оптимизираме. С JavaScript, където има логика, която трябва да имплементираш…

– Тя също често е повтаряема.
– Да, но в момента ИИ генерира например невалиден код за автентикация. Говорих си и с колеги, които работят по една от популярните среди за разработка чрез ИИ, той често дава неработещ код.
В някакъв момент може да се изчистят тези неща. Може технологията да еволюира и това е идея, с която аз също „си играя“. В блога си се занимавах да напиша фреймуърк, който е оптимизиран за ИИ. Възможно е така да се развият нещата. Ако пишеш код на ръка, трябва да е „забавен“ за писане. Като Ruby, да речем, или като новите синтаксиси в JavaScript, да е по-експресивен. Ако ИИ генерира кода, не е нужно –
той може да генерира повторяем код, който не е толкова красив, обаче му се поставят някакви ограничения, така че да може да не прави грешки.
Това е нещо, за което много съм си мислил. Още не знам как ще изглежда този код. Обаче ми се иска да го измисля.
– Тук, в България, се усеща сериозен спад на търсенето на хора в ИТ сферата. Разбира се, това може да има различни причини, но според мен безспорно един от факторите е, че сме много по-ефективни. Казваш, че в Силициевата долина не усещаш подобно нещо.
– Част от причините, поради които не наемаме, е, защото искаме да инвестираме в определени продукти, в определени места. Имаме нужда от повече хора в нашия екип, бихме били още по-продуктивни, ако имахме два пъти повече инженери. Дори с ИИ! Той на нас не ни помага толкова много в разработката на фреймуърци и технологии.
С продуктови екипи си говоря, те определено са по-продуктивни с ИИ. Тук трудно мога да споделя метрики. Но ние бихме били по-продуктивни с повече инженери.

– У нас определено е по-трудно и да си намериш първа работа, а това в един момент може да се окаже проблем. Аз трябва да познавам проекта, за да давам задачите на ИИ и след това да познавам Angular, за да виждам къде той греши. Но ако не влизат нови хора в професията, ако след 5 години нещата се развият в не най-крайния вариант от тези, които изброи, това може да се превърне в проблем. Защото няма да има хора, които познават технологията.
– Наистина, за създаването на приложения ще използваме новите инструменти. Но не се притеснявам, че в софтуерната индустрия няма да има много възможности. Технологиите се развиват изключително бързо, ще имаме нови идеи, нови парадигми за разработка.
Обаче наистина сме в етап, в който всичко се променя толкова бързо, че не знаем къде точно сме и накъде ще тръгнат нещата. И
това за всички води до някакво притеснение, до тревоги.
Аз също не знам…
– Ти как използваш в ежедневието си генеративния ИИ?
– Почти постоянно напоследък! Дори сега пиша блогпоста за Angular 20, имаше секция, която ми липсваше. Един колега беше написал алтернативна версия, дадох на Gemini блогпоста със заглавията на секции, дадох документа на колегата и му казах: „Попълни тази част от статията на базата на другия документ“, свърши чудесна работа.
В писането на код също го използвам, експериментирам. В Google не използваме Cursor, понеже не се знае къде отива кодът, но експериментирам с него, с различни средства за разработка, използвам Bolt, създавам свои собствени инструменти.
Има поне два начина да се възползваме от генеративния ИИ като разработчици – да използваме приложения, които използват ИИ, и да генерираме по-бързо код, за да сме по-продуктивни. Аз се старая да намеря къде можем да интегрираме повече уебтехнологиите така, че да улесним създаването на ИИ приложения.
– Това, което на мен ми дава спокойствие и балансира останалото, е че вече веднъж успях драстично да си сменя професията. Значи… мога да се науча да лепя плочки, макар там да се изисква повече ловкост. Ти, ако трябва да не се занимаваш вече с програмиране и въобще със софтуерна индустрия, какво ще правиш? Късно ли е да станеш полицай, както ми каза, че си мечтаел преди време?
– Късно е, проверявал съм. Треньор по карате е вариант.

– Какво ти дава каратето в програмирането? Има ли изобщо нещо общо?
– Определено! Има нещо, което искам повече да свържа с всичко останало. То е японската култура, където си хващаш занаята и продължаваш да го усъвършенстваш всеки ден. Примерно има 12-13 поредици от движения – катѝ, които в карате практикуваме. Можеш да ги научиш за един месец, ако се напънеш. Обаче хората ги практикуват цял живот и всеки ден можеш да ги направиш малко по-добре, да си малко по-добър.
Има красота в това нещо. Прилича ми на математиката по някаква причина,
имаш основни концепции и ги надграждаш непрекъснато. В каратето започваш да усещаш… „Ако вкарам гравитацията тук и отпусна краката, използвам таза, мога да получа повече сила.“ Малки промени, но усещаш как се случват, свързваш се с физиката.
Подобно е и с програмирането. Много малко са концепциите, които можеш да използваш. Трябват ти един базов цикъл, основни конструкции, променливи и вече имаш език, готов за всичко.
Тези неща обаче можеш да ги комбинираш по-различен начин и се случват неочаквани връзки в мозъка.
Реално можеш да моделираш с тях целия свят!
Консистентната итерация и подобряването на ефективността. Това намирам като общо.
В източните системи може да си хванеш занаята и цял живот да го практикуваш. А в западните сме по-стимулирани да си увеличаваме влиянието. Променяш си позицията и никога не си добър, защото отиваш на следваща.
– Много ми е интересно, че го казваш точно ти, в последните години работещ в сърцето на западната мисъл, Силициевата долина.
– Така е,
има конфликт между двете ценностни системи. За това започнах да се замислям последно време.
Можеш да приемеш, че занаятът е изграждането на капацитет за увеличаване на влиянието с времето. Има хора, които пишат код цял живот, усъвършенстват се в занаята и това е чудесно. Но част от причината, поради която реших да се завърна към изцяло софтуерно инженерна работа за сметка на по-продуктова, беше, че ми липсва този аспект.
Имат много креативност и даже по някакъв начин се занимаваш с по-познати неща. С основите.

– Какво има смисъл да учим сега и да развиваме, за да сме що-годе спокойни, че има някакъв смисъл?
– Това пак е предположение. Струва ми се, че
дори ИИ да пише приложението, за нас това инженерно мислене – за композиция на различни елементи, които да изградят по-сложната система, ще бъде полезно.
Правилно създаване на абстракции и т.н. Какъв език ще използваме, дали ще правим сгради, или ще пишем програми…, все е подобен начин на мислене.
Аз няма да правя проект за сграда, би паднала. Обаче интуитивно ми идват идеи как биха се случили нещата, така че да бъдат надградими, преизползваеми.
– Срещаме се днес в София, какво те върна тук, как ти се видя градът?
– София е супер!
Беше доста добре, когато тръгвах за Силициевата долина преди 10-ина години, сега е още по-добре.
Тук съм със съпругата ми и ще правим малко празненство в България с роднини, по случай нашата сватба. Един месец ще изкараме тук. Тя е от САЩ, учи български, а аз искам да се видя с приятели, да прекарам време със семейството си и се надявам да ни стане традиция.
– Дано наистина! Ще се радвам да продължим този разговор на родна земя скоро!
А за всеки, който се интересува от забележителния ти път, работата в Google и конкретно за Angular, от съветите за това как да успееш, ако мечтата ти е да работиш в Силициевата долина и по какво се отличава работата там, препоръчвам разговора ни в подкаста на DEV.BG:
Очакват ви забележителни истории, отделете един час, няма да съжалявате…














