So you have made the decision to get a dog. Perhaps you had a bad experience once before with a dog who you thought was cute or friendly, but then when you got him home he turned out to be a holy terror, and the whole thing turned into a nightmare. Even if you have never had such a bad experience, the fact remains that choosing a pet is a life-changing decision, and it is one that takes a lot of thought and research.
Is there such a thing as the perfect puppy? In all likelihood there is not. There is always something one might change in any dog (or person really), but the goal should be to always strive towards raising a puppy to be its most perfect self. This is hard work, to be sure, but it is not only possible, it is necessary.
Half the battle of dog training is finding the right training class and the right trainer to assist you along the way. Not all dog trainers or classes are created equal! There are a lot of differences among trainers, and you need to be prepared to find the best one for you and your dog.