Viktigare än dokumentationen i sig själv är självaste processen av att dokumentera, vilket, när den är kvalitativ, genererar god dokumentation, men dokumentationen är inte slutmålet, utan ett verktyg för reflektion liksom det är resultatet av sådan reflektion. Den gode programmeraren är iterativ och självreflekterande, och har inga slutmål. Det högsta målet är konstant förbättring, och det är en process. Den gode programmeraren förbättrar system, men stiger i medvetande och inbegriber självet och tillvaron i perspektivet som ett system som kan förbättras, vilket då förbättrar programmeringen. Akten av programmering avslöjar för den gode programmeraren, som ihärdigt söker nästa utmaning, sina hemligheter, då enbart via djupt engagemang, hen förtjänar det, och då också förstår att de principerna gäller också på en högre nivå i livet. Det är alltså inte enbart från en högre abstrakt nivå som vi resonerar kring programmering (OOP vs Procedur) och därmed förbättrar programmeringen (väljer det ena över det andra), utan det är på den konkreta nivån av att lösa problem och implementera kod, som den konkreta programkoden talar tillbaka till oss; till oss som är villiga att lyssna; till den självreflekterande individen; hur principerna bakom lösningarna också kan användas för att omstrukturera oss själva. Det lägre tillåts dirigera den högre, vilket förutsätter ödmjukhet. Den "högre" inser att den inte är "högre", men på samma ödjuka grund, inser sig vara del av en cirkulär ordning där allt påverkar allt. Samverkan snarare än dirigera. Diskrepansen om högre och lägre, har ingen absolut mening, men intressant nog måste ett datorsystem organiseras efter en väl utarbetad heirarkisk ordning med tydliga nivåer. Den högre ordningen, inom vilken vi existerar, tycks dock vara en annan än linjärt heirarkisk, eller, kanske, en mer abstrakt form av heirarki som inte är linjär. Linjära heirarkier är kanske en sorts idealism och förenkling av verkligheten, som fungerar ibland för vissa ändamål.
Vi skriver kod, men koden skriver också oss.
Självreflektion innebär att tänka kring det som upplevs vara en själv. En individ blir två individer: en som tänker och en som tänks på. Vilket förhållningssätt ligger latent i individens självreflektion? Ser individen sig själv som en högre som tänker på en lägre, tvärt om, eller något annat; det är frågor en kan fråga ensjälv via självreflektion.
Systemet jag tog fram för dokumentation ger bra resultat i utvecklingen. Konceptuellt tänkande måste förenas med praktiskt utförande. Betyder att, medan programkod skrivs, dvs implementation av moduler, ska också konceptuellt tänkade ske, dvs strukturerad reflektion kring komponentens utformning och del i det större sammanhanget. Kvaliteten på tänkandet ökar drastiskt när en bra metod för dokumentation körs parallelt med programmering. Såklart finns andra situationer där implementatoin/koncept är separerade, men å andra sidan, jag tror ex. Agile är en organisationsstruktur som manar till att implementera principen jag beskriver här på gruppnivå. Programmeringens kvalitet beror på tänkandet som i sin tur beror på metoden för dokumentation, eftersom dokumentation manar till strukturerat tänkande och reflektion. #b5f2