I have been in China on and off for 15 years. I have worked for others, started businesses myself, and worked for foreign businesses online.

Overall question first. In terms of 'difficulty' to work, I suppose the key issues are: language, office culture, visa situation, job availability, overheads.

Language is really not a problem if you work for any reasonable company as all young people can speak some English and basic spoken Chinese is not hard to pick up with a little effort once you are in the environment.

Office culture is highly company dependent: I have interviewed at companies with stupid amounts of capital and connections but no idea what they were doing whose upper management were so afraid of a foreigner in their midst (with technical knowledge) that they flat out refused to hire ("threat" alarm), even though it was self-evident we would have taken the company good places together. On the other hand, there are companies where it would be fantastic. In general, it won't be as easy as the west, and it may be difficult or even unworkable. Be careful with this. You can sidestep this by starting something yourself.

Visas became much harder in 2007, before the 2008 Olympics, and never got easier. It is true that Americans can get 10 years repeat-entry visas (60 or 90 days per stay), you are not allowed to work on them, though many, many, many, many people do. I believe Canadians and UK citizens may be able to get these now or soon. In general, it is illegal to 'work' (as in sit in an office every day, receive a Chinese salary) on these visas, but you can definitely 'work' in the sense of consulting on the ground from an international position without legal recourse. It's all about how you structure your alleged situation to authorities, if they come asking, which they basically won't. The safest is to get paid overseas, the next safest is probably to be paid cash. Getting paid in to a local bank account on a non-work visa is asking for problems. You can sidestep this by starting something yourself, which gives you a work visa.

Job availability wise, probably the larger east-coast cities are OK. Outside of those cities, there is almost nothing, unless you want to compete with locals for web development or other piecemeal work, which is a losing bet in my observation. You can sidestep this by starting something yourself.

Overheads wise, you can get by nicely on about the same as in Europe, which is to say hotels + food + transport + visa overheads would be 200-1000元/day (about USD$30-150/day) depending upon what kind of city you are in and how much consumption you can pack in. In second tier cities, I would say 400元 (USD$60) is a fair budget, whereas in the east coast first tier cities perhaps 800元 (USD$120) is more realistic. You can halve this if you have your own house or apartment, which is basically viable if you are staying 6 months or longer. Foreigners often have share houses available in larger cities, if you want to dip a foot in without total commitment to your own space.

What to expect? Surprises, weird cultural adjustments, great food variety, honestly friendly people, less regulation.

Xenophobia? Not usually, it is rare but it does exist.

Culturally, Chinese are pretty straight shooters ... more so than westerners, in my opinion. You can make friends easily, but the depth of a friendship is often defined by how much effort you put in to maintaining it. Mutual favors can make the world go around. Banquets solidify friendships, and are awesome.

What sort of work would you like to do? A good way to start may be identifying companies working in the areas you would like to gain experience in, then simply volunteer to work for them for awhile (say 3 months) possibly for some token cash-in-hand salary with a view towards a full time position. It will not cost you much and you can arrive on your own visa, you are not 'working' (as you are 'not' receiving money) and you maintain total freedom with regards to leaving / changing your situation / looking elsewhere while you clue up and decide on your next move.

City wise, Shenzhen or other Guangdong cities and parts of Zhejiang and Fujian provinces are good for a firmware focus. From a traditional software-focus, Chengdu, Shenzhen, Shanghai, or Beijing are probably the big ones.

Looking back coming to China was the best thing I ever did in life - I'm an Australian who's lived in Europe and America. It's not for everyone, but if you can make it work you'll be richly rewarded in experience.