We bouwen een groot deel van het product vanuit Slack
Dit is meestal het deel dat mensen het vreemdst vinden. We hebben een openbaar Slack-kanaal waar iedereen binnen het bedrijf, engineer of niet, een virtuele machine kan aanvragen, er een taak aan kan geven en er een PR voor terugkrijgt. Screenshots, een opgenomen video van de werkende functie, het hele pakket.
Ongeveer de helft van de mensen die het gebruiken zijn geen engineers. Een productmanager wil een ruw prototype om aan een klant te tonen. Een jurist wil weten hoe het gebruik van een specifieke functie vorig kwartaal is veranderd. Iemand van support die een root cause-analyse uitvoert en zelfs bugs laat oplossen in plaats van een ticket in te dienen en te wachten.
Het is geen vervanging voor normale ontwikkeling. Als u iets substantieels bouwt, wilt u nog steeds uw eigen machine, uw eigen heen-en-weer met het model, de mogelijkheid om de code goed te lezen. Maar voor het oplossen van bugs, root cause-analyse en snelle prototyping verandert het hoe snel we vooruitgang boeken.
Waarborgen zijn belangrijker dan vroeger
De voor de hand liggende zorg bij dit alles is kwaliteit. Als u AI zo veel code zo snel laat schrijven, kunt u eindigen met de nieuwe term in de sector, "AI slop”-code die technisch werkt, maar die niemand begrijpt of vertrouwt.
De oplossing is echt investeren in de richtlijnen waarmee de AI werkt. We houden een geschreven bibliotheek bij van architecturale regels, hoe lagen met elkaar moeten communiceren, wat elk endpoint moet controleren, hoe we data modelleren, en we gebruiken diezelfde bibliotheek zowel voor het genereren als het beoordelen van code. Wanneer een mens een PR afwijst om een reden die nog niet was vastgelegd, wordt die feedback teruggevouwen in de richtlijnen. De regels worden steeds scherper. Een mens neemt nog altijd de uiteindelijke beslissing of iets wordt gemerged.
De discussies zijn ook niet verdwenen. Als er al iets veranderd is, hebben we er juist meer van, alleen op een andere plek. Minder discussie op individuele pull requests, meer echt bij elkaar gaan zitten om het eens te worden over architectuur en dat vervolgens vastleggen in het systeem zodat het blijft hangen.