If you are not already working with a professional to repair your credit, then the advantage of contacting a loan officer is that they can provide free advice on how to proceed to repair your credit (because eventually they want you to buy and get a mortgage through them). Some of the loan officers I have worked with in the past have worked with a client for several months, following up about once a month to see how much progress is being made---and when the client is ready, then I take over and we start the home buying process. As with any profession, make sure you choose a loan officer that has a great reputation or that comes highly recommened. Ask your friends who they have used before or go to websites such as Angies List that will provide a rating. The downside is that your credit will be pulled (so they can provide advice on your particular situation) --and as you may know, with too many inquiries, it will negatively affect your credit. So just do your homework, comparing rates, fees, and how well they will stay on top of your file, and then just choose one so your credit is only pulled once.
If you are already working with a professional--then just be patient until they think you are ready. The last thing you want is to barely get pre-approved, put an offer in, and then have the contract fall through because the financing didn't work out.