Once as a kid, I was cutting through a couple of back yards on my way home. I came across a German Shepherd laying outside of his doghouse. He saw me, started wagging his tail and did not have a menacing look. I started to approach him and, out of the blue, he flew at me in a rage. Luckily, he was on a chain and I was only an inch or two out of his reach. Probably the only time I completely misjudged a dog. I swear to this day that he was baiting me. Not disparaging shepherds. When raised right, they're loving, smart and very loyal. To the OP, I'd also add my experience with Rottweiler's has been that they look bad ass, but are big babies.
I love all dogs until given a reason not to and will go out of my way to make friends with virtually any dog. If given the time, I believe I can win them all over. It's been my experience that small dogs are less predictable than large dogs. If you're apprehensive when meeting a new dog, especially one that seems skittish, my recommendations are to offer the back of your hand for him/her to sniff (If he's ever been abused, an open palm may be seen as a threat), calmly talk to it like you'd talk to a toddler, look him/her in the eye and smile, remove your hat and sunglasses (again, if it's ever been abused, it may associate you with its abuser) and, most importantly, let the dog decide how quickly it wants to get to know you. Especially with small dogs, it might help to get down on one knee to seem less threatening.
For context, I consider the dog to be one of mankind's greatest achievements.