I am doing my research. I am not that familiar with oDesk, and presently looking into switching to freelance development. A question I posted on HN (http://news.ycombinator.com/item?id=3394265) lead to this, very informative, discussion
The advice you got there was reasonable: use oDesk once or twice to see if you like doing transactional development work (ie, series of unrelated projects under tight time pressure) but treat oDesk as an apprenticeship, and as soon as you feel like you're going to stick with consultative development, get the f!%k off oDesk.