It is important to realize that choosing an SEO firm to work with is no different to choosing a plumber, electrician or any other profession; because it is ultimately down to you to make sure you spend the time choosing the right company.
The first thing you need to do is work out whether you really need the services of an SEO company or if you just need someone to show you the ropes and then you can do things on your own, as long as you have the time. SEO is a skill, it takes years to really understand how everything works and then constant learning and studying of the industry news to try and work out where things are heading and then to implement these changes into a campaign.
Doing your own SEO can work to a point, but nothing beats paying someone who knows what they are doing to do this for you. After all, if you had no idea about electrics, you wouldn't spend a morning looking online and then try to rewire your house on your own, or at least we hope you wouldn't!
The next thing you need to do is actively go out there and knock on some doors and see who you want to work with. Do ask around friends and other businesses and try to get some recommendations, because when it comes to SEO if a company has a good reputation and comes highly recommended, you want to work with them. Because SEO is not a physical product, you can really only go on what other people say about the firm that they have used, so make sure you do contact a company directly over the phone and feel them out and not just fill out an online form. SEO is personal and should be done over the telephone and via email or online quote forms.
When you have found the right company make sure you help them and work with them to identify what YOU want to achieve, because working with an SEO firm is a two way street, you have to help them to make sure that they can deliver for you. If you are poor with communication and do not supply them with the things they need like content and updates, then the relationship will not work and you will not get the results you want either.
Always bear in mind that SEO takes time, so do not burden the company with unrealistic demands or constant pressure about ranking placements. Work out a time scale with them and let them do their work, but at the same time keep an eye on what they are doing and also make sure that you are happy with the progress being made and reported.