This is a common question which many students ask. So, here are my views. My views need not be correct for all situations for all students. So, please use your discretion.
By this time, you should have a general appreciation for the field of computer science. You should like working with computers. Your reading comprehension and general aptitude must be reasonable. Given these pre-requisites, you are good to start your undergraduate program.
A million-dollar question is about how to use the time effectively. Let me give the long answer first.
The purpose of BTech program is not to earn too many accomplishments that can enter your resume. Many students go for a mad run behind industry internships, summer programs and so on. None of these are necessary. Firstly, summer programs are usually focused and advanced. These are not suitable for BTechs. It will be a waste of your time. Industry internships for BTechs are usually designed to get nasty work done by you which the full-time employees do not wish to do. Again, a total waste of your time. One can argue that you will get industry exposure. My usual answer is that you would any way get your exposure when you join a proper job or intern after your BTech.
Getting the first job depends more on 1) having necessary GPA to sit for placements, and 2) clearing their placement test. To do this, you need to have solid grasp of concepts. So, spend all your time on studies. Improve your English, reading comprehension and general aptitude in your free time. At the end of BTech, people will ask you, “what is your favorite subject?”. Keep an answer ready. Be strong in this subject. Go beyond the classroom tests. Solve GATE problems. You missed to top JEE. Now, focus on topping GATE. You have full four years ahead of you.
Most students underestimate the need to develop strong study habits. You should spend 25% time reading, 25% practicing and 50% time thinking about the topic you read or practiced. Mindless study will take you nowhere. Good note-taking habits such as making short and shorter notes, timely revision, and regular problem solving are essential skills to develop. Invest in your personality. Join a public speaking course. Go and give speeches. Make presentations. These skills will come with you for life. Read one page of “What best college students do?” book every morning as first thing once you wake up. Take as much time as you need. Digest and try to remember the contents of that page for the entire day. You will be a very different person, altogether.
You are paid for your knowledge, skills and attitude (KSA). When two people of equal KSA compete, that is the only time when brand matters. There is nothing much to worry. 85% students can’t communicate.10% may communicate but can’t think. If you do these two things correctly, you are already in the 95th percentile of graduates at the end of your BTech. 4% students do not have a favorite subject. They are not the best in the country for that subject. If you take one subject and keep working on it beyond a semester, you will be the best. It is that easy. This will take you to the 99th percentile. Once this practice becomes a habit, you will invariably end up doing this for few more subjects. Thus, you become the best BTech graduate in CS.
BTech is a breadth-oriented course. Theory of computation is as important as Linear Algebra and Computer Networks. Do not develop an affinity to depth at this stage. It could turn dangerous. Most students have no understanding of ML. For someone who is extremely passionate about cricket will know what a googly means. Similarly, someone who is extremely passionate about ML will know what a sigmoid function is. They know who Christopher Bishop is and what happens in ICML. If these things sound new to you, you are not yet passionate about ML. The ML that people talk about is like a trailer of a movie. It always looks nice. When you work, you understand that it is a very different beast. I am not against ML but my comments apply to any other specialization. First, you need to spend time acquiring breadth. Learn everything with same passion. Then, with some knowledge, decide which specialization will work for you. Designing programming languages, mining repositories, pattern recognition, information retrieval, approximation algorithms, and the list of specialization options goes on. The world is huge. Do not marry ML this early.
Finally, I will leave you with the short answer which is the secret of success. It is not how much you earn. It is about how much capacity you have “to give” that matters. So, invest in your skills. When you talk, people should want to listen to you. When you write, people should stop to read it. There must be a problem which you can solve the best. There must be a job which you can do well. Do not invest in brands. It is not IIT. It is “you” that matters more. So, do not worry where you do it. Just do it. Go, rock. Become somebody whom the world looks up to. All the best!
Well, one more important thing. Do not forget to smile. Life can be stressful. You may have several priorities. But, take a few minutes to enjoy life. One smile a day is worth it. Make it a habit. Have fun.