It was pretty good: I'd give it a grade of B+. The worst problem was that there were only a few, huge files, but if you ignored that then it made a lot of sense. It was written in (then-)modern C++, clearly with a lot of care. It was clearly not written in a stream-of-consciousness manner. There were very few bugs that you could blame on lack of programming skill.
My personal suspicion in this area is that Satoshi was never (or not recently) a full-time programmer, but he was pretty familiar with computer science (maybe a student or academic?), and he'd read some comprehensive C++ book just before starting on Bitcoin, so he made full and correct usage of C++ features in a slightly messy way.