I usually write out the whole program as broad descriptions of what it should do, and then progressively replace each part with a more specific and detailed description. I keep doing this until the description are basically equivalent to what the code would be, and then I just translate them.
Works a lot better than what most people understand when you say ``pseudocode''.