Interviews
Peter McKee, Head of Developer Relations at Sonar – Interview Series

Peter McKee is de Head of Developer Relations bij Sonar, een platform dat de triljoendollaruitdaging van slechte code oplost. Sonar richt zich op het uitrusten van ontwikkelaars en organisaties om systematisch een staat van schone code te bereiken, zodat alle code geschikt is voor ontwikkeling en productie. Door de Clean as You Code-methode van Sonar toe te passen, minimaliseren organisaties risico’s, verminderen ze technische schulden en halen ze meer waarde uit hun software op een voorspelbare en duurzame manier.
Wat trok je aanvankelijk aan bij informatica?
Ik was altijd al geïnteresseerd in computers van jongs af aan. Zelfs toen ik aanvankelijk een andere carrière nastreefde, werd ik voortdurend teruggetrokken naar computers en programmeren. Op een gegeven moment had mijn vader een staalbedrijf in Virginia en hadden ze hun consultantengroep verloren. Omdat ik had leren programmeren toen ik jonger was, vroeg hij me om te komen werken en systemen voor hem te bouwen. Ik wist eerlijk gezegd niet 100% wat ik deed, maar ik leerde uit boeken en door het werk op de job, en werd volledig zelflerend. Dat zorgde ervoor dat mijn interesse in coderen en computers nog verder toenam en mijn interesse in informatica versterkte.
Kunt u uitleggen wat schone code is en waarom het zo belangrijk is?
Het wordt al jaren gezegd dat software de wereld zal veroveren, en ik zou zeggen dat we nu op het punt zijn waarop het officieel is – de wereld is gebouwd op software en elk bedrijf is effectief een softwarebedrijf. Aan de basis van goede software ligt kwaliteitscode, omdat code de kern vormt van alle software en het gedrag en de prestaties ervan bepaalt. Daarom is schone code — code die consistent, intentioneel, adaptabel en verantwoordelijk is — zo belangrijk. Schone code is gemakkelijk te begrijpen en te wijzigen, werkt soepel tijdens runtime en bevat geen technische schulden, waardoor het geschikt is voor het doel. Schone code is de standaard die organisaties moeten omarmen om ervoor te zorgen dat hun software een actief blijft – en geen aansprakelijkheid – en de sleuteldrijver is voor het hedendaagse bedrijfssucces.
Schone code biedt voordelen voor teams en organisaties van alle maten en volwassenheidsniveaus en verhoogt de waarde van software als resultaat. Enkele specifieke voordelen zijn:
- Verhoogt ontwikkelvaardigheden — Ontwikkelaars kunnen problemen detecteren, begrijpen en oplossen tijdens het coderen, terwijl ze ook de beste praktijken leren
- Verhoogt efficiëntie en productiviteit — Door het continu herwerken en lange feedbackcycli te verminderen, leidt dit tot een grotere productiviteit
- Vermindert reputatie- en bedrijfsrisico’s — Schone code zorgt ervoor dat teams proactief problemen kunnen aanpakken voordat ze in productie komen, waardoor het aantal beveiligingsrisico’s wordt verlaagd
- Verlaagt code-niveau technische schulden — Schone code lost de schulden van de codebasis geleidelijk op zonder de noodzaak voor een grote applicatie-overhaul en -onderbreking
- Verhoogt de snelheid van softwareontwikkeling — Schone code-standaarden en gestroomlijnde flows verbeteren de DevOps-snelheid, waardoor een snellere time-to-market mogelijk wordt
Kunt u de belangrijkheid van consistentie en structuur in code bespreken, en zijn er voorbeelden van consistente en schone code?
Consistente codekwaliteit is iets waar elke manager of technisch directeur naar streeft. Consistentie is cruciaal als het gaat om codekwaliteit, omdat consistentie leidt tot voorspelbaarheid. Het is op een uniforme en conventionele manier geschreven – alle code ziet er hetzelfde uit en volgt een regelmatig patroon, zelfs met meerdere bijdragers op verschillende tijdstippen. Consistente code is opgemaakt, conventioneel en herkenbaar. Wanneer consistente codestandaarden worden aangenomen, worden ontwikkelaars efficiënter en kunnen ze hun leveringsverwachtingen met snelheid en precisie nakomen.
Kunt u de belangrijkheid van code die onverwachte voorwaarden kan afhandelen bespreken, en waarom dit niet over het hoofd gezien mag worden?
Ontwikkelaars proberen altijd onverwachte gebeurtenissen te anticiperen en voor te bereiden tijdens het ontwerp- en ontwikkelproces, maar dit kan niet in alle gevallen worden voorkomen. Onverwachte staten kunnen ontstaan als gevolg van onopzettelijke misbruik of opzettelijk geactiveerde aanvallen. Deze onverwachte staten kunnen onbewust beveiligingskwetsbaarheden introduceren die door aanvallers kunnen worden uitgebuit. Daarom moeten ontwikkelaars altijd de kwaliteit en stabiliteit van hun code verbeteren en testen op onverwachte voorwaarden. Door een Clean as You Code-aanpak te volgen, kunnen teams nieuwe functies beter versnellen, onnodige herwerkkosten vermijden en talentgroei en -behoud stimuleren. Schone code bevordert beveiliging, onderhoudbaarheid en betrouwbaarheid en kan ontwikkelaars in staat stellen om onverwachte staten effectiever te anticiperen en af te handelen en de software sneller weer operationeel te krijgen.
Kunt u de voordelen van het gebruik van generatieve AI voor codegeneratie bespreken?
Het integreren van AI in de softwareontwikkelingscyclus heeft zijn voordelen, zoals het mogelijk maken voor ontwikkelaars om efficiënter te werken. GitHub-onderzoek toonde aan dat ontwikkelaars taken meer dan 50% sneller kunnen voltooien met behulp van AI. GenAI kan code sneller genereren en de last van meer saaie, routineuze taken – zoals documentatie of codefragmenten genereren – van hun bord halen, zodat ze zich beter kunnen concentreren op hogere-waarde, lonende werkzaamheden om complexe problemen op te lossen. Ongeacht hoe code wordt gemaakt, is het cruciaal dat deze wordt gecontroleerd op schone code-standaarden om ervoor te zorgen dat de code veilig, betrouwbaar en onderhoudbaar is.
Wat zijn enkele van de potentiële valkuilen en risico’s van gegenereerde code?
Terwijl AI ontwikkelaars meer tijd kan geven om te werken aan hogere-waardeprojecten en de productiviteit kan verhogen, gaat dit niet zonder risico’s. Daarom zal de vraag naar ontwikkelaars niet verdwijnen in de leeftijd van AI. Omdat GenAI-hulpmiddelen veel code snel kunnen genereren, is er een potentieel voor fouten. Enkele specifieke valkuilen zijn:
- Verantwoordelijkheid: AI-gegenereerde code vermindert de mogelijkheid om mensen verantwoordelijk te houden voor gegenereerde code, wat het oplossen van problemen moeilijker kan maken.
- Kwetsbaarheden: Omdat het grotendeels crowdsourced-informatie gebruikt, is er geen garantie dat de gegenereerde code veilig of schoon is. Er kunnen zelfs bugs of beveiligingsproblemen zijn die het bedrijf in gevaar kunnen brengen.
- Kwaliteit: AI controleert niet op kwaliteit, en alleen omdat het door AI is gegenereerd, betekent dit niet dat het efficiënt of van hoge kwaliteit is.
- Geen context: Het verlies van het humane element betekent automatisch het verlies van de context van een probleem of project. De AI-gegenereerde code moet worden beoordeeld om ervoor te zorgen dat deze de taak volledig uitvoert.
Wanneer ontwikkelaars een Clean as You Code-aanpak volgen met hun code – menselijk of AI-gegenereerd – kunnen ze ervoor zorgen dat deze geschikt is voor ontwikkeling en productie en voldoet aan de vereiste standaarden van hun organisatie.
Wat zijn enkele andere variabelen die in aanmerking moeten worden genomen bij code die geschikt is voor productie?
Ontwikkelaars die code schrijven die voldoet aan de principes van schone code, kunnen er zeker van zijn dat hun code geschikt is voor ontwikkeling en productie, wat betekent dat de code bepaalde kenmerken volgt:
- Consistent: De code moet consistent zijn en een gemeenschappelijke stijl volgen. Zelfs als de code door meerdere ontwikkelaars op verschillende tijdstippen wordt gewerkt, moet deze een vergelijkbaar uiterlijk hebben en voldoen aan eerder vastgestelde patronen.
- Intentioneel: Intentionele code moet zo zijn geschreven dat deze aandacht en zorg toont om zijn doel over te brengen; deze moet slechts één beschikbare interpretatie hebben.
- Adaptabel: Adaptabele code is gesegmenteerd en georganiseerd op een manier die het gemakkelijker maakt om te beheren en de relaties tussen elke regel code te zien. Dit maakt de code gestructureerd voor gemakkelijke en vertrouwde evolutie.
- Verantwoordelijk: De code, en zijn ontwikkelaars, moeten zich bewust zijn van hun ethische verplichtingen met betrekking tot gegevens en hun potentiële invloed op maatschappelijke normen. De code moet uiteindelijk geen voortdurend risico vormen voor het onopzettelijk schaden van derden.
Kunt u enkele van de verschillende aanbiedingen van Sonar bespreken, en hoe het ontwikkelaars helpt om verantwoordelijke, beveiligde, kwalitatief hoogwaardige code snel en systematisch te bouwen?
Met onze brancheleidende analyzers identificeert Sonar coderingsproblemen op een uitgebreide manier en beveelt reparaties aan met korte feedbackloops, terwijl het de ontwikkelaar in context onderwijst, waardoor organisaties in staat worden gesteld om verantwoordelijke, beveiligde, kwalitatief hoogwaardige code snel en systematisch te bouwen. De kernonderdelen van de Sonar-oplossing zijn SonarLint, SonarQube (zelfbeheerd; open source), en SonarCloud (SaaS), met uitgebreide dekking die meer dan 30 programmeertalen, -kaders en -infrastructuur, 11 IDE’s en meer dan 5.000 coderings- en taalspecifieke regels ondersteunt.
SonarLint, een IDE-extensie, biedt de eerste lijn van controles om problemen in real-time te vinden vanaf het moment dat code wordt geschreven. Het vangt een groot deel van de problemen op voorhand en helpt ontwikkelaars om fouten te detecteren en op te lossen, zoals een spellingscontrole voor code. SonarQube en SonarCloud, de Sonar-statische analysecodebeoordelingshulpmiddelen, inspecteren en analyseren de codebasis continu, met SonarLint-integratie. Met behulp van kwaliteitspoorten om te bepalen of de code voldoet aan de gedefinieerde standaarden van kwaliteit, beveiliging en betrouwbaarheid voor productie, inspecteren SonarQube en SonarCloud de code op bugs, kwetsbaarheden, beveiligingshotspots en codegeuren.
Door onze oplossingsset te combineren met onze Clean as You Code-methode – een aanpak die volgt op vastgestelde standaarden om nieuwe, toegevoegde of bewerkte code schoon te houden – kunnen ontwikkelaars en organisaties schone code leveren en bestaande code organisch herstellen, zodat ze zich kunnen concentreren op nieuwe, innovatieve projecten die bedrijfswaarde stimuleren.
Hoe helpt Sonar bij het garanderen dat de code voldoet aan de industrienormen en -standaarden?
Sonar helpt ontwikkelaars om onmiddellijke en contextuele feedback te krijgen, waarin problemen worden gemarkeerd waar ze in de codebasis voorkomen, binnen de ontwikkelingsworkflow op basis van jarenlange taalanalyse-ervaring. Ontwikkelaars krijgen toegang tot duidelijke verklaringen voor waarom een probleem optreedt en hoe dit snel kan worden opgelost, evenals aanvullende bronnen voor diepgaander leren. We hebben onderwijs opgebouwd door de hele workflow, van de IDE tot de CI/CD. Zo heeft Sonar specifieke MISRA C++ 2023-regels beschikbaar in SonarLint om teams te helpen code te maken die het beste is voorbereid op eventuele certificering. Het biedt coderingsrichtlijnen, waarin wordt uitgelegd waarom een gemarkeerd probleem optreedt en hoe dit kan worden opgelost, om ervoor te zorgen dat de code die wordt geschreven MISRA-compliant is.
Wat is uw visie op hoe AI de codering in de toekomst zal transformeren?
Ik denk dat AI zal blijven leveren van grote waarde bij het aanpakken van ontwikkelaarsburn-out. Hoewel ik niet denk dat AI ooit in staat zal zijn om de denkwijze en het humane aspect van ontwikkelaars over te nemen, denk ik wel dat we zelfs een paar maanden van nu af aan een geheel nieuwe reeks GPT’s zullen zien – laat staan wat een paar jaar van nu af aan zal lijken. Ik geloof niet dat technici of ontwikkelaars zullen verdwijnen, maar de manier waarop ze hun werk elke dag doen, zal zeker veranderen. De manier waarop ontwikkelaars AI gebruiken, zal net zo eenvoudig en alledaags zijn als Google zoeken naar iets als een shortcut. Er is veel te onderzoeken over het gebruik van AI, maar we moeten het humane element aan de voorzijde behouden om de nadelen van AI te controleren. Er is een transformatiepotentieel voor softwareontwikkeling, maar we mogen het niet zonder enige controle laten lopen – vooral wanneer digitale bedrijven vandaag afhankelijk zijn van de software die het ondersteunt.
Bedankt voor het geweldige interview, lezers die meer willen leren, moeten bezoeken Sonar.












