If you choose to outsource your SEO somewhere like oDesk, make sure you find someone who speaks good English. The most important aspect of SEO is finding a team of good writers who can crank out unique content that people actually want to read. You should then use these articles to place on your blog (or some other consistent content source on your site) and to place on other industry-related blogs as guest posts in exchange for a link (the only backlinks truly worth going after anymore).
The biggest problem that many SEO's face is that try to trick Google. Google's algorithm has now become so advanced, that they have pretty much stopped the positive effects of mass linkbuilding. It is better to have 5 good guest post links and a consistent content source than to have 50,000 links from blog comments, spun articles in article directories, web directories, link exchanges, web 2.0's, etc.
At the end of the day, all Google wants is to give their users the best possible information to match what they are looking for. If Google consistently produced bad results, people would stop using their search features. As long as you focus on giving Google what they want, they will reward you.