AWS:n Principal Developer Advocate Gunnar Grosch esitti AWS Summit Stockholm 2025 -tapahtumassa rohkean näkemyksen ohjelmistokehityksen tulevaisuudesta. - Lopulta tekoäly lopettaa koodaamisen. Hänen mukaansa kehittäjien rooli on jo nyt siirtymässä koodin kirjoittajista kohti koodintarkastajaa – asiantuntijaa, joka ohjaa, tarkistaa ja optimoi tekoälyn tuottamaa koodia.
Grosch on itse koodannut yli 25 vuotta ja toteaa rehellisesti, että suuri osa kehittäjän ajasta kuluu väärin asioihin. Itse asiassa kehittäjä käyttää alle tunnin päivässä varsinaiseen koodin kirjoittamiseen. Loppu aika menee järjestelmien ylläpitoon, hallintaan ja tukitehtäviin. Juuri tähän haasteeseen Amazon vastaa kehittämällään työkalulla Amazon Q Developer.
Amazon Q Developer on uuden sukupolven tekoälyagentti, joka auttaa kehittäjiä koko ohjelmistokehityksen elinkaaren ajan. Tällä tarkoitetaan sitä, että työkalu pystyy tukemaan niin uuden koodin suunnittelussa, kirjoittamisessa ja dokumentoinnissa kuin myös olemassa olevan koodin refaktoroinnissa, optimoinnissa, tietoturvan parantamisessa ja käyttöönotossa. Groschin mukaan Q Developer ei pelkästään ehdota ratkaisuja, vaan toimii aktiivisesti: se tekee koodimuutoksia, laatii funktiot ja dokumentaation, huolehtii testikattavuudesta ja jopa ottaa koodin käyttöön palvelussa.
Q Developer on koulutettu erityisesti AWS-maailmaan ja tuntee AWS:n parhaat käytännöt. Sen voi yhdistää esimerkiksi IDE-työkaluihin, komentorivikäyttöön, Slackiin, Gitlabiin tai AWS:n omaan konsoliin. Pro-version avulla se voidaan myös opettaa tuntemaan organisaation oma koodi, jolloin tekoäly pystyy tuottamaan entistä paremmin yrityksen tyyliin ja standardeihin sopivaa koodia.
AWS Summitin demossaan Grosch loi dokumenttiyhteenvetosovelluksen, jossa käyttäjä tallentaa dokumentin AWS:n S3-tiedostopalveluun. Tämän jälkeen AWS Lambda -toiminto käynnistyy automaattisesti ja lähettää kehotteen Amazon Bedrockin valitsemalle kielimallille, esimerkiksi Anthropicin Claudelle. Malli tuottaa dokumentille otsikon ja yhteenvedon, jotka tallennetaan DynamoDB-tietokantaan.
Kaikki tämä toimii ilman, että kehittäjän tarvitsee itse kirjoittaa koodia alusta asti. Q Developer generoi tarvittavat koodit, määrittelee käyttöoikeudet, rakentaa arkkitehtuurin ja huolehtii skaalautuvuudesta, koska koko sovellus toimii serverless-ympäristössä. Käyttäjän tarvitsee vain pudottaa halutut tiedostot S3-ämpäriin ja luotu sovelluas tekee kaiken muun.
Tekoäly pystyy jopa optimoimaan koodia, lisäämään kommentteja, tarkistamaan tehokkuutta ja selittämään, mitä koodi tekee. Seuraava askel Groschin mukaan on tehdä sovelluksesta käyttäjäystävällisempi lisäämällä sille käyttöliittymä. Tämäkin onnistuu keskustelupohjaisesti, sillä Q Developerin agentti tunnistaa koodista sen rakenteen ja osaa ehdottaa sopivia jatkotoimia. Demossa kömpelö käyttöliittymä muokattiin edistyneeksi ratkaisuksi, josta jopa ponnahti ulos haluttuja tietoja. Tähänkään ei itse koodattu riviäkään.
Myös spesifikaatiopohjainen ohjelmistokehitys on mahdollista. Kehittäjä voi kirjoittaa sovelluksen toiminnot ja vaatimukset tekstimuotoon, ja tekoälyagentti rakentaa sen pohjalta koko järjestelmän. Kaiken tämän seurauksena kehittäjän ei enää tarvitse käyttää aikaansa etsimällä sopivia koodeja Stack Overflow’sta tai Googlesta. Riittää, että hän kuvaa, mitä haluaa saada aikaan – ja tekoäly toteuttaa sen parhaiden käytäntöjen mukaan.
On kuitenkin tärkeää ymmärtää, että tämä kehitys ei tarkoita osaamistarpeen vähenemistä. Päinvastoin. Kehittäjien on edelleen oltava teknisesti osaavia. Heidän täytyy ymmärtää arkkitehtuuria, tietoturvaa ja optimointia. Mutta sen sijaan, että he kirjoittaisivat kaiken itse, he keskittyvät ohjaamaan, arvioimaan ja viimeistelemään tekoälyn työn.
Groschin mukaan on syytä kysyä, onko tekoälyn kanssa keskusteleminen tulevaisuuden koodaamista. Hän uskoo, että näin on, ja että tekoäly voi tuottaa jopa parempaa koodia kuin ihminen – erityisesti silloin, kun sitä käytetään viisaasti muun muassa optimointiin, laadun tarkasteluun ja dokumentointiin.
Lopulta tekoäly ei siis lopeta ohjelmistokehittäjän työtä. Se vain lopettaa sen, että koodia täytyy kirjoittaa käsin. Koodaamisesta tulee agentin kanssa keskustelua ja agentti neuvoo, ohjaa ja tuottaa koodin. Samalla koko prosessi nopeutuu merkittävästi.