No, punishing a puppy never works and it can only lead to aggressive behavior and a lot more barking. Rather, reward him for good behavior and stop rewarding him for not following your instructions.