What do these things have in common?
- I love pair programming but finding a willing victim is often hard.
- Many of and some of my greatest Aha! moments happened when I wrote a problem down and worked out a solution to it on “paper”, be it as part of BDD, literate programming or other kinds of documentation or tests
- Also holds true for when I explain a problem to someone or something. Also known as Rubber Duck Debugging.
They all involve synthesising the thoughts in your mind into a coherent stream of words hoping to convey meaning and intent to the recipient. And for me this works wonders in a lot of situations. It’s a relatively easy way to achieve more mental presence. Which in turn makes things less frustrating. Which makes them more fun. And you more awesome!
But what do you do if there is no other programmer around, you forgot your rubber ducky at home? Invoke the power of soliloquising! For increased effect, talk to yourself using “you”. Studies have shown that this has an even stronger effect.
Talk yourself through the steps you gotta take, and you might find that the shared burden gets easier to bear. I am a bit astonished that it really feels this way. I have no science to back this up, this is just my personal experience but it feels very much like when I some burden with someone and then it’s less of a burden. Same thing happens here when I talk with myself about it. Using the second person.
Now I gotta find a way to do this at work without irritating people.
(Also soliloquising is such a fancy word. In German we literally call it “self conversations” (Selbstgespräche). Isn’t it such a beautifully logical language?)