the ‘idols of the schema’ is a geepaw-ism, and deserves some background & explanation.
when we value the simplicity & clarity of an idea over the complexity & muddiness of its referent, we’re caught in an idol of the schema.
sir francis bacon was an english noble, a famous lawyer, and author of the Novum Organum, one of the seminal texts of empirical method. he wrote among many other things, of the ‘idola mentis’: idols of the mind, and offered four of them.
the use of the word ‘idol’ was quite significant. the emerging proto-sciences framed themselves very carefully w.r.t theology. their investigations of the world were said to be efforts to reveal an aspect of the deity by examining its creation in detail. they argued that studying god’s creation was literally studying the purpose & desires of its creator, a holy act – not, notably, blasphemy. characterizing shoddy thinking as idols of the mind, he invoked biblical idols: false gods his audience was more familiar with than us.
he described four in particular: idols of the tribe, idols of the cave, idols of the stage, and idols of the market.
these four don’t map to anything obvious from their titles, so let’s attend to them for a second.
idols of the tribe are false beliefs that arise from the shared nature of all believers, in other words, from human limitation. idols of the tribe include perceptual failures & the majority of what we now call cognitive biases, like anchoring, confirmation bias, etc.
idols of the stage are false beliefs that come from ‘received wisdom’, in other words, from the institutions that transmit blinding dogma. tho there’s no way us to learn what’s needed only by experience, the dressing up & overvaluing of prior ideas sometimes cuts thinking short.
the idols of the cave are false beliefs that come from the peculiarities of our own individual experience. most of us find it much harder to think past our own rich anecdotes to the possibility that they really form only a rare & misleading case.
idols of the marketplace are false beliefs based on the complex limits of shared human language. these are basically communication failures. if one word means two things to two different purposes in two different people, it’s easy to see how misleading all language can be to us.
so. now we come to ‘idols of the schema’.
some disclaimers: i don’t compare myself to sir francis. i don’t think he missed it. i don’t think they’re not there in his four. rather, i wanted to highlight a particular kind of shoddy thinking, give it a label, and let us mull on it anew.
fred brooks said, what, has it really been 40 years now, that the geek trades work with “mind stuff” to an extent rivaled by few others. and this déformation professionnelle places extra impact on a particular class of shoddy thinking, what i call the idols of the schema.
we spend massive amounts of time w/ideas, both free-roaming – still in our heads – and bound – crystallized in some form in reality. both are needed. w/o free-roaming ideas, we make no progress. w/o binding them into reality, we make no progress. :)
the two have very different flavors or textures. free-roaming ideas float in the ether, and floating there gives them nature: in comparison w/bound ideas, they are clear, with crisp boundaries, they elide corner cases, they are easy to reason with, easy to render.
in comparsion w/free-roaming ideas, bound ideas are muddy complex beasts. hard to draw. hard to consider. hard to flex & fit. free-roaming ideas can drive our behavior, and so can bound ones, and we use both to do so all the time.
the idols of the schema come when we have one idea IN BOTH FORMS, free & bound. in our heads and in the code. in an org chart and in an org. idols of the schema is overvaluing the free form when the bound form is in front of us throwing off data about whether it works or not.
some cases will help. i’ll take them from different domains, because the truth is, i see them everywhere i go these days.
let’s do code. did you go patterns-happy? many of us have. the GOF book was so beautiful. it’s difficult to express the excitement we felt. a particularly common form of this: “everything is subject-observer”. i wrote an app this way once. i’m happy to say it only took once.
subject-observer is simply beautiful. but it serves a very special purpose, dependency inversion. to use S-O when u don’t need it is owwie. expressing every relationship as S-O turned my simple app into an absolute nightmare of comical proportion. simple changes took hours, complex ones took weeks. genuinely hard ones took, well, forever.
reader, i took it in the backyard & shot it. you see, i valued the simplicity & clarity of “one pattern to rule them all”, free, over the actual results bound in my code base.
or, let’s do orgs. didja ever separate out all your DBA’s and put them in one team? on paper, org chart, free, this is a great idea. by putting the experts together, i maximize their expertise. driving them via ticket, i create orderly flow and eliminate “bad DB change”.
wonderful idea in free form. horrible idea once bound into the reality of software development. and we bound it, boy did we ever. and it’s gone on for 30 years and is still going on in some backwaters. all because we love the free-roaming idea more than terrible result.
what about certifications? once more, a great idea in free form. once again, the benefits are overwhelming in powerpoint. and once again, i’ve yet to see a binding of the certification idea that was worth a shit in reality.
the free idea crumples nearly instantly once bound. wrong questions are asked, right answers are irrelevant, gaming & cramming abound. and we keep telling ourselves that we just need to tune the binding. there will be a certification that is nearly as good bound as free.
but i don’t believe that. i just don’t. the data is too overwhelming. i’m sorry, i realize this will greatly trouble some of my friends.
here are some hallmarks of idols of the schema.
when i say “idols of the schema” i mean “shoddy thinking based in mind-stuff when there’s ample real-stuff to base our thinking on.”
at the bottom of the first slide of every talk i give it says: “suspect all systems”. that’s my idols of the schema showing. :)