Addy Osmani: Od Chrome DevTools k inženýrství AI
Rozhovor s Addym Osmanim o jeho kariéře v Googlu, používání AI při vývoji a riziku, že rychlejší generování kódu předběhne porozumění samotnému systému.
Addy Osmani strávil více než 14 let v Googlu a je známý prací kolem Chrome, DevTools a webového výkonu. V rozhovoru pro The Pragmatic Engineer popisuje svou cestu od vývoje nástrojů pro webové vývojáře až k současnému používání AI při softwarovém inženýrství.
Zajímavá není jen změna nástrojů. Osmani se vrací hlavně k otázce, co se stane, když AI umožní vytvářet software rychleji, než mu vývojář dokáže porozumět.
Od vlastního prohlížeče k Chrome
Osmani začal experimentovat s webovými technologiemi už jako teenager. Ve věku 16 let vytvořil vlastní webový prohlížeč, protože tehdejší přístup k internetu byl pomalý a omezený. V rozhovoru popisuje i období, kdy nosil data na disketě mezi knihovnou a domovem.
Později se v Googlu podílel na Chrome a nástrojích pro webové vývojáře. DevTools postupně rozšířily možnosti ladění aplikací, měření výkonu nebo emulace mobilních zařízení.
Osmani v rozhovoru zároveň upozorňuje, že podle jeho zkušenosti řada vývojářů stále nemá hlubší znalosti práce s pamětí. Nejde ale o obecně změřený stav celé vývojářské populace, spíš o jeho pohled vycházející z dlouhodobé práce na vývojářských nástrojích.
AI mění i způsob, jakým lidé v týmech programují
Osmani popisuje, že AI nástroje snížily bariéru pro návrat ke kódu i u lidí, kteří už běžně neprogramují každý den. V Googlu podle něj začali více experimentovat s kódem také někteří vedoucí pracovníci.
To samo o sobě neznamená, že AI automaticky zvyšuje inovace nebo produktivitu. Ukazuje to ale jeden praktický posun: generování a úprava kódu se stávají dostupnější i lidem, kteří by dříve potřebovali více času na práci s konkrétním frameworkem nebo jazykem.
Cognitive surrender a dluh v porozumění
Jedním z hlavních rizik je podle Osmaniho cognitive surrender. Tím označuje stav, kdy člověk nepoužívá AI jen k delegování části práce, ale přestane vytvářet vlastní úsudek a začne její výstup přijímat bez dostatečné kontroly.
Osmani tento problém spojuje také s pojmem comprehension debt — rostoucí mezerou mezi množstvím kódu v systému a tím, kolika z něj lidé v týmu skutečně rozumějí.
AI může během krátké doby vytvořit velké množství změn, testů nebo architektonických rozhodnutí. Pokud je vývojář jen schválí podle toho, že kód kompiluje a testy procházejí, může se rychlost vývoje zvýšit současně se ztrátou mentálního modelu systému.
Osmani proto doporučuje rozlišovat mezi kognitivním odlehčením a úplným odevzdáním rozhodování modelu. Cílem není rozumět každému internímu kroku modelu, ale chápat důležitá rozhodnutí a být schopný za výsledný software převzít odpovědnost.
Odpovědnost zůstává na vývojáři
Podle Osmaniho budou softwaroví inženýři důležití i v prostředí, kde velkou část implementace vytváří AI. Model totiž nenese odpovědnost za provozní incident, bezpečnostní chybu nebo dlouhodobou udržovatelnost systému.
Osmani očekává, že snazší tvorba softwaru může vést k růstu množství vznikajícího softwaru. Nejde tedy nutně jen o nahrazení existující práce, ale také o vznik projektů a funkcí, které by dříve kvůli ceně nebo času nevznikly.
Zároveň doporučuje vývojářům rozvíjet produktové uvažování. Pokud samotná implementace zlevňuje, větší hodnotu může mít schopnost vybrat správný problém, určit priority a posoudit, zda výsledná funkce skutečně řeší potřebu uživatele.
Rychlost nestačí, pokud mizí porozumění
Praktická pointa rozhovoru není v tom, že by se vývojáři měli AI vyhýbat. Osmani ji sám intenzivně používá.
Důležitější je způsob použití. Pokud AI zrychluje tvorbu kódu a současně roste porozumění systému, funguje jako nástroj pro zvýšení schopností vývojáře. Pokud množství kódu roste rychleji než schopnost týmu vysvětlit, proč systém funguje právě takto, vzniká dluh, který se může projevit až při pozdější údržbě nebo incidentu.