Be careful hiring any SEO "consultants or companies", a lot are scams. You'll know by the promises, i.e. "top rank by Tuesday!" "Submitted to a 100 million search engines!" and so forth.
The first way is to make sure your site is designed right. No duplicate content, proper robots file, appropriate site layout, perhaps a sitemap that bots can find that is pointed to in your robots file. And though controversial these days, it doesn't hurt to drop some proper meta tags for site description and so forth.
Second, proper code, use alt tags, give links descriptive names that match the content they are linking to. Use as much text as possible rather than images, as the words "my cool stuff" in an image can't be seen by a bot, but real text can.
Third, don't cheat. Don't keyword spam your own site, put white letters on white background to try and "hide" keywords, you'll get punished. Review the criteria that Google and other search engines have available that tells you what not to do to get punished.
Fourth, drive traffic to your site, get your links on other sites more popular than your own if you can. Bloggers and the like. Search engines will like you better if higher ranking sites link to you.
If possible, one or more of your primary keywords should be in your domain name. If two people sell pizza, then "bobsgoodfood.com" will likely rank lower than "bobsgoodpizza.com". Keywords in domain names are a big deal. The search engines will think your site actually has something to do with pizza. And by rank lower I mean farther down in the search results, not pagerank.
Hook up tools to your site to monitor and review it. Hook your site up to Google analytics and web master tools at the least.
Make sure any URI conversions are done properly, and your DNS settings are right. For example if Google sees two pages, one at www.site.com and one at site.com or http://site.com, etc... It may consider these as duplicate content since more than one URI link to the same content. You can check this by doing a search in google for "site:mysite.com" and look at the results. Do all the result pages use http://.... or www.... or non-www etc... If it has crawled the same content from multiple URIs, you could be in for trouble.
Last, be patient. Search engines are just bots crawling around looking at stuff. You don't push them around or "make" search engines rank you higher. You have to be established, fresh content, relevant content-to-keywords, making friends with other established sites, etc... Nobody just builds a site and hires somebody for $100 bucks to make them number one, can't do it. SEO is now an art that takes time and active participation, and patience! Use Analytics and Web Master tools to see traffic is getting to you, optimize continually, add fresh content regularly, drive traffic.
The best advice of all, head down to Barnes and Noble, buy an SEO book. If you care about driving traffic to your site and making money, it's an investment you NEED for yourself, period.