I have personally found the rubber-ducking to be really helpful, especially for more exploratory work. I find myself typing "So if I understand correctly, the code does this this and this because of this" and usually get some helpful feedback.
It feels a bit like pair programming with someone who knows 90% of the documentation for an older version of a relevant library - definitely more helpful than me by myself, and with somewhat less communication overhead that actually pairing with a human.
It feels a bit like pair programming with someone who knows 90% of the documentation for an older version of a relevant library - definitely more helpful than me by myself, and with somewhat less communication overhead that actually pairing with a human.