And how long does it take? I downvoted a question 10 minutes ago but I did not receive the critic badge. Is this is bug or am I doing anything wrong?
I'll start by asking you to please do not downvote posts just to get a badge nobody is forcing you to take, only downvote if you really think the post deserve it.
That being said, badges, and other things on the SE network, are automatically assigned by scripts that run once in a while, they are not continuously running to save some resources. This means that a badge can take a few minutes (or even hours) before being assigned. Please wait.