Connect with us

Interviews

Peter McKee, Chef for Udviklerrelationer hos Sonar – Interviewserie

mm

Peter McKee er Chef for Udviklerrelationer hos Sonar, en platform der løser den trillion-dollars udfordring af dårlig kode. Sonar udstyrer udviklere og organisationer til systematisk at opnå en tilstand af Ren Kode, så alle koder er egnede til udvikling og produktion. Ved at anvende Sonars Ren Kode som du kodér-metode, minimiserer organisationer risikoen, reducerer teknisk gæld og udvikler mere værdi fra deres software på en forudsigelig og bæredygtig måde.

Hvad var det, der oprindeligt tiltrak dig til datalogi?

Jeg var altid interesseret i computere fra en ung alder. Selv da jeg oprindeligt fulgte en anden karrierevej, blev jeg ved med at være tiltrukket af computere og programmering. På et tidspunkt var min far leder af et stålentreprise i Virginia, og de havde mistet deres konsulentgruppe. Da jeg havde lært at programmere, da jeg var yngre, inviterede han mig til at arbejde og bygge systemer til ham. Jeg vidste ikke, sandt at sige, hvad jeg gjorde 100% til at begynde med, men jeg lærte af bøger og gjorde arbejdet på jobbet, og blev fuldstændig selvuddannet. Det fortsatte med at drive min interesse for kodning og computere og cementerede virkelig min interesse for datalogi.

Kan du forklare, hvordan du definerer, hvad der er Ren Kode, og hvorfor det er så vigtigt?

Det er blevet sagt i år, at software vil æde verden, og jeg ville sige, at vi er nået til det punkt, hvor det er officielt – verden er bygget på software, og hver virksomhed er effektivt en softwarevirksomhed. Til grund af god software ligger kvalitetskode, da kode er centrum for al software og bestemmer dens adfærd og ydeevne. Dette er hvorfor Ren Kode – kode, der er konsekvent, intentionel, tilpasningsdygtig og ansvarlig – er så vigtig. Kode, der er ren, er let at forstå og ændre, fungerer glat under kørsel og indeholder ingen teknisk gæld, og derfor er det egnede til formålet. Ren Kode er standarden, som organisationer skal omfavne for at sikre, at deres software fortsat er en aktiv – og ikke en passiv – og er nøglen til i dagens forretningsucces.

Ren Kode giver fordele for hold og organisationer af alle størrelser og modenhedsniveauer og øger værdien af software som følge. Nogle specifikke fordele er, at det:

  • Forbedrer udviklingsevner — Udviklere kan opdage, forstå og løse problemer, mens de kodér, samt lære bedste praksis
  • Øger effektivitet og produktivitet — Reducerer kontinuerligt omarbejde og lange feedback-kredsløb, hvilket resulterer i større produktivitet
  • Reducerer rygte- og forretningsrisiko — Ren Kode sikrer færre sikkerhedsrisici ved at enable hold til at proaktivt løse problemer, før de når produktion
  • Lavere kode-niveau teknisk gæld — Ren Kode løser gradvist gælden i kodebasen uden behov for en massiv applikationsomlægning og afbrydelse
  • Øger softwareudviklingshastighed — Ren Kode-standarder og strømlinede flader forbedrer DevOps-hastighed, hvilket fremmer hurtigere markedsføring

Kan du diskutere vigtigheden af konsekvens og struktur i kode, og hvad er nogle eksempler på konsekvent og Ren Kode?

Konsekvent kodekvalitet er noget, som hver manager eller teknisk direktør søger at opretholde. Konsekvens er afgørende, når det kommer til kodekvalitet, fordi konsekvens fører til forudsigelighed. Det er skrevet på en ensartet og konventionel måde – all kode ligner hinanden og følger en fast mønster, selv med multiple bidragydere på forskellige tidspunkter. Konsekvent kode er formateret, konventionel og identificerbar. Når konsekvente kodestandards er antaget, bliver udviklere mere effektive og kan opfylde deres leveringsforventninger med hast og præcision.

Kan du diskutere vigtigheden af kode, der kan håndtere uventede tilstande, og hvorfor dette ikke bør oversees?

Udviklere forsøger altid at forudse og forberede sig på uventede begivenheder under design- og udviklingsprocessen, men dette kan ikke forhindres i alle tilfælde. Uventede tilstande kan opstå på grund af ufrivillig misbrug eller bevidst udløste angreb. Disse uventede tilstande kan utilsigtet introducere sikkerhedsårer, som angribere kan udnytte. Dette er hvorfor udviklere altid skal stræbe efter at forbedre kvaliteten og stabiliteten af deres kode og teste for uventede tilstande. Ved at følge en Ren Kode som du kodér-tilgang, kan hold accelerere nye funktioner, undgå unødvendigt omarbejdeomkostninger og fremme talentvækst og fastholdelse. Ren Kode fremmer sikkerhed, vedligeholdelighed og pålidelighed og kan enable udviklere til at forudse og håndtere uventede tilstande mere effektivt og få softwaren tilbage i gang hurtigere.

Kan du diskutere fordelene ved at bruge Generativ AI til kodegenerering?

At integrere AI i softwareudviklingslivscyklussen har sine fordele, såsom at enable udviklere til at arbejde mere effektivt. Faktisk fandt GitHub-forskning, at udviklere kan fuldføre opgaver mere end 50% hurtigere ved hjælp af AI. GenAI kan også generere kode hurtigere og tage byrden af mere kedelige, rutineopgaver – som dokumentation eller generering af kodefragmenter – af deres skuld, så de kan bedre koncentrere sig om højere-værdi, belønnende arbejde til at løse mere komplekse problemer. Uanset hvordan kode er skabt, er det kritisk, at det kontrolleres mod Ren Kode-standarder for at sikre, at koden er sikker, pålidelig og vedligeholdelig.

Hvad er nogle af de potentielle faldgruber og risici ved genereret kode?

  Mens AI kan frigøre udviklernes tid til at arbejde på højere-værdi-projekter og forbedre produktiviteten, kommer det ikke uden risici. Dette er hvorfor efterspørgslen efter udviklere ikke vil forsvinde i AI-alderen. Fordi GenAI-værktøjer kan generere en masse kode hurtigt, er der en potentiel for fejl. Her er nogle specifikke faldgruber:

  • Ansvarlighed: AI-genereret kode reducerer evnen til at holde mennesker ansvarlige for skabt kode, hvilket kan gøre det sværere at løse/problemer
  • Sårbarheder: Fordi det tager størstedelen af crowdsourced information, er der ingen garanti for, at den producerede kode er sikker eller ren. Der kan endda være fejl eller sikkerhedsproblemer, der kan sætte forretningen i risiko
  • Kvalitet: AI kontrollerer ikke for kvalitet, og bare fordi det er genereret fra AI, betyder det ikke, at det er effektivt eller af høj kvalitet
  • Ingen kontekst: At miste det menneskelige element betyder naturligvis, at du mister konteksten af et problem eller projekt. Den AI-genererede kode skal gennemgås for at sikre, at den får arbejdet fuldt ud

Når udviklere følger en Ren Kode som du kodér-tilgang med deres kode – enten menneske- eller AI-genereret – kan de sikre, at den er egnede til udvikling og produktion og opfylder de krævede standarder for deres organisation.

Hvad er nogle andre variable, der skal være med i betragtning for kode, der er egnede til produktion?

  Udviklere, der skriver kode, der overholder Ren Kode-principper, kan være sikre på, at deres kode er egnede til udvikling og produktion, hvilket betyder, at koden følger visse karakteristika:

  • Konsekvent: Koden skal være konsekvent og følge en fælles stil. Selv hvis koden er arbejdet på af flere udviklere over tid, skal den have en lignende udseende og følge tidligere etablerede mønstre
  • Intentionel: Intentionel kode skal læses, som om den var skrevet med opmærksomhed og omsorg for at overbringe dens formål; den skal kun have én tilgængelig fortolkning
  • Tilpasningsdygtig: Tilpasningsdygtig kode er opdelt og organiseret på en måde, der gør det lettere at håndtere og se relationerne mellem hver linje kode. Dette gør koden struktureret for let og sikker evolution
  • Ansvarlig: Koden og dens udviklere skal være bevidste om deres etiske forpligtelser i forhold til data og dens potentielle indvirkning på samfundsnormer. Koden skal ultimativt ikke udgøre en fortsat risiko for ufrivilligt at skade tredjeparter

Kan du diskutere nogle af de forskellige tilbud fra Sonar, og hvordan det hjælper kodere med at bygge ansvarlig, sikker, høj-kvalitetskode hurtigt og systematisk?

  Gennem vores brancheførende analytikere identificerer Sonar kodningsproblemer på en omfattende måde og anbefaler løsninger med korte feedback-kredsløb, mens det uddanner udvikleren i kontekst, og enable organisationer til at bygge ansvarlig, sikker, høj-kvalitetskode hurtigt og systematisk. De centrale elementer i Sonar-løsningen er SonarLint, SonarQube (selvstændigt; open source) og SonarCloud (SaaS), med omfattende dækning, der understøtter over 30 programmeringssprog, rammer og infrastrukturer, 11 IDE’er og mere end 5.000 kodnings- og sprog-specifikke regler.

SonarLint, en IDE-udvidelse, giver den første linje af kontroller til at finde problemer i realtid fra det øjeblik, kode er skrevet. Det fanger en stor del af problemerne op front og hjælper udviklere med at opdage og løse fejl som en stavekontrol for kode. SonarQube og SonarCloud, de Sonar statiske analyse kodegennemgangsværktøjer, inspicerer og analyserer kontinuerligt kodebasen, med SonarLint-integration. Ved at bruge kvalitetsporte til at bestemme, om koden opfylder de definerede standarder for kvalitet, sikkerhed og pålidelighed til produktion, inspicerer SonarQube og SonarCloud koden for fejl, sårbarheder, sikkerhedshotspots og kode-lugte.

Parret vores løsningsset med vores Ren Kode som du kodér-metode – en tilgang, der følger faste standarder for at holde ny, tilføjet eller redigeret kode ren – enable udviklere og organisationer til at levere Ren Kode og løse eksisterende kode organisk, så de kan fokusere på nye, innovative projekter, der driver forretningsværdi

Hvordan hjælper Sonar med at sikre, at koden er compliant og opfylder branchestandarder?

Sonar hjælper udviklere med at få adgang til umiddelbar og kontekstualiseret feedback, der fremhæver problemer, hvor de er i kodebasen, inden for udviklingsarbejdsprocessen baseret på års erfaring med sproganalyse. Udviklere får adgang til klare forklaringer for, hvorfor et problem opstår, og hvordan man hurtigt kan løse det, samt yderligere ressourcer til mere dybtgående læring. Vi har uddannelse bygget gennem hele arbejdsprocessen, fra IDE til CI/CD. For eksempel har Sonar specifikke MISRA C++ 2023-regler til rådighed i SonarLint for at hjælpe hold med at skabe kode, der er bedst forberedt til eventuel certificering. Det tilbyder kodningsvejledning, forklarer hvorfor et problem er markeret, og hvordan man kan løse det, for at sikre, at koden, der skrives, er MISRA-compliant.

Hvad er din vision for, hvordan AI vil transformere kodning i fremtiden?

  Jeg tror, at AI vil fortsætte med at levere stor værdi i forhold til at løse udviklerudbrændthed. Mens jeg ikke tror, at AI nogensinde vil kunne aflaste udviklernes tænkning og det menneskelige touch, tror jeg, at selv få måneder fra nu vil se en helt ny sæt af GPT’er – ikke at tale om, hvad få år fra nu vil se ud. Jeg tror ikke, at teknologer eller udviklere vil forsvinde, men måden, hvorpå de udfører deres arbejde på, vil sandsynligvis ændre sig. Måden, hvorpå udviklere bruger AI, vil være så enkelt og almindelig som at søge på Google efter noget som en genvej. Der er meget at udforske om brugen af AI, men vi må stadig tage det menneskelige element i betragtning for at kontrollere AI’s ulemper. Der er transformerende potentiale for softwareudvikling, men vi må ikke lade det køre uden nogen kontroller – især når digitale forretninger i dag er afhængige af den software, der understøtter det.

Tak for det gode interview, læsere, der ønsker at lære mere, skal besøge Sonar.

Antoine er en visionær leder og medstifter af Unite.AI, drevet af en urokkelig passion for at forme og fremme fremtiden for AI og robotteknologi. En serieiværksætter, han tror, at AI vil være lige så omvæltende for samfundet som elektricitet, og bliver ofte fanget i at tale begejstret om potentialet for omvæltende teknologier og AGI.

Som en futurist, er han dedikeret til at udforske, hvordan disse innovationer vil forme vores verden. Derudover er han grundlægger af Securities.io, en platform, der fokuserer på at investere i skærende teknologier, der gendefinerer fremtiden og omformer hele sektorer.