How should one prepare and when is it time for starting contests ?
You should start doing contests now.
Contests are designed to be enjoyable for everyone. On CodeChef (and others) each contest has at least one problem you should be able to solve, and probably more. Try to solve these problems. If you couldn’t an editorial will be posted afterwards of which you can learn what you missed. Try implementing the editorialist’s solution in practice. This way learning becomes more fun, and therefore easier.
Great , Thanks a lot for your advise .
Will definetly follow !