In my experience, even if you get a trainer/ behaviorist to guide you, it really is up to you to work on this reactivity. I might be wrong and you might get a good trainer who knows what they are doing and be really effective in a few sessions. But I felt I was on my own with regard to reacitivoty. Its great that yours is well behaved in training classes. On walks you will have to start at a distance where he is not reacting and desensitize him to other dogs. (lots of material and video tutorials on the web about how to desensitize him to other dogs). Its called keeping him under threshold. There are 3 factos to it distance, duration and intensity.
Then you stay within threshold and treat, treat, treat,train, reward, etc. You will over time be able to take him closer and closer with him staying calm. This morning we were within 5 feet of another dog with mine staying focused on me and calm. Wow. I never thought we would get there. But I am sure there will be other factors we will have to cross like intensity(mine had a bad experience with a jack russell terrier attacking him when he was little, so he is even more reactive to this kind of breeds).
Also, when I go to the vet, I go sign in first and when they tell me to bring him in, then I go get him. Then I walk him very fast (i just block the other dogs out in my own mind as well) past the other dogs in the waiting area to the examination room. This has surprisingly worked. Even with some dogs growling and lunging at him. Perhaps because we are moving too fast to give him time to react. So you will have to manage your situations like this till he learns to be calm around other dogs.