Just thought I'd chime in and give my opinion on the issue. I'm Brazilian FYI (this info is important for what I'm about to say)
During my 8 years here in Japan, I've noticed that the people who complain about the country are, in most cases, spoiled people from "1st world countries". Norway, USA, Switzerland, Austria... it doesn't matter - if you come from a nice place - moving to Japan is most likely not the best idea from my own experience (and I have also lived in Germany and Switzerland so I can compare other countries to Japan).
Initially - I wanted to live in Switzerland, but I couldn't find a company to sponsor my visa. So after studying there for 1 year (and having lived in Germany for another year) I knew I couldn't just go back home to the shithole known as Brazil.
I then decided to come to Japan. In absolutely every way (except maybe social life ***which in my case I don't care much about) Japan is superior to Brazil. Now, say you come from a place like Austria or Switzerland or Norway (as I've seen here) you most likely won't adapt to the harsh nature of "realism" in Japan. You're also likely to have a much lower salary - or you'll have to work MUCH more for the same salary you could have back at home - while also being considered just a 外国人. No matter how good your Japanese is or how long you live here - you'll always be an outsider (as am I).
These are the people who start noticing all of the little details that bother them and end up being miserable here. In a way, you have to have a really open mind to live in Japan... which most people think they have but they don't.
It's the same with all of the people who come here to teach English thinking it'll be the adventure of their lives - you still have to pay bills, it's still a job, you're still going to have to deal with peoples' attitudes. Except everything is harder now because you're in an alien place where YOU are the alien.