In my opinion, one should never drop out, unless it’s a financial problem.
It’s just 3 more semesters! Just finish it.
CAUTION: The following is just an opinion of mine! I may be wrong. 🙂
I know it becomes frustrating and boring to do the work you do not love. But leaving in between is never advisable. That will make things worse. Having a bad CGPA is much much better than not having a degree at all. You will always be seen as a freelancer/contract-programmer (and believe me, there are lots of them). What’s your worry?
- That you don’t find your branch interesting?
- Then just take it as a task to complete, since you have started it, and have already come a long way (hats off to you to have come this far with all the frustration/pressure!). Just play some more and finish it. Don’t attach yourself too much to your branch/subjects. If you don’t like a subject, you should respect it more, from an examination point of view. A hated subject has the potential to drag you down, and keep you from passing your Bachelors.
In class 10th, I never found Social Studies interesting. But was really interested in (and hence, good at) Science and Maths. The result: I had great marks in Maths and Science, but Social Studies dragged down the overall percentage.
So the solution is to keep passing semester exams, and get rid of it at the end, with a degree! Don’t think too much about the subjects and the branch. And, don’t let your real interests die. Instead, keep them safe, and use them as incentives to finish your Bachelors: “Let me finish my Bachelors. Then, I’ll happily pursue my interests”.
- That you would fail in other semesters?
- You will easily be able to pass. It’s very easy, once you start taking it as a performance-oriented task. Just stop being emotional and be practical. Have daily workouts: just like an obese person has to spend time in the gym daily to lose weight. This doesn’t mean he/she wants to become an expert gym-trainer. In the same way, even though you don’t aspire to become an expert EC engineer, you should spend some time daily (maybe only before exams) to make sure you get average marks.
Find a friend/colleague who is willing to help you during your daily workouts. Just take it as a game: enter, perform, exit. Take it as a medicine to get a degree. Another solution (read this somewhere on Quora) is to find classmates who are worse than you, and invite them to your workouts. Study with them, and finish your coursework.
- That you will have to undergo pressure in future?
- No. All pressure is self-created, and even if you are presently under pressure, do not hope for the pressure to come down if you drop out. There’s a difference between pressure and expectation. It’s true that you (and others, e.g., family, friends, teachers, etc.) expect that you’ll perform well academically. But is it fair to call this expectation a pressure? It is anything but pressure. Expectation creates motivation, the driving force that propels us forward, every time we fall. But sadly, we take expectation to be a synonym for pressure. And given that you are really under a lot of pressure currently, will the pressure end if you drop out? Definitely not. It will keep piling up. So, instead of facing the unseen pressure of dropping out, why not face the (already mastered) pressure of being in the course, and use it as a motivation to get a degree.
- That you will end up in a job that doesn’t interest you?
- It’s difficult to get a core job in engineering. But it’s difficult only if you try! 🙂 When you know you don’t want to pursue this field further, just put a full-stop to it after the eighth-semester final exams! Don’t try at all for a core job. Try to go for higher studies (Masters, PhD) in programming-related fields. Or take up a job that recognizes your talent. You will definitely get a job, given your passion/interest in computers and programming.
And in the worst case (God forbid!), if you don’t get a job, you can fulfill your dream of being a freelancer then. At least you would then be a freelance engineer! You will easily find a job that involves programming: there are plenty of such jobs, both in MRCs and in startups. And you can very well think of starting a new company.
- That you get less time to excel in programming/web?
- Do you think dropping out will give you more time? Okay, suppose you get more time. Will you not be under the immense pressure of performing? Will it not be difficult to handle failure, howsoever tiny it be. For example, if you lose to solve even one problem on TopCoder, you would start feeling like a loser, who has no degree, no college, and can’t even program (PS: this is your could-be thought, not mine :)).
If you think practically, you have enough time to spend on improving your programming/web-development skills while you are in the college. It’s only during exams that you have to pay attention to studies. So do that. Develop your hobbies, and keep competing on TopCoder, CodeChef, etc. They may also help you find a job. Time is never a problem. And since you have mentioned that you are one of the best programmers of your university (for which, I congratulate you), why not spread the knowledge? You should conduct programming/web-development workshops for other students in your college. You could even collaborate with various technical clubs present in almost all engineering colleges: IEEE, IE, etc.
What if you drop out?
Formal education is very very important (at least for them who can afford it). It lets you handle failure. Consider this: you have a degree (BTech), you get a job, and after some months (in the worst case), the company gets shut down. You, based on your degree (and the little job experience you had had), will immediately get a new job. But if you are a drop out, you would, first of all, have to struggle to get a job, and if the company gets shut down, you would be back to square one, and would again struggle to get another job.
Things could be better if you want to work as a freelancer/contract-worker, but what about the pay? Why do companies hire freelancers? Because hiring full-time employees costs a lot. So, you would always be paid less than what you deserve. And since you would be in an easily replaceable position (there are a large no. of freelancers), you won’t even be able to bargain with them. They may even delay your payments.
In short, you would always be hunting for clients. And if you don’t get clients for a month or so, you would have to use up your savings. Depending completely on freelancing would always keep you on the edge.
Although there’s a possibility (though little) of you becoming a successful freelancer, but hard-work alone cannot always win the game. Degree plays an extremely important role. Better is to work hard to improve your skills while pursuing your BTech itself.
A degree is like a ticket for a (theatrical) play. You may be really good at acting, and may have excellent analysis skills; you may be the most suited person to watch the play. But if you don’t purchase the ticket, you’ll not be allowed to enter.