Haastattelut

Peter McKee, Sonarin kehittäjien suhteiden johtaja – Haastattelusarja

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Peter McKee on Sonarin kehittäjien suhteiden johtaja, joka ratkaisee trillionin dollarin haasteen huonosta koodista. Sonar varustaa kehittäjiä ja organisaatioita systemaattisesti saavuttamaan puhtaan koodin tilan, jotta kaikki koodi on soveltuva kehitykseen ja tuotantoon. Soveltamalla Sonarin “puhdas koodi kun kirjoitat” -menetelmää, organisaatiot minimoi riskin, vähentävät teknistä velkaa ja saavat enemmän arvoa ohjelmistoistaan ennustettavalla ja kestävällä tavalla.

Mikä alun perin kiinnosti sinua tietokoneisiin?

Olin aina kiinnostunut tietokoneista nuoresta iästä lähtien. Vaikka olin aluksi seurannut toista urapolkua, olin jatkuvasti vedätetty takaisin tietokoneisiin ja ohjelmointiin. Eräässä vaiheessa isäni johti teräsyhtiötä Virginiassa ja he olivat menettäneet konsulttiryhmänsä. Koska olin oppinut ohjelmointia nuorena, hän kutsui minut työskentelemään ja rakentamaan järjestelmiä hänelle. En tiennyt, totta kai, mitä tein 100% aluksi, mutta opin kirjoista ja tekemällä työtä työpaikalla ja tulikin täysin itseopiskelijaksi. Se jatkoi kiinnostustani ohjelmointiin ja tietokoneisiin ja vakiinnutti kiinnostukseni tietokoneisiin.

Voitko selittää, mitä tarkoitat “puhtaan koodin” käsitteellä ja miksi se on niin tärkeää?

On sanottu vuosien ajan, että ohjelmistot syövät maailman, ja sanon, että olemme nyt siinä vaiheessa, jossa se on virallista – maailma on rakennettu ohjelmistoista ja jokainen yritys on käytännössä ohjelmistoyritys. Hyvän ohjelmiston perustana on laadukas koodi, koska koodi on kaiken ohjelmiston ydin ja määrää sen käyttäytymisen ja suorituskyvyn. Tämän vuoksi “puhdas koodi” – koodi, joka on johdonmukainen, tarkoituksenmukainen, sopeutuva ja vastuullinen – on niin tärkeää. Puhdas koodi on helppo ymmärtää ja muuttaa, toimii sileästi suoritusaikana ja sisältää ei teknistä velkaa, joten se on soveltuva tarkoitukseen. Puhdas koodi on standardi, jota organisaatioiden tulisi omaksua, jotta heidän ohjelmistonsa jatkaisivat olemassa olevan arvon ja eivät olisi riski – ja se on avain nykyisen liiketoiminnan menestykseen.

Puhdas koodi hyödyttää joukkueita ja organisaatioita kaikissa koissa ja kypsentää ohjelmistojen arvoa. Muutamia erityisiä hyötyjä ovat:

  • Parantaa kehittäjien taitoja – Kehittäjät voivat havaita, ymmärtää ja ratkaista ongelmia koodatessaan ja samalla oppia parhaita käytäntöjä
  • Lisää tehokkuutta ja tuottavuutta – Vähentää jatkuvaan uudelleen työhön ja pitkiin palautuskiertoihin, johtaa suurempaan tuottavuuteen
  • Vähentää maineen ja liiketoiminnan riskiä – Puhdas koodi takaa vähemmän turvallisuusriskejä, mahdollistaen joukkueiden ratkaista ongelmia ennen kuin ne pääsevät tuotantoon
  • Vähentää koodin teknistä velkaa – Puhdas koodi ratkaisee koodipohjan velan ilman massiivista sovelluksen ylläpitoa ja häiriötä
  • Lisää ohjelmistokehityksen nopeutta – Puhdas koodi parantaa DevOps -nopeutta, edistäen nopeampaa markkinoille saapumista

Voitko keskustella koodin johdonmukaisuuden ja rakenteen tärkeydestä, ja mitä esimerkkejä on olemassa johdonmukaisesta ja puhtaasta koodista?

Johdonmukainen koodin laatu on se, mitä jokainen johtaja tai tekninen johtaja pyrkii ylläpitämään. Johdonmukaisuus on tärkeää, kun on kyse koodin laadusta, koska johdonmukaisuus johtaa ennustettavuuteen. Se on kirjoitettu yhdenmukaisella ja perinteisellä tavalla – kaikki koodi näyttää samalta ja noudattaa säännöllistä mallia, vaikka useat osallistujat työskentelevät eri aikoina. Johdonmukainen koodi on muotoiltu, perinteinen ja tunnistettavissa. Kun johdonmukaiset koodausstandardit otetaan käyttöön, kehittäjät tulevat tehokkaammaksi ja pystyvät täyttämään toimitusodotuksensa nopeasti ja tarkasti.

Voitko keskustella koodin tärkeydestä, joka pystyy käsittelemään odottamattomia tilanteita, ja miksi tämä ei saa jääda huomiotta?

Kehittäjät yrittävät aina ennakoida ja valmistautua odottamattomiin tilanteisiin suunnittelun ja kehityksen aikana, mutta sitä ei voida estää jokaisessa tapauksessa. Odottamattomat tilat voivat syntyä tahattoman väärinkäytön tai tarkoituksellisten hyökkäysten seurauksena. Nämä odottamattomat tilat voivat tahattomasti aiheuttaa turvallisuusriskejä, joita hyökkääjät voivat hyödyntää. Tämän vuoksi kehittäjien tulisi pyrkii parantamaan koodin laatua ja testata odottamattomia tilanteita. Noudattamalla “puhdas koodi kun kirjoitat” -lähestymistapaa, joukkueet voivat kiihdyttää uusia ominaisuuksia, välttää tarpeettomia kustannuksia ja edistää kykyjen kasvua ja pidätystä. Puhdas koodi edistää turvallisuutta, ylläpidettävyyttä ja luotettavuutta ja voi mahdollistaa kehittäjille odottamattomien tilanteiden ennakoinnin ja käsittelemisen tehokkaammin ja saada ohjelmiston nopeammin toimimaan.

Voitko keskustella generatiivisen tekoälyn hyödyistä koodin luomisessa?

Tekoälyn sisällyttäminen ohjelmistokehityksen elinkaareen on hyödyllistä, kuten esimerkiksi kehittäjien työn tehokkuuden parantaminen. Itse asiassa GitHub -tutkimus osoitti, että kehittäjät voivat suorittaa tehtäviä yli 50% nopeammin käyttämällä tekoälyä. Generatiivinen tekoäly voi myös luoda koodia nopeammin ja ottaa pois kehittäjien harteilta turhia, rutiinisia tehtäviä, kuten dokumentaation tai koodinpätkien luominen, jotta he voivat keskittyä arvokkaampiin, hauskempiin töihin, jotka ratkaisevat monimutkaisempia ongelmia. Riippumatta siitä, miten koodi luodaan, on kriittinen, että se tarkistetaan “puhtaan koodin” standardeja vastaan, jotta koodi on turvallinen, luotettava ja ylläpidettävissä.

Mitkä ovat joitain mahdollisia vaaroja ja riskejä luodusta koodista?

 Tehtävässä, jossa tekoäly voi vapauttaa kehittäjien aikaa työskentelemään arvokkaampien projektien parissa ja lisätä tuottavuutta, ei ole vaaroja. Tämän vuoksi kehittäjien kysyntä ei häviä tekoälyn aikakaudella. Koska generatiiviset tekoälytyökalut voivat luoda paljon koodia nopeasti, on mahdollista, että siinä on virheitä. Tässä on muutamia erityisiä vaaroja:

  • Vastuu: Tekoälyluodun koodin kautta vähenee mahdollisuus pitää ihmisiä vastuussa luodusta koodista, mikä voi tehdä ongelmien ratkaisemisen hankalammaksi.
  • Haavoittuvuudet: Koska se perustuu pääosin joukkorahoitettuun tietoon, ei ole takeita siitä, että tuotettu koodi on turvallinen tai puhdas. Siinä voi olla virheitä tai turvallisuusongelmia, jotka voivat asettaa liiketoiminnan vaaraan.
  • Laatu: Tekoäly ei tarkista laatua, ja vain siksi, että se on luotu tekoälyllä, ei tarkoita, että se on tehokasta tai laadukasta.
  • Ei kontekstia: Ihmisen puuttuminen luonnostaan tarkoittaa, että konteksti ongelmasta tai projektista katoaa. Tekoälyluodun koodin on tarkistettava, jotta varmistetaan, että se tekee työnsä kokonaisuutena.

Kun kehittäjät noudattavat “puhdas koodi kun kirjoitat” -lähestymistapaa koodiinsa – riippumatta siitä, onko se ihmisten vai tekoälyn luoma – he voivat varmistaa, että se on soveltuva kehitykseen ja tuotantoon ja täyttää organisaation vaatimukset.

Mitkä ovat muita muuttujia, jotka tulisi ottaa huomioon tuotantoon soveltuvassa koodissa?

 Kehittäjät, jotka kirjoittavat koodia, joka noudattaa “puhtaan koodin” periaatteita, voivat olla varmoja, että heidän koodinsa on soveltuva kehitykseen ja tuotantoon, mikä tarkoittaa, että koodi noudattaa tiettyjä ominaisuuksia:

  • Johdonmukainen: Koodi tulisi olla johdonmukainen ja noudattaa yhteistä tyyliä. Vaikka useat kehittäjät työskentelevät siinä eri aikoina, se tulisi olla saman näköinen ja noudattaa aikaisemmin vakiintuneita malleja.
  • Tarkoituksenmukainen: Tarkoituksenmukainen koodi tulisi lukea kuin se olisi kirjoitettu huolella ja tarkasti sen tarkoituksen ilmentämiseksi; siinä tulisi olla vain yksi mahdollinen tulkinta.
  • Sopeutuva: Sopeutuva koodi on jaettu ja järjestetty tavalla, joka tekee siitä helpomman hallita ja nähdä koodin osien väliset suhteet. Tämä tekee koodista rakenteellisen ja helposti evoluution kannalta.
  • Vastuullinen: Koodi ja sen kehittäjien on oltava tietoisia eettisistä velvollisuuksistaan tietojen ja yhteiskunnallisten normien suhteen. Koodi ei saa esittää jatkuvaa riskiä kolmansille osapuolille vahingoittamisesta.

Voitko keskustella joistakin Sonarin tarjoamista palveluista ja miten ne auttavat koodareita luomaan vastuullista, turvallista, laadukasta koodia nopeasti ja systemaattisesti?

 Teollisuuden johtavien analytiikkojen kautta Sonar tunnistaa koodauksen ongelmat kattavasti ja suosittelee korjauksia lyhyillä palautuskiertoilla ja kouluttaa kehittäjiä asiayhteydessä, mikä lopulta mahdollistaa organisaatioille luoda vastuullista, turvallista, laadukasta koodia nopeasti ja systemaattisesti. Sonarin ratkaisun ydin osat ovat SonarLint, SonarQube (itsehallinnollinen; avoimen lähdekoodin) ja SonarCloud (SaaS), joilla on laaja kattavuus, joka tukee yli 30 ohjelmointikieltä, kehysrakenteita ja infrastruktuureja, 11 IDE:ä ja yli 5 000 koodin ja kielen mukaista sääntöä.

SonarLint, IDE-laajennus, tarjoaa ensimmäisen tarkistuslinjan ongelmien löytämiseksi reaaliajassa siitä hetkestä, kun koodi on kirjoitettu. Se löytää suuren osan ongelmista etukäteen ja auttaa kehittäjiä löytämään ja korjaamaan virheitä kuin oikoluku ohjelmassa. SonarQube ja SonarCloud, Sonarin staattisen koodin tarkastusvälineet, tarkastavat ja analysoivat koodipohjaa jatkuvasti, SonarLint-integraatiolla. Käyttäen laadun portteja määrittämiseen, onko koodi täyttänyt määritettyjä laatu-, turvallisuus- ja luotettavuusstandardeja tuotantoon, SonarQube ja SonarCloud tarkastavat koodia virheistä, haavoittuvuuksista, turvallisuuden kuuma kohteista ja koodin hajusta.

Yhdistämällä ratkaisumme “puhdas koodi kun kirjoitat” -lähestymistapaan – lähestymistapa, joka noudattaa vakiintuneita standardeja koodin pitämiseksi puhtaana – kehittäjät ja organisaatiot voivat toimittaa puhdasta koodia ja korjata olemassa olevaa koodia luonnostaan, jotta he voivat keskittyä uusiin, innovatiivisiin projekteihin, jotka tuottavat liiketoimintaa.

Miten Sonar auttaa varmistamaan, että koodi on sääntelyn mukainen ja täyttää teollisuuden standardeja?

Sonar auttaa kehittäjiä saamaan välittömän ja asiayhteyden mukaisen palautteen, korostamalla ongelmia, joissa he ovat koodipohjassa, kehitystyön perusteella vuosien kielen analytiikka kokemuksen perusteella. Kehittäjät saavat selkeät selitykset siitä, miksi ongelma ilmenee ja miten se voidaan nopeasti korjata, sekä lisäresursseja syvemmälle oppimiseen. Meillä on koulutus koko työnkulun ajan, IDE:stä CI/CD:hen. Esimerkiksi Sonarilla on erityisiä MISRA C++ 2023 -sääntöjä saatavilla SonarLintissä, jotta tiimit voivat luoda koodia, joka on parhaiten valmisteltu lopulliseen sertifioimiseen. Se tarjoaa koodaamisohjeita, selittäen, miksi ongelma on merkitty ja miten se voidaan korjata, jotta koodi on MISRA-yhdenmukainen.

Mikä on visiosi siitä, miten tekoäly muuttaa koodaamista tulevaisuudessa?

 Luulen, että tekoäly jatkaa arvon tarjoamista kehittäjien polttoutumisen ratkaisemisessa. Vaikka en usko, että tekoäly voi koskaan siirtää kehittäjien ajattelua ja ihmisen kosketusta, luulen, että jo muutaman kuukauden kuluttua näemme kokonaan uuden joukon GPT:itä – puhumattakaan siitä, miltä se näyttää muutaman vuoden kuluttua. En usko, että teknologit tai kehittäjät häviävät, mutta keino, jolla he työskentelevät jokapäiväisessä työssään, muuttuu varmasti. Tekoälyn käyttäminen kehittäjien toimesta tulee olemaan yhtä yksinkertaista ja arkista kuin Google-haku jollekin asialle lyhennystä. On paljon tutkittavaa tekoälyn käytöstä, mutta meidän on kuitenkin otettava huomioon ihmisen osuus eturintamassa tekoälyn heikkouksien tarkastamiseksi. On muuntavan potentiaalia ohjelmistokehitykselle, mutta emme saa antaa sen toimia ilman tarkastuksia – erityisesti kun digitaaliset liiketoiminnat ovat riippuvaisia ohjelmistosta, joka sitä tukee.

Kiitos haastattelusta, lukijat, jotka haluavat oppia lisää, voivat vierailla Sonar.

Antoine on visionäärisellä johtajalla ja Unite.AI:n perustajakumppani, joka on intohimoisesti omistautunut tulevaisuuden älyteknologian ja robotiikan muotoiluun ja edistämiseen. Sarjayrittäjänä hän uskoo, että älyteknologia tulee olemaan yhtä mullistava yhteiskunnalle kuin sähkö, ja hän on usein innostunut puhumaan älyteknologian ja AGI:n mahdollisuuksista.

Hän on tulevaisuudentutkija, joka on omistautunut tutkimiseen, miten nämä innovaatiot muotoilevat maailmaamme. Lisäksi hän on Securities.io:n perustaja, joka on keskittynyt sijoittamiseen älykkäisiin teknologioihin, jotka määrittelevät tulevaisuutta ja muokkaavat koko toimialoja.