Published onDecember 3, 2025Boundaries, modularity and a diaper effectsoftware-engineeringsoftware-designobject-oriented-designmodularitydesign-patternslanguage-patternssoftware-qualityknowledge-workingmodularitymodular-monolithboundariesWhat is a diaper effect when it comes to software design?
Published onNovember 30, 2025TDD: specify, satisfy, simplifysoftware-engineeringsoftware-designobject-oriented-designmodularitydesign-patternslanguage-patternssoftware-qualityknowledge-workingWhy is it easy to miss the point of TDD?
Published onOctober 20, 2025Code, knowledge and "AI"lean-software-developmenttoyota-production-systemknowledge-workingdesign-thinkingsystems-thinkinglanguage-patternsmental-modelssoftware-architecturesoftware-designdomain-driven-designWhat is the relationship between "AI" and waste?
Published onJune 9, 2025Tools make fools?language-patternscommunicationcollaborationshared-understandingsoftware-teamingworking-togethertoolingdomain-driven-designsoftware-architecturesoftware-designpragmatismphilosophyAre we doomed to become "slaves" of tools?
Published onMay 24, 2025Composing a PIEsoftware-designsoftware-architectureinteraction-oriented-designactor-modelobject-oriented-designinterfacesinterface-oriented-designpatternslanguage-patternsdomain-driven-designIs there a universal way of composing things?
Published onApril 21, 2025Functions, objects, actors: deliverying resultscqrsmodelingsoftware-designdomain-modelingactor-modelfunctional-programmingdesign-patternssoftware-engineeringobject-oriented-designpatternsIs there a single way of yielding results?
Published onMarch 30, 2025Evolve, don't hackdomain-modelingcontextual-modelsmodelingsoftware-designproblem-spacedomain-driven-designsoftware-architecturestrategic-thinkingbusiness-capabilitiessoftware-designdesign-thinkingknowledge-workingpatternsWhere is the difference between evolving and hacking?
Published onMarch 24, 2025Context Segregation Principledomain-modelingcontextual-modelsmodelingsoftware-designproblem-spacedomain-driven-designsoftware-architecturestrategic-thinkingbusiness-capabilitiessoftware-designdesign-thinkingknowledge-workingpatternsis there a single unified way of looking at reality?
Published onJanuary 3, 2025Functions (and facts) describe the worldmodelmodelingmental-modelsrepresentationsknowledge-workingabstractionsexplorationfsharpfsharp-advent-calendarfunctionalparadigmsstate-machinesevent-sourcingevent-driveneventsevent-stormingdomain-driven-designsoftware-designCan everything be modeled with this pair?
Published onMay 15, 2024The law of eventual compositiondesign-thinkingsystem-thinkingmodelingdomain-driven-designpatternssoftware-architecturesoftware-designinterfacesresponsibilitiesresponsibility-driven-designcodingencodingrepresentationlawsheuristicsperspectivesWhat happens when we split things up?
Published onApril 6, 2024The ambiguity of codeparadigmsdesign-thinkingmodelingdomain-driven-designpatternsknowledge-workingsoftware-architecturesoftware-designinterfacesresponsibilitiesresponsibility-driven-designcodingencodingrepresentationHow do we understand "the code"?
Published onMarch 10, 2024The ambiguity of interfacesparadigmsdesign-thinkingmodelingdomain-driven-designpatternsknowledge-workingsoftware-architecturesoftware-designinterfacesresponsibilitiesresponsibility-driven-designHow does need-driven thinking shape the way we design?
Published onFebruary 29, 2024Inverse Bruce Lee maneuverparadigmsprogramming-modelsdesign-thinkingmodellingdomain-driven-designpatternsknowledge-workingsoftware-architecturesoftware-designHow many kicks should an engineer know?
Published onDecember 6, 2023Common words of the shared apocalypsefundamentalsdomain-driven-designsoftware-designsimplicitysoftware-architecturesoftwaremodelingmodelsprinciplespatternsAre there common words that you can share to scare your teammates?
Published onNovember 17, 2023Easy becomes complexfundamentalsdomain-driven-designsoftware-designsimplicitysoftware-architecturesoftwaremodelingmodelscontextsprinciplespatternsWhen easy eventually becomes complex?
Published onNovember 11, 2023Simple isn't easyfundamentalsdomain-driven-designsoftware-designsimplicitysoftware-architecturesoftwaremodelingmodelscontextsprinciplespatternsWhy simplicity does not require less but more?
Published onJanuary 21, 2023A solid grasp of responsibilityprogrammingparadigmsproblem-solvinglanguagelearningmodelmodelingdomain-driven-designresponsibility-driven-designGRASPSOLIDsoftware-designsoftware-engineeringmetaphorsHow to distribute responsibilities?