When I interview any candidate for my startup, one thing that I closely observe is how well are they able to Google Search.
Yes, other than pure common sense, an important Software Engineering skill is the ability to do a Google Search. That’s how IITians learn to program using just the internet.
The software world is one of the fastest growing worlds. Every day we hear about new libraries, tools, frameworks, and even programming languages. It is practically impossible to have knowledge of all the concepts and know the syntax/implementation details. In fact, it is not recommended that you know it either.
You should use your brain as a CPU + RAM combo, not as a hard disk.
You should use your brain to learn new things and combine ideas to come up with new concepts rather than using it to memorize more information.
Coming back to your question - IITians, or for that matter, all great programmers and Software Engineers know how to utilize the most important resource available to them - the Internet, to figure out the answers and solutions to their problems.
Almost any error that you’ve got has most likely been asked by someone else on StackOverflow. Why not just Google search it? Almost any tool/programming language that you want to learn has an online course. Why not just learn from it?
There are gazillions of discussion forums, expert advice, tutorials, online courses, blogs, etc., available online (searchable via Google). All you need to do is to spend half an hour searching for them, go through them briefly to see if it is the right resource and start learning.
A case study in point.
Suppose you want to learn how to develop web applications using Django (a well-known Python-based web framework). What do you do? You search for it on Google.
You then get the search results.
That’s all that any great programmer does. IITians have nothing special.