hello roshan,
here is the brief explanation for you here
Learn a language used professionally (like Ruby or C#; do research on how different languages are used, how popular they are commercially, ... and then go from there). After that, practice for a couple years (the length depends on you individually) by making small programs for yourself, contributing to open-source (that'll probably come towards the end), and just generally build your resume. Do a lot of reading from those who know a lot more than you (like Spolsky or Atwood, for example). Read about advanced features of your chosen language (a ton of resources online for that). Read the seminal books of the field (like SICP, Code Complete, ..., and possibly TAOCP). Learn another language if you have time, but don't mistake quantity for quality. Finally, a college degree in computer science/engineering or other such formal education is VERY helpful in terms of both learning important concepts and also looking more qualified to employers.
Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile