We compare the thought process of problem solving to those of reporting solutions.
While reflecting on important aspects of work life, a colleague was surprised that I could quote him in better words than he used himself. He was thinking, I was writing.
We solve many problems, especially in computing, seemingly effortlessly.
We recall the most similar solution that we have seen to work. We test its circumstances against the present. When there is a match, we move on to expression.
Work gets harder when we can't recall a solution to the problem of the moment. We reframe the problem, divide and conquer, continue thinking.
Reflections begin with a series of questions also solved by association. We ask ourselves, what problems of importance have we sovled? We recall solutions that were once important. Was that solution present in the work under reflection? Was it important now?
When we think we can solve a problem based on experience we still face the task of expressing the solution in useful form.
Writing words to be read involves constructing sentences likely to be understood by the reader and provoking the desired thought.
Writing code to be run involves constructing statements likely to be understood by the compiler and provoking the desired computation.
Expression involves solving many little problems having to do with the likely future mental/computational state of the recipient.
Work gets harder when the little problems pile up distracting us from the larger solution we set out to express.
Pair-programmers often describe the roles they assume as strategic vs. tactical. The tactical programmer types instructions expressing an agreed upon solution while the strategic partner associates the emerging expression with alternatives or next steps based on his own experience.
While reflecting on important aspects of work life, my colleague assumed the strategic role while I the tactical. He associated while I expressed.
It's a small point that my colleague did the typing. He solved a large problem recalling significant activity, I solved smaller problems expressing his insight, then he solved smaller problems still by typing and spelling gramatical sentences.
Incremental Paragraphs suggests that association and expression can be usefully distributed across space and time. Federation may be enabling as it allows both processes to diverge, perhaps temporarily, or maybe not.