Sunil Sadasivan reflecteert op het concept van first principles thinking binnen software engineering. Geïnspireerd door het werk van Sunil Pai over de 'senior engineer death spiral', stelt de auteur dat ervaren engineers vaak vastlopen omdat ze te veel vertrouwen op opgebouwde ervaring en bestaande technische beperkingen.
De kern van de oplossing is het teruggaan naar de basis:
- Versimpelen: Vraag waarom iets gebouwd wordt en wat de impact is op de eindgebruiker.
- Momentum: Breek werk af tot de kleinste voltooibare stappen om uit een impasse te komen.
- Ervaring 'in een doos' zetten: Durf bestaande aannames tijdelijk opzij te zetten om met een frisse blik naar een probleem te kijken.
Sadasivan koppelt dit specifiek aan de verschuiving naar agentic development. Hij beargumenteert dat engineers die hun oude kennis durven los te laten, sneller kunnen leren hoe ze AI-agenten effectief kunnen inzetten. Door te focussen op het gewenste resultaat in plaats van op oude beperkingen, ontstaat er een nieuwe 'flow state' met snellere leercycli.
Denken vanuit Eerste Principes
Ik heb deze week Sunil Pai's "the senior engineer death spiral" meerdere keren herlezen. Het is een erg goed stuk. Als je het nog niet hebt gelezen, begin daar dan.
Het resoneert met me omdat ik denk dat bijna elke senior engineer wel eens het gevoel heeft vast te zitten. Je wordt goed in wat je doet, maar dan veranderen de zaken, en de ervaring die je hebt opgebouwd kan het juist moeilijk maken om dingen op een andere manier te benaderen.
Pai spreekt over het focussen op momentum in plaats van op resultaten, en ik ben het daar volledig mee eens. Wanneer ik vastloop, breek ik het werk af tot het kleinste onderdeel dat ik daadwerkelijk kan voltooien. Iets gedaan krijgen helpt me meestal om uit te zoeken wat de volgende stap is.
Na het lezen van zijn post bleef ik terugkomen op het denken vanuit eerste principes (first principles thinking).
Ik heb het geluk gehad om met veel geweldige senior engineers te werken en deze te managen. Wanneer ik nadenk over wat hen geweldig maakte, kom ik telkens op hetzelfde uit: ze leken te weten wat er gedaan moest worden. Er is daar een intuïtie aanwezig die ik altijd heb bewonderd.
Sommigen van de besten met wie ik heb samengewerkt, kwamen uit de klantenservice of services. Anderen waren zichzelf coderen aangeleerd of begonnen als ontwerper of ondernemer. Ze volgden verschillende paden naar engineering, maar ze deelden de gewoonte om vanuit eerste principes te denken.
Ze vroegen zich af waarom we iets bouwden en wat het zou betekenen voor de mensen die het gebruikten. Ze konden de koppeling maken tussen wat er in de codebase gebeurde en wat er daarbuiten gebeurde. Dat inzicht hielp hen om zaken simpel te houden.
Ik denk dat dit een andere manier is om het momentum op te bouwen dat Pai beschrijft. Overweeg eerst het simpelste dat je zou kunnen doen. Dat is vaak voldoende.
De overgang naar het agentische tijdperk
Ik heb veel gesprekken gevoerd met vrienden en collega's over de verschuiving naar agentic development. De mensen die hier goed mee meegaan, zijn meestal degenen die al op deze manier denken.
Dit is de eerste grote "simulatie-omslag" waarbij ik echt heb moeten accepteren hoeveel ik níét weet. De engineers die ik zie bijhouden wat er mogelijk is, zijn bereid om hun bestaande kennis voor een tijdje "in een doos te stoppen" terwijl ze met agenten werken. Ze proberen iets uit voordat ze aannemen dat een oude beperking nog steeds van toepassing is.
Zet het in een doos
Dit is het moeilijke gedeelte voor mij. Neem je ervaring, wat je hebt geleerd en wat je momenteel als waarheid beschouwt, en zet het lang genoeg opzij om het probleem opnieuw te bekijken.
Ik wil nog steeds putten uit die ervaring. Maar het is makkelijk om een project uit het verleden of een bekende technische beperking de doorslag te laten geven over het antwoord, nog voordat ik het probleem waar ik voor sta echt begrijp.
Wanneer ik een stap terug doe en mezelf afvraag wat we eigenlijk proberen te bereiken, waarom dat belangrijk is en hoe de verschillende onderdelen met elkaar verbonden zijn, vind ik meestal meer wegen vooruit dan ik had verwacht.
Er is veel gesproken over wat echt is aan AI en wat is opgeblazen. Ik denk dat als je je ervaring opzij zet en met een frisse blik kijkt naar wat mogelijk is, er veel is om te bewonderen en veel dat het waard is om te heroverwegen. Een benadering vanuit eerste principes betekent dat je begint bij wat we proberen te doen en jezelf afvraagt hoe AI daarbij kan helpen. Het is makkelijk om enthousiast te worden over de technologie voordat je die vraag hebt beantwoord.
Dat brengt me terug naar het momentum dat Pai beschrijft. Denken vanuit eerste principes zorgt ervoor dat werken op die manier natuurlijk aanvoelt. Wanneer je echt begrijpt wat je probeert te bereiken, is het gemakkelijker om een kleine stap te zetten, daarvan te leren en door te gaan.
Als je het goed aanpakt, zorgt het werken met agenten ervoor dat deze interactie veel sneller verloopt. Je krijgt snellere leercycli en meer momentum, georiënteerd op diepgaand begrip. Voor mij is dat de nieuwe flow state.
Long Live Human Thinking.
Denken vanuit Eerste Principes
Ik heb deze week Sunil Pai's "the senior engineer death spiral" meerdere keren herlezen. Het is een erg goed stuk. Als je het nog niet hebt gelezen, begin daar dan.
Het resoneert met me omdat ik denk dat bijna elke senior engineer wel eens het gevoel heeft vast te zitten. Je wordt goed in wat je doet, maar dan veranderen de zaken, en de ervaring die je hebt opgebouwd kan het juist moeilijk maken om dingen op een andere manier te benaderen.
Pai spreekt over het focussen op momentum in plaats van op resultaten, en ik ben het daar volledig mee eens. Wanneer ik vastloop, breek ik het werk af tot het kleinste onderdeel dat ik daadwerkelijk kan voltooien. Iets gedaan krijgen helpt me meestal om uit te zoeken wat de volgende stap is.
Na het lezen van zijn post bleef ik terugkomen op het denken vanuit eerste principes (first principles thinking).
Ik heb het geluk gehad om met veel geweldige senior engineers te werken en deze te managen. Wanneer ik nadenk over wat hen geweldig maakte, kom ik telkens op hetzelfde uit: ze leken te weten wat er gedaan moest worden. Er is daar een intuïtie aanwezig die ik altijd heb bewonderd.
Sommigen van de besten met wie ik heb samengewerkt, kwamen uit de klantenservice of services. Anderen waren zichzelf coderen aangeleerd of begonnen als ontwerper of ondernemer. Ze volgden verschillende paden naar engineering, maar ze deelden de gewoonte om vanuit eerste principes te denken.
Ze vroegen zich af waarom we iets bouwden en wat het zou betekenen voor de mensen die het gebruikten. Ze konden de koppeling maken tussen wat er in de codebase gebeurde en wat er daarbuiten gebeurde. Dat inzicht hielp hen om zaken simpel te houden.
Ik denk dat dit een andere manier is om het momentum op te bouwen dat Pai beschrijft. Overweeg eerst het simpelste dat je zou kunnen doen. Dat is vaak voldoende.
De overgang naar het agentische tijdperk
Ik heb veel gesprekken gevoerd met vrienden en collega's over de verschuiving naar agentic development. De mensen die hier goed mee meegaan, zijn meestal degenen die al op deze manier denken.
Dit is de eerste grote "simulatie-omslag" waarbij ik echt heb moeten accepteren hoeveel ik níét weet. De engineers die ik zie bijhouden wat er mogelijk is, zijn bereid om hun bestaande kennis voor een tijdje "in een doos te stoppen" terwijl ze met agenten werken. Ze proberen iets uit voordat ze aannemen dat een oude beperking nog steeds van toepassing is.
Zet het in een doos
Dit is het moeilijke gedeelte voor mij. Neem je ervaring, wat je hebt geleerd en wat je momenteel als waarheid beschouwt, en zet het lang genoeg opzij om het probleem opnieuw te bekijken.
Ik wil nog steeds putten uit die ervaring. Maar het is makkelijk om een project uit het verleden of een bekende technische beperking de doorslag te laten geven over het antwoord, nog voordat ik het probleem waar ik voor sta echt begrijp.
Wanneer ik een stap terug doe en mezelf afvraag wat we eigenlijk proberen te bereiken, waarom dat belangrijk is en hoe de verschillende onderdelen met elkaar verbonden zijn, vind ik meestal meer wegen vooruit dan ik had verwacht.
Er is veel gesproken over wat echt is aan AI en wat is opgeblazen. Ik denk dat als je je ervaring opzij zet en met een frisse blik kijkt naar wat mogelijk is, er veel is om te bewonderen en veel dat het waard is om te heroverwegen. Een benadering vanuit eerste principes betekent dat je begint bij wat we proberen te doen en jezelf afvraagt hoe AI daarbij kan helpen. Het is makkelijk om enthousiast te worden over de technologie voordat je die vraag hebt beantwoord.
Dat brengt me terug naar het momentum dat Pai beschrijft. Denken vanuit eerste principes zorgt ervoor dat werken op die manier natuurlijk aanvoelt. Wanneer je echt begrijpt wat je probeert te bereiken, is het gemakkelijker om een kleine stap te zetten, daarvan te leren en door te gaan.
Als je het goed aanpakt, zorgt het werken met agenten ervoor dat deze interactie veel sneller verloopt. Je krijgt snellere leercycli en meer momentum, georiënteerd op diepgaand begrip. Voor mij is dat de nieuwe flow state.
Long Live Human Thinking.