Published onSeptember 27, 2026The ambiguity of state: facts, interpretations and perspectivesdesign-thinkingdomain-driven-designlanguage-patternsdesign-patternsobject-oriented-designsoftware-architecturemental-modelscommunicationknowledge-workingpsychologylinguisticsevent-sourcingevent-thinkingsystem-designIs there an objective state?
Published onSeptember 6, 2026The ambiguity of nouns: absolutisms, transformations and nominalisationsdesign-thinkingdomain-driven-designlanguage-patternsdesign-patternsobject-oriented-designsoftware-architecturemental-modelscommunicationknowledge-workingpsychologylinguisticsIs every noun the same kind of thing?
Published onOctober 27, 2025The ambiguity of namingdesign-thinkingdomain-driven-designlanguage-patternsdesign-patternsobject-oriented-designfunctional-programmingsoftware-architecturemental-modelscommunicationknowledge-workingWhy naming is hard, and can even be dangerous?
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 onOctober 6, 2025The Inverse Matrix problemdesign-thinkingdomain-driven-designlanguage-patternsdesign-patternssoftware-architecturemental-modelscommunicationknowledge-workingbalancing-couplingcollaborationsoftware-teamingunderstandingAre we trapped in Inversed Matrix?
Published onAugust 22, 2025The ambiguity of architecture decision recordsdesign-thinkingdomain-driven-designlanguage-patternsdesign-patternssoftware-architecturemental-modelscommunicationknowledge-workingbalancing-couplingcollaborationsoftware-teamingunderstandingIs a "decision recording" what we are really looking for?
Published onAugust 7, 2025The knowledge gravity problemdesign-thinkingdomain-driven-designlanguage-patternsdesign-patternsobject-oriented-designfunctional-programmingsoftware-architecturemental-modelscommunicationknowledge-workingbalancing-couplingIs there a force driving our systems towards complexity?
Published onAugust 4, 2025The ambiguity, the curse and the fallacy of domain modeldesign-thinkingdomain-driven-designlanguage-patternsdesign-patternsobject-oriented-designfunctional-programmingsoftware-architecturemental-modelscommunicationknowledge-workingIs it possible to "apply" Entity Component System (ECS) thinking to System Design?
Published onJuly 12, 2025Time, angle and depth: dimensions in software designdesign-thinkingdomain-driven-designlanguage-patternsdesign-patternsobject-oriented-designfunctional-programmingsoftware-architecturemental-modelscommunicationknowledge-workingCan we use physical qualities while reasoning about systems?
Published onJuly 1, 2025Easy will make you dizzy?design-thinkingtoolsdomain-driven-designlanguage-patternsdesign-patternsobject-oriented-designfunctional-programmingsoftware-architecturemental-modelscommunicationknowledge-workingAre we losing something important while getting better tools?
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 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 onJanuary 6, 2024From concepts to architecturesystems-thinkingprogrammingmodelingmodelcontextsrepresentationsmental-modelsheuristicsprinciplespatternsdesign-thinkingconceptsdecisionssoftware-architecturearchitecturecollaborationDoes software architecture depend on the ideas?
Published onOctober 24, 2023The ambiguity of compositionprinciplesfundamentalsguidelinesprogrammingmodelingmodelcontextsrepresentationsmental-modelsheuristicsprinciplespatternsdesign-thinkingconceptssoftware-architectureHow can we represent composition?
Published onSeptember 17, 2023The ambiguity of software architecturesystems-thinkingprogrammingmodelingmodelcontextsrepresentationsmental-modelsheuristicsprinciplespatternsdesign-thinkingconceptsdecisionssoftware-architecturearchitecturecollaborationWhat do we mean by "software architecture"?
Published onAugust 24, 2023The ambiguity of documentationobject-orientedfunctionalprogrammingmodelingmodelcontextsrepresentationsmental-modelsheuristicsprinciplespatternsdesign-thinkingconceptsIs a documentation only a manual?
Published onAugust 2, 2023New tools, old rulesarchitectureobject-orientedfunctionalprogrammingmodelingmodelcontextsrepresentationsmental-modelsheuristicsprinciplespatternsdesign-thinkingcontractsservice-orientedmicroservicesDoes "old" always remain unattractive?
Published onJuly 20, 2023Concepts, Entities, Dataarchitectureobject-orientedfunctionalprogrammingmodelingmodelcontextsrepresentationsmental-modelsheuristicsprinciplespatternsdesign-thinkingcontractsservice-orientedmicroservicesblasphemydatabase-driven-designtable-driven-developmentWhat is the relationship between all three of them?
Published onJuly 17, 2023How do errors evolve?architectureobject-orientedfunctionalprogrammingmodelingmodelcontextsrepresentationsmental-modelsheuristicsprinciplespatternsdesign-thinkingcontractsservice-orientedmicroservicesCompile-time, run-time - what is next in the evolution?
Published onJuly 2, 2023I, interfaceoopobject-orientedprogrammingroleslanguagemodelingmodelcontextsrepresentationsmental-modelsheuristicsblasphemyprinciplespatternsdesign-thinkingHave we misunderstood interfaces?
Published onJune 7, 2023Overdebuggingbehaviorspecificationintentmodelrepresentationsmental-modelsprinciplespatternsdesign-thinkingAre you addicted to debugging?
Published onMay 15, 2023Concept mapsprogrammingparadigmslanguagemodelingmodeltrade-offsrepresentationsmental-modelsdomain-driven-designvisual-modelingprinciplespatternsdesign-thinkingWhy are we hiding the transformational nature of the problems?
Published onApril 23, 2023Rethinking "missingness"programmingparadigmslanguagemodelingmodeltrade-offsrepresentationsmental-modelsdisciplineSOLIDGRASPprinciplespatternsdesign-thinkingHow can we model absence?
Published onMarch 30, 2023Modularity Uncertainty Heuristicprogrammingparadigmslanguagemodelingmodeltrade-offsmetaphorsrepresentationsmental-modelsdisciplinemodularitycouplingcohesionperspectivesarchitecturedesign-thinkingCan broken modularity be easily observed and easily fixed at the same time?
Published onMarch 12, 2023"Solution-Probleming"programmingparadigmslanguagemodelingproblem-solvingmodelingmodeltrade-offsrepresentationsmental-modelsdisciplineaspectsperspectivesarchitecturedesign-thinkingWhat one could learn from a broken coffee grinder?