Umělá inteligence výrazně ovlivnila řadu profesí a vývojáři nejsou výjimkou. Ale co si o této technologii myslí vývojáři?
Rostoucí popularita AI je nepopiratelná, ale vyvolává otázku, jak významná a relevantní je AI pro pracovní postup vývojářů. Aby toto téma osvětlilo, Stack Overflow provedl průzkum u více než 90 000 vývojářů a hledal jejich názory na AI. Průzkum přinesl několik pozoruhodných závěrů, jak je uvedeno níže.
Celkové pocity vývojářů vůči AI
Jak již bylo zmíněno, AI je mezi vývojáři stále oblíbenější. Podle Průzkum Stack Overflow 202370 % již používá nebo plánuje používat nástroje AI ve svém vývojovém procesu, 44 % již nástroje používá nyní a 26 % plánuje.
Názory na AI se liší podle povolání a úrovně zkušeností vývojáře.
Profese
SRE, bezpečnostní profesionálové a vývojáři her mají na AI nepříznivé názory. To je možné kvůli bezpečnostním problémům způsobeným dodáváním kódu nebo citlivých informací do systémů AI.
U vývojářů zaměřených na hardware, backendové systémy nebo aplikace je méně pravděpodobné, že budou používat nástroje AI. Je to proto, že aplikace jsou příliš složité a nástroje AI jim nejsou schopny pomoci.
Frontendoví vývojáři, datoví vědci a cloudoví vývojáři patří mezi vývojáře, kteří s větší pravděpodobností používají nástroje AI. Vývojářům frontendu a backendu mohou pomoci nástroje AI poskytováním úryvků kódu nebo skriptů pro určité funkce.
Datoví vědci mohou využít AI k automatizaci zpracování dat, optimalizaci modelů a výběru funkcí.
Cloudovým vývojářům může AI pomoci optimalizovat správu infrastruktury automatizací procesů, jako je alokace zdrojů, vyvažování zátěže, monitorování a ladění výkonu.
Zkušenosti
Vývojáři dříve v kariéře a ti, kteří se učí kódovat, pravděpodobněji budou používat nástroje AI, možná proto, že zrychlují učení.
Na druhou stranu 42,2 % vývojářů s více než 21 a více lety zkušeností je k AI méně nakloněno. Může to být proto, že chtějí zjistit, zda humbuk kolem umělé inteligence utichne, než se pustí do určitého nástroje.
země
Profesionální vývojáři z Indie (83 %), Brazílie (78 %) a Polska (70 %) patří mezi vývojáře, kteří používají nebo plánují používat nástroje AI v budoucnu. Je to pravděpodobně způsobeno vysokým růstem mladých vývojářů z těchto zemí. U vývojářů ze Spojeného království, Francie a Německa je méně pravděpodobné, že budou nástroje umělé inteligence používat.
K jakým úkolům vývojáři používají AI?
Vývojáři používají AI pro různé úkoly a tyto úkoly se liší mezi vývojáři, kteří se učí kódovat, a profesionálními vývojáři.
Vývojáři, kteří se učí kódovat, většinou používají AI, aby se dozvěděli o základně kódu a napsali kód.
Průzkum ukázal, že 86 % profesionálních vývojářů používá nástroje AI k psaní kódu a 54 % je používá k ladění svého kódu. Zajímají se také o používání nástrojů umělé inteligence k testování, schvalování a kontrole kódu, nasazování a monitorování aplikací a kódu dokumentů.
Stojí za zmínku, že pouze několik vývojářů má zájem o použití AI ke spolupráci se spoluhráči.
Výhody AI pro vývojáře
Umělá inteligence je přínosná pro profesionální vývojáře i pro ty, kteří se učí kódovat. Celkově 33 % vidí zvýšení produktivity jako nejdůležitější přínos používání AI. Nástroje jako GitHub Copilot nabízejí funkce jako návrhy kódu, automatické dokončování a detekce chyb, které mohou výrazně urychlit proces kódování.
Profesionální vývojáři viděli jako hlavní přínos zlepšení produktivity (37,4 %), přičemž vyšší efektivita (27,9 %) a rychlost učení (27,4 %) byly vedlejší.
Pro vývojáře, kteří se učí kódovat, zvýšená rychlost učení (42,4 %) a zvýšená produktivita (41,4 %) jsou hlavní výhody AI, zatímco vyšší efektivita (33,7 %) při psaní kódu je sekundární výhoda.
Pouze malé procento vývojářů vidí zvýšenou přesnost jako výhodu nástrojů AI. Zkušení profesionální vývojáři jsou skeptičtější, protože pouze 14,1 % považuje lepší přesnost za výhodu AI ve srovnání s 23,8 % těch, kteří se učí kódovat.
Průzkum dále kategorizoval tyto výhody napříč různými typy vývojářů. Zvýšená produktivita byla konstantní u všech typů vývojářů.
Stack Overflow zkoumal popularitu různých nástrojů AI seskupených mezi nástroje pro vyhledávání AI a nástroje pro vývojáře AI. Z dat vývojáři primárně využívají dva nástroje, ChatGPT a GitHub Copilot.
Mezi vyhledávacími nástroji AI je ChatGPT nejoblíbenějším nástrojem. 79 % vývojářů, kteří ji používají, ji chce používat příští rok znovu. Těsně pozadu v popularitě byly Bing AI a Google Bard AI.
Google hlasitě hovořil o Bardových kódovacích schopnostech, ale kdy oproti ChatGPT Bard stále zaostává.
Některé z dalších vyhledávacích nástrojů AI, které vývojáři používají, jsou WolframAlpha, Phind a You.com.
GitHub Copilot je nejoblíbenější asistent kódování AI. 70 % + respondentů, kteří pracovali s GitHub Copilot, s ním chtějí znovu pracovat. Navíc více než 59 % uživatelů Tabnine a 50 % uživatelů AWS Code Whisperer chce používat GitHub Copilot.
Toto pomalé zavádění široké škály nástrojů umělé inteligence lze přičíst skepticismu ohledně přesnosti umělé inteligence, přičemž pouze 2,85 % vývojářů vysoce důvěřuje výstupu umělé inteligence. Tuto nedůvěru lze přičíst nástrojům, jako je ChatGPT, které někdy poskytují nesprávný výstup. Tento výstup může při použití způsobit významné poškození aplikace. Při použití těchto nástrojů je vždy dobré výstup nejprve ověřit.
Jak začít s AI ve vývoji softwaru
Jako vývojář softwaru můžete začít s umělou inteligencí začleněním nástrojů pro generování a úpravy kódu do vašeho vývojového procesu. Nástroje jako GitHub Copilot a Tabnine navrhují úryvky kódu na základě kontextu při psaní, což může výrazně zkrátit dobu vývoje. ChatGPT je navíc velmi užitečný pro generování pomocných funkcí, komponent uživatelského rozhraní a ladění kódu. Se správnými výzvami můžete dokonce použijte ChatGPT k vytváření webových aplikací.
Budoucnost vývoje softwaru s podporou umělé inteligence
Ačkoli mnoho vývojářů souhlasí s tím, že AI je prospěšný nástroj v jejich pracovním postupu, jen málo z nich je připraveno plně důvěřovat nástrojům AI při kódování celé jejich aplikace. Umělá inteligence však jistě mění způsob, jakým vývojáři vytvářejí aplikace. Využitím nástrojů AI mohou vývojáři zefektivnit různé fáze vývoje včetně psaní kódu, testování, ladění a kontroly kódu. Díky tomu mohou výrazně optimalizovat životní cyklus vývoje.