No, i don't write pseudo code.
However I implement something that baerly runs very quickly, and after that I reason about the API and the code that I've just wrote.
This is my philosophy.
I can only support this method. Doing a quick and dirty solution first gives you a better feel of the problem to solve. You'll see what exceptions may be coming up and you can easily break down your problem into smaller ones.
Then you can start to define your API and refactor your code.