I hope this doesn’t come off as insulting, but if you only think about problems in terms of code I suspect the problems you’re trying to solve are not very complicated. (Either that, or you’re a super genius–but smart as you clearly are, you’re probably not a super genius).
Pseudo-code isn’t a 1-to-1 mapping of 1 English (or German or whatever) sentence to 1 line of Java/C#/Python/Ruby/blah code. Pseudo-code is much more high-level. You can gloss over details of things that are unimportant to the core task.
In a (freakin’ brutal) grad algorithms class, I learned this lesson: explain succinctly the problem you’re trying to solve by giving only enough detail to get the point across. For instance, if you need to find the shortest path from one node to all other nodes in a graph that has positive edge weights, how would you do it? You could write out the pseudo-code to do the whole thing line-by-line, thinking in code, or you could do something like this:
for each node in the graph
run dijkstra’s algorithm to find the shortest path
That’s a lot of actual code compressed into two lines (I guess to be fair, you could also just say: run the Floyd-Warshall algorithm, but that’s beside the point).
The point, though, is just to think in terms of high level ideas, not code-level semantics. It really does unleash your ability to think about more difficult problems when you’re not forcing yourself to think about unimportant implementation/code-level details. It also helps you to work outside the box into which Language X tends to push you: once you have the idea, implementing it in any language is a more trivial operation.
And as a final aside, thinking in terms of recursion–and particularly Dynamic Programming–is helped immensely by not thinking in terms of code, but just high level ideas. Once the ideas/pseudo-code is solid, then you deal with edge cases and semantic details of the code. I would go so far as to say one (or: the non-geniuses among us) can’t solve difficult Dynamic Programming problems by thinking about the problem at code-level.
Then again, most web development and business apps tend to be fairly straight-forward CRUD apps at their core, so thinking in terms of code is probably sufficient in many/most cases like that.