Selecteer taal

Dutch

Down Icon

Selecteer land

Spain

Down Icon

Waarom liet een startup van 10 miljard dollar mij voor hen vibecoderen? En waarom vond ik het zo geweldig?

Waarom liet een startup van 10 miljard dollar mij voor hen vibecoderen? En waarom vond ik het zo geweldig?
Ik heb twee dagen bij Notion doorgebracht en een sector in rep en roer gezien. Ik heb ook wat echte code geleverd.
Nail Art: Papa doet nagels; Fotografie: Skye Battles

Ik vroeg mijn redacteuren of ik bij een tech-startup kon gaan werken. Het was een ongebruikelijk verzoek. Maar ik wilde leren vibreren . Mijn behoefte om het te weten voelde urgent. Ik wilde de toekomst overleven .

Het pitchproces verliep verrassend eenvoudig: eerst zeiden mijn redacteuren ja, en vervolgens stemde de techstartup Notion, aan wie ik mijn wilde idee voorlegde, ermee in dat ik het bij hen mocht embedden. Waarom? Dat is moeilijk te zeggen. Mogelijk omdat Notions eigen personeel vibe-coding volledig heeft omarmd – 'vibe' is hier een eufemisme voor 'ondersteund door AI'. Sommige techbedrijven schatten dat zo'n 30 tot 40 procent van hun code nu door AI wordt geschreven.

Notion is een door durfkapitaal gefinancierde startup uit San Francisco met 1000 medewerkers en een waardering van $ 10 miljard. Het bedrijf maakt de ultieme app voor taken en notities , met zoveel sjablonen, tabellen en manieren om taken te formatteren dat het een hele opgave is om Notion te leren gebruiken. Op YouTube proberen productiviteitsgoeroes Notion te begrijpen met behulp van de beproefde terminologie van persoonlijke optimalisatie . Een van die video 's heet "Aan de slag met Notion zonder je verstand te verliezen". Deze is 3,4 miljoen keer bekeken.

Ik zou half juli op een donderdag bij Notion beginnen als vibe-coding engineer. De avond ervoor zat ik in paniek naar die YouTube-filmpjes te kijken. Ik zou toch wel een power user van de app moeten zijn als Notion mij – een student Engels! – toestond om met de codebase te rommelen. Tijdens een eerder onboardinggesprek had een nieuwe collega me aangemoedigd om het AI-codeerplatform Cursor te downloaden en ermee te experimenteren. Dat deed ik. Er kwam geen echte code uit dit huiswerk.

Mijn bureau op mijn eerste dag bij Notion.

Foto: Lauren Goode

Gelukkig zou ik bij Notion pair-programming doen, wat betekende dat ik samen zou werken met ervaren (menselijke) programmeurs. Bij aankomst zette Sarah Sachs, een AI-engineering lead bij Notion, me aan een bureau. Een tas en notitieboek van het bedrijf stonden voor me klaar. Sachs vertelde me dat ik de volgende dag mijn werk zou presenteren aan het personeel tijdens een wekelijkse demomeeting. Vond ik dat goed? Ik zei ja. We waren er allemaal voor.

Een paar meter verderop zat Simon Last, een van de drie medeoprichters van Notion. Hij is slungelig en verlegen, een ingenieur die zijn managementtaken heeft opgegeven om zich te concentreren op zijn rol als "super-IC" – een individuele medewerker. Hij stond op om mijn hand te schudden en ik bedankte hem ongemakkelijk dat ik hem had laten vibreren. Simon keerde terug naar zijn laptop, waar hij een AI in de gaten hield terwijl die voor hem codeerde. Later zou hij me vertellen dat het gebruik van AI-codeerapps vergelijkbaar was met het aansturen van een groep stagiairs.

Sinds 2022 beschikt de Notion-app over een AI-assistent die gebruikers helpt bij het opstellen van hun notities. Nu herinterpreteert het bedrijf dit als een 'agent', een type AI dat autonoom op de achtergrond voor je werkt terwijl jij andere taken uitvoert. Om dit te realiseren, moeten menselijke engineers veel code schrijven.

Ze openen Cursor en selecteren welk van de verschillende AI-modellen ze willen gebruiken. De meeste engineers met wie ik tijdens mijn bezoek sprak, gaven de voorkeur aan Claude, of gebruikten direct de Claude Code-app. Nadat ze hun vechter hebben gekozen, vragen de engineers hun AI om code te schrijven om iets nieuws te bouwen of een feature te repareren. De menselijke programmeur debugt en test de output vervolgens indien nodig – hoewel de AI's hier ook bij helpen – voordat de code naar productie gaat.

Generatieve AI is in de kern enorm duur. De theoretische besparingen komen voort uit de valuta van tijd. Dat wil zeggen, als AI Notions medeoprichter en CEO Ivan Zhao zou helpen zijn taken eerder dan verwacht af te ronden, zou hij naar de jazzclub op de begane grond van zijn kantoorgebouw aan Market Street kunnen gaan en daar even heerlijk kunnen ontspannen. Ivan houdt van jazzmuziek. In werkelijkheid vult hij de tijd door meer te werken. De fantasie van de vierdaagse werkweek zal dat blijven.

Mijn werkweek bij Notion duurde slechts twee dagen, de ultieme code sprint. (In ruil voor volledige toegang tot hun hol, stemde ik ermee in om gewone engineers alleen bij hun voornaam te noemen.) Mijn eerste opdracht was om de manier te repareren waarop een grafiek genaamd een zeemeermindiagram in de Notion-app wordt weergegeven. Twee engineers, Quinn en Modi, vertelden me dat deze diagrammen als SVG-bestanden in Notion bestaan ​​en, ondanks dat ze schaalbare vectorafbeeldingen worden genoemd, niet kunnen worden vergroot of ingezoomd zoals een JPEG-bestand. Hierdoor is de tekst in zeemeermindiagrammen op Notion vaak onleesbaar.

Quinn schoof zijn laptop naar me toe. Hij had de Cursor-app open en klaar, met Claude aan. Voor de lol scrolde hij door een deel van de codebase van Notion. "Dus, de codebase van Notion? Die bevat een heleboel bestanden. Je zou, zelfs als ingenieur, waarschijnlijk niet eens weten waar je moet zijn," zei hij, terwijl hij mij beleefd een ingenieur noemde. "Maar dat gaan we allemaal negeren. We vragen de AI in de zijbalk gewoon om dat te doen."

Zijn vibe-codingstrategie, legde Quinn uit, was vaak om de AI te vragen: Hé, waarom is dit ding zoals het is? De vraag dwingt de AI om eerst wat eigen onderzoek te doen, en het antwoord helpt bij het bepalen van de prompt die wij, de menselijke engineers, zouden schrijven. Na "nadenken" vertelde Cursor ons, via vloeiende tekstregels, dat de zeemeermindiagrammen van Notion statische afbeeldingen zijn die, onder andere, geen klikhandlers hebben en niet geïntegreerd zijn met een full-screen infrastructuur. Zeker weten.

Ik heb het verzoek opgesteld aan de hand van Claude's aantekeningen en heb een aantal aantekeningen van het engineeringteam in Cursor geplakt, zoals hier:

Ticket: Voeg volledig scherm/zoom toe aan zeemeermindiagrammen. Door op het diagram te klikken, wordt het ingezoomd naar volledig scherm.

Notities van Slack: "Zeemeermindiagrammen zouden net als geüploade afbeeldingen inzoombaar/volledig scherm moeten zijn. Het zijn toch gewoon svg's, dus we kunnen waarschijnlijk svg -> dataurl -> afbeeldingcomponent gebruiken als we willen zoomen."

We wachtten. Tijd is omgekeerd in het land van de vibes. Projecten die vroeger je hele carrière kostten, zijn nu in dagen klaar, terwijl opdrachten die je binnen enkele seconden uitgevoerd verwacht te zien, eindeloze minuten kosten. Honderd regels AI-gegenereerde code later waren zeemeermindiagrammen uitbreidbaar.

Maar eigenlijk niet. Ze waren nog steeds te klein, sommige delen waren transparant en de randen eromheen moesten worden opgevuld; en zou dit in de app werken, zowel in de lichte als in de donkere modus? Ik heb het volgende halfuur aan deze wijzigingen zitten sleutelen, terwijl Quinn en Modi me erdoorheen loodsten. Dertig minuten later hadden we een uitvouwbaar, leesbaar zeemeermindiagram.

Vervolgens werkte ik samen met een ingenieur genaamd Lucy, die me vertelde dat we in plaats van prompts in Cursor te typen, een agent van Codegen zouden gebruiken, een andere AI-engineeringtool. De opdracht was simpel. We zouden een nieuwe vaardigheid in Notion creëren, genaamd Alphabetize, zodat wanneer iemand Notion AI gebruikt om een ​​lijst of tabel met populaire hondenrassen samen te stellen, de gebruiker de inhoud met één klik kan alfabetiseren.

Met de klok mee: Ik leer de kneepjes van het vak met Lucy, Andy en Brooks.

Foto: Sarah Sachs

Net op dat moment kreeg Anthropic's Claude – die Codegen aanstuurde – last van een storing. Sarah Sachs, die bij ons in de kamer was, kreeg een oproep op haar telefoon, net als een SEH-arts. Ze haastte zich de kamer uit. Vibe-codering en alfabetisering werden tijdelijk stopgezet. Bulldogs zouden voorrang krijgen boven beagles totdat Claude weer online was.

De volgende opdracht was net zo open als die van Lucy specifiek was: bouwen wat ik maar wilde. De vrijheid was zenuwslopend, een Rorschachtest voor vibe-programmeurs. Wat zag ik toen ik naar de knipperende cursor keek? Ik besloot dat Notion-gebruikers een manier moesten hebben om in één stap een "intelligente" takenlijst op te stellen. Ze zouden de app kunnen openen en "to do reorder pet food" kunnen typen, en Notion AI zou weten wat ze bedoelden. Ik wilde ook dat deze functie dubbele items uit andere recente takenlijsten zou voorkomen.

Ik was er helemaal weg van. Ik was een verantwoordelijke bewaker van code, die voor mijn ogen voorbij zag stromen en vervolgens de wereld in waggelde. Alleen klopte mijn logica niet. Mijn to-dolijsttruc zorgde er op de een of andere manier voor dat er eindeloos veel duplicaten ontstonden in plaats van dat ik ze kon vermijden. Wie was de schuldige: ik of de AI?

Een productontwerper genaamd Brian legde het me uit. "Doe alsof je met een slimme stagiair praat," zei hij. Opnieuw met de stagiairs.

Ik draaide mijn logica om en probeerde het opnieuw, waarbij ik meer details typte over hoe ik me de widget voorstelde. "Dat is een geweldig idee," antwoordde Claude, altijd een kruiper, en ging toen aan de slag. Veertig minuten later hadden we met z'n drieën een prototype gemaakt van mijn kleine – nee, ik bedoel een geweldige – functie. We hadden $ 7 uitgegeven om het te bouwen, volgens de tokenteller in Claude Code. Mij werd verteld dat andere technische projecten veel meer kostten, vooral als programmeurs de AI urenlang lieten draaien. Het was nog steeds donker toen ik de eerste dag afsloot.

Vrijdagochtend kwam ik aan voor de demosessie. Kaasplanken, ter ere van de verjaardag van een Zwitserse medewerker, stonden klaar in de vergaderzaal. Programmeurs pakten hun koffie, hun blikjes Celsius en hun bekers gearomatiseerd water, die uit een Bevi-automaat in de keuken kwamen.

Een van de eerste demo's was van een Notion AI-agent die een geheugen had gekregen, zodat hij een aangeleerde schrijfstijl kon aannemen. Voor de lol had een andere ingenieur een app geprogrammeerd die de smaaksiropen in de geliefde Bevi van het personeel bijhield. Aan het einde van elke presentatie, zo werd mij verteld, slaat iemand meestal met een klein hamertje op een xylofoon. Die dag werd ik de beheerder van de xylofoon. De stemming was opgewekt.

Toen ik aan de beurt was om te presenteren, probeerde ik de paar functies die ik had geprogrammeerd in de vibe-code kort en bondig te beschrijven (met dank aan mijn programmeurs). Een van de managers stelde een vervolgvraag: Hoe lang had het geduurd om de wijzigingen in de zeemeermindiagrammen van begin tot eind te coderen?

Ik keek naar Quinn en Modi. We berekenden dat onze werksessie ongeveer 30 minuten had geduurd, plus nog eens zo'n 15 minuten voorbereidend werk van Quinn.

“Wauw,” zei iemand in de kamer.

"Ik durf me voor te stellen dat het grote publiek leert code te schrijven", schreef programmeur en auteur Ellen Ullman in een essay uit 2016 met de titel "Programming for the Millions".

De heersende mening in de jaren 2010 was natuurlijk dat iedereen er baat bij had om een ​​beetje te leren programmeren. We moesten de deuren openzetten en de gesloten maatschappij waarin code wordt geschreven, binnendringen, schreef Ullman. Dit was onze beste hoop om de wurggreep van de code die ons als maatschappij omringt, te verbreken. Als onderdeel van haar verslaggevingsproces schreef Ullman zich in voor drie enorme open online cursussen, of MOOC's, die beloofden gewone mensen te leren programmeren. (Ik durf me voor te stellen dat haar wenkbrauwen optrokken toen ze zich inschreef.)

"Steek een naald in de glanzende bubbel van de algemeen aanvaarde wijsheid van de technische wereld", drong Ullman aan op aspirant-programmeurs. "Laat hem barsten."

Het uitwerken van een zeemeermindiagram of het alfabetiseren van een lijst met hondenrassen leek me niet bepaald een uitdaging voor de programmeur. Maar tijdens mijn tijd bij Notion voelde ik wel alsof er een valluik in mijn brein was opengegaan. Ik had een glimp opgevangen van hoe het is om een ​​anonieme, logische god te zijn die aan hendels trekt. Ik voelde me ook in staat om iets nieuws te leren – en had de vrijheid om ergens slecht in te zijn – in een semi-private ruimte.

Zowel vibe-coding als journalistiek zijn een oefening in aandringen en in aanbesteding: Kun je hier meer over vertellen? Kun je daar wat meer over vertellen? Kun je me de documenten laten zien? Met onze medemensen tolereren we wel wat onnauwkeurigheid in onze gesprekken. Als mijn werk als vibe-coder iets heeft onderstreept, is het wel dat de AI's die voor ons coderen, van ons eisen dat we precies verwoorden wat we willen.

Tijdens de lunch op een van mijn dagen bij Notion vroeg een ingenieur me of ik ChatGPT wel eens gebruik om mijn artikelen te schrijven. Het is een vraag die ik deze zomer meer dan eens heb gehoord. "Nooit," zei ik, en haar ogen werden groot. Ik probeerde uit te leggen waarom – dat het een principekwestie is en geen uitspraak over de vraag of een AI acceptabele teksten kan knutselen. Ik besloot niet in te gaan op hoe veranderingen in zoekmachines, en die kleine AI-samenvattingen die het informatielandschap vullen, het webverkeer naar nieuwssites hebben doen kelderen. Bijna iedereen die ik ken, maakt zich zorgen over zijn of haar baan.

Een ingenieur bij Notion vergeleek de economische paniek van dit AI-tijdperk met de introductie van de compiler. Het idee dat één persoon plotseling het werk van 100 programmeurs zou doen, zou moeten worden omgedraaid, zei hij; in plaats daarvan zou elke programmeur 100 keer zo productief zijn. Zijn manager was het daarmee eens: "Ja, als manager zou ik zeggen: iedereen doet gewoon meer," zei ze. Een andere ingenieur vertelde me dat het oplossen van grote problemen nog steeds samenwerking, overleg en planning vereist. Vibe-codering, beweerde hij, komt vooral van pas wanneer mensen snel nieuwe functies prototypen.

Deze ingenieurs leken er redelijk zeker van te zijn dat mensen betrokken zouden blijven, zelfs toen ze karikaturen tekenden van de programmeur van de toekomst ("100 keer zo productief"). Ik ben geneigd dit ook te geloven, en dat mensen met ongelooflijk gespecialiseerde vaardigheden of vakinhoudelijke expertise nog steeds gewild zullen zijn op veel werkplekken. Ik wil in ieder geval dat het waar is.

Ullmans essay uit 2017 eindigt met enige desillusie. Ze stelde terecht vast dat de MOOC's die ze observeerde een mengelmoes waren, vol jongensachtige mannen en niet-ondersteunende professoren. Een college over algoritmeontwerp werd, merkte ze op, automatisch beoordeeld door primitieve tools, wat betekende dat studenten "probeerden algoritmen te leren die beoordeeld werden door gebrekkige algoritmen". De "leer programmeren"-beweging lijkt nu ouderwets. Weinig mensen konden vermoeden dat computers binnen iets minder dan tien jaar de code voor hen zouden schrijven.

Ullman vond echter nog steeds schoonheid in het schrijven van code. Dat is het nou juist. Dat is het nou eenmaal met alles wat je maakt. Als je volhoudt, als je je door de diepte van desillusie heen worstelt, "dringt er een zekere fascinatie door", schreef ze. "Het kan zijn zoals die keren dat je iemand prachtig piano hoort spelen of een saxofoon die door jazzimprovisaties heen huilt, en het geluid wekt een verlangen in je op, een verlangen om de moeilijkheden aan te gaan en te leren hoe je die muziek moet spelen."

Vibe-codering wekte dit verlangen niet in mij op. In plaats daarvan zag ik duidelijker dat we een duizelingwekkend tijdperk van dualiteit in AI ingaan. Gaat AI onze banen vernietigen of juist meer banen creëren? Ja. Heb ik technisch gezien een functie gebouwd in een app die inmiddels naar honderd miljoen gebruikers is gepusht, of heb ik vals gespeeld bij een opdracht door zwaar te leunen op AI en andere mensen? Ja. Heb ik diepgaande basiskennis van softwareprogrammering nodig om een ​​succesvolle programmeur te zijn, of kan ik ermee wegkomen zonder zelfs maar de naam van de programmeertaal die ik gebruik te kennen? Ook ja.

In mijn laatste uren bij Notion gaf ik dit toe aan Ivan Zhao, de CEO van Notion. "Ik realiseer me dat ik al die tijd niet eens heb gevraagd in welke taal we codeerden," zei ik.

Ivan keek geamuseerd. "Het is TypeScript. Het is een soort geavanceerdere versie van JavaScript." Hij pauzeerde even. "Maar welke taal je gebruikt, maakt niet uit. Je drukt je intentie uit op het niveau van de menselijke taal, Engels, en nu kunnen de machines die vertalen. Dat is wat taalmodellen in wezen doen."

Voor Ivan is dit moment van vibe-coding extra spannend. Toen hij en Simon Last begin jaren 2010 voor het eerst samenwerkten (een derde medeoprichter, Akshay Kothari, sloot zich later aan), zagen ze hun product als een "no code/low code"-app, om mensen te helpen dingen te bouwen met minimale softwareontwikkeling. Ze zouden no code/low code mainstream maken.

Er was maar één probleem: "Niemand gaf erom," zei Ivan. "Niemand werd wakker en zei: 'Ik wil nu nadenken over het bouwen van software.' De meeste mensen dachten: 'Ik moet alleen deze spreadsheet voor mijn baas afmaken.'" Een paar jaar later stapten ze over op wat Notion werd.

In oktober 2022 namen de oprichters het hele bedrijf – toen nog geen paar honderd werknemers – mee naar een externe locatie in Mexico. Ivan herinnerde zich dat de retraite werd afgesloten met korte toespraken: een openingstoespraak en vervolgens een paar woorden tijdens het diner op de laatste avond. Verder zaten hij en Simon opgesloten in hun hotelkamers, flessenwater te drinken en prototypes te bouwen met dit nieuwe ding waar ze als eerste toegang toe hadden: ChatGPT. Ze zagen wat het kon teweegbrengen. Ze begrepen dat het dingen zou veranderen. Op de een of andere manier wisten ze dat hun oorspronkelijke idee voor Notion de cirkel rond had gemaakt, en dat allemaal dankzij generatieve AI.

Ik programmeer samen met Brian, een productontwerper voor Notion die regelmatig vibe-codes maakt.

Foto: Sarah Sachs

Ivan, geboren in China en student cognitiewetenschappen en kunst aan de universiteit in Canada, heeft een affiniteit met kwaliteitsproducten. Hij draagt ​​een luxe horloge (een cadeau van zijn vrouw), is geobsedeerd door goed gemaakte meubels en heeft me meer dan eens verteld dat mensen die uitblinken in hun werk vaak een goede smaak hebben. Zijn liefde voor goed design strekt zich uit tot hulpmiddelen die ons helpen communiceren; Douglas Engelbart, de uitvinder van de muis, is een van zijn helden.

Dus ik moest vragen: wat vindt hij van de kwaliteit van al deze door AI gegenereerde code? Zorgt vibe-codering voor meer slechte software?

Ivan antwoordde dat code óf correct óf incorrect is; er is geen subjectieve bepaling of het hoog of laag is. Volgens hem word ik als een slechte schrijver beschouwd als ik slechte zinnen schrijf, maar als een programmeur slechte code schrijft, werkt het programma gewoon niet. Door AI gegenereerde code ontspoort soms, zei ik, terwijl ik terugdeinsde. Als iemand aan het klooien is en een website bouwt, is de inzet laag; als ze software voor echte treinen programmeren, zijn de gevolgen van fouten groter.

Ivan gaf toe dat sommige programmeurs, vooral jongere, een vals gevoel van competentie zouden kunnen krijgen door vibe-coding. Daar komt pair programming om de hoek kijken, zei hij. Minder ervaren programmeurs koppelen aan programmeurs die vóór de komst van AI hebben leren programmeren. "Mensen op senior niveau – die hebben smaak , toch?" zei hij.

Simon zegt dat hij AI-codeerapps eigenlijk aan hogere eisen stelt dan menselijke engineers. Daarom heeft hij een hekel aan de term 'vibe coding'. Voor hem doet de term afbreuk aan wat deze codeeragents, en de mensen die ze gebruiken , nu kunnen. Simon is een van de meest productieve vibe-programmeurs bij Notion. Hij gelooft dat dit de toekomst is. Op een gegeven moment gebruikte hij drie verschillende AI-codeertools tegelijk. Hij vond het stressvol; het voelde alsof hij weer manager was. Nu gebruikt hij meestal maar één tool tegelijk.

Hoe denkt hij dan over ingenieursbanen? Hij zuchtte. "Ik bedoel, op dit moment zijn we in ieder geval nog steeds superactief bezig met het aannemen van ingenieurs. Maar we willen wel ingenieurs aannemen die echt enthousiast zijn over programmeertools." Het "op dit moment" betekende dat er veel werk verzet moest worden.

Deze veranderingen – deze invasie van AI-code – hebben zich allemaal in de afgelopen vier tot zes maanden voorgedaan. Notion heeft nu zelfs een AI-engineer toegewezen aan het verkoopteam voor grote bedrijven, die softwareverkopers leert hoe ze AI in hun eigen werk kunnen gebruiken. En het is niet alleen bij Notion. Het is overal . Mijn experiment met vibe-coding, hoewel solipsistisch verhelderend, liep al achter .

"De wereld is op veel manieren aan het opwarmen, en ik heb niet het gevoel dat ik meer tijd heb vrijgemaakt, maar dat het dringender is dan ooit om deze hulpmiddelen te gebruiken", aldus Simon.

De verandering geeft hem zowel een kick als een gevoel van angst. Hij vertelde me dat hij met weemoed terugkijkt op het niet al te verre verleden, toen hij gewoon aan het programmeren en bouwen was, "toen er nog geen gekke maatschappelijke vloedgolf was. Ik denk dat het gek zou zijn om niet een beetje bang te zijn."

Pas toen ik vrijdagavond het kantoor van Notion had verlaten, kwamen mijn journalistieke instincten terug. Ik was vergeten te vragen: Bang waarvoor?

Laat ons weten wat u van dit artikel vindt. Stuur een ingezonden brief naar de redactie via [email protected] .

wired

wired

Vergelijkbaar nieuws

Alle nieuws
Animated ArrowAnimated ArrowAnimated Arrow