Comment by dwd
+1 for the Rubber duck, and as an unblocker.
My personal use is very much one function at a time. I know what I need something to do, so I get it to write the function which I then piece together.
It can even come back with alternatives I may not have considered.
I might give it some context, but I'm mainly offloading a bunch of typing. I usually debug and fix it's code myself rather than trying to get it to do better.