Search This Blog

Tuesday, April 4, 2017

Should I take admission in Computer Science?

After my last blog article,where I had said that the quality of CS education is terrible in the country, I have received a few career counseling requests where the question is: "Should I study ECE or other engineering disciplines instead of CSE?" These are students (or their parents) who will be seeking admission to under-graduate programs in engineering this year.

A few quick comments: The problem of poor quality education is widespread and not restricted to Computer Science. I just know a bit more about CS and hence can say things more confidently about CS. But I don't believe that other disciplines are doing much better. Second, take admission in a discipline which you want to pursue as a career, and not worry about recent placement data. There will always be jobs for well educated persons. Third, if you have no personal interest in any discipline, seek admission in a college where the quality of education (in a holistic sense) is better. Again, ignore placement claims.

But I know from my past experience that the previous paragraph is completely unsatisfactory. Many parents want an unambiguous answer - would there be more job opportunities for CSE graduates or ECE graduates 4 years from now. They are not going to be happy with the answer that there will be more job opportunities for smarter people who have learn both engineering skills (including problem solving, analysis, synthesis, etc.), soft skills and life skills (communication, leadership, etc.) technical skills (programming, use of several tools), and have a broad based education to get the ability to pick up whatever is needed to be learnt on the job. This is independent of the discipline that you study.

(Notice that prior to admission, it is assumed that placement is a function of college and discipline. But after people do get a job, their opinions change and then the placement is because they are smart and the college has done nothing for them.)

First the bad news. The number of jobs created in the Indian IT sector has been less in 2016-17 compared to 2015-16. And it is expected that in 2017-18, the number of jobs will be even lower. If you consider the fraction of graduates getting a job across all universities/colleges, Information Technology has been a poor performer for a very long time. Just about 2.5 lakh jobs for about 10 lakh graduates. But CSE/IT have been popular programs because people don't look at the unemployment data, and only employment data, and that too top packages and not average or median packages. And the employment numbers were very high. Unfortunately for them, a lot of routine jobs are going away and these numbers are likely to keep coming down.

As per this report in Business Standard, Infosys recruited only 5500 employees in the first 9 months of the year as opposed to 17500 in the corresponding period of last year. Also, most IT services companies are re-skilling their employees as AI and Machine learning removes many routine jobs. Other reports talking about reduced IT hiring this year are here, here, and here. Note that most of this reduction has happened before Trump became President of US and therefore, does not take into account the possible restrictions on visas, outsourcing, etc.

There was a 20% decline across the sector in campus hiring this year. It may be noted that 20% decline is not uniform. Some of the poorer colleges will see 100% decline (companies won't visit them at all), while the top tier colleges may not see any decline at all.

It is expected that with more automation, and with developments in AI and Machine Learning, more and more routine jobs will be done by software or robots, and even where a human must be in the loop, the component that human will actually carry out would reduce. And hence, one should expect a more serious decline in IT services jobs over the next 4 years.

And hence, if the primary reason to join a program is immediate campus placement (and not learning, or interest), then one should check if that campus is dependent on IT services sector jobs for placing its students. If the majority of the students are joining IT services, there could be issues with placements 4 years hence. (And just to add, there are perhaps less than 40 CS/IT departments in the whole country where a majority of graduates are getting core CS jobs. IIIT-Delhi is one of them.)

Is Computer Science as a discipline on the decline. Absolutely not. In fact, it is one of the most exciting phases that we have seen yet. The kind of problems that we are able to solve today with cloud computing, high performance computing, big data, AI, deep learning, mobile computing, ubiquitous wireless Internet connectivity, and so on, we could only imagine just a decade ago. Computer Science has truly changed the way we live our lives and will keep changing it further as the future unfolds. This is really the time to study Computer Science and contribute to the creation of a wonderful future for all of us and the next generation. Also, Computer Science professionals are interacting with professionals from so many disciplines that irrespective of what your interests lie in, you could still study Compute Science and study a discipline of your passion and solve problems at the interaction of the two disciplines. (Keeping this in mind, IIIT-Delhi started the program on CS and Applied Maths last year, and is starting two new programs this year - CS and Design, and IT and Social Science.)

A typical question I get is this. By doing BTech in ECE, one can still take GATE in CS and do an MTech in CS, but by doing BTech in CSE, one is stuck in CS discipline. My answer is that in general one should not depend on change of disciplines in future. If you are so motivated that you can study CS material for GATE in your 3rd or 4th year, then you can right away take CS, study hard, and you can have a good career in CS. The problem of CS jobs is only because of poorly trained and poorly motivated students. On the other hand, there will be more opportunities for people with broader skillsets in future. (And that is why we are hoping that our new programs at IIIT-Delhi will be very successful.) 

So, if you want to study Computer Science, go right ahead and choose CS. The only exceptions to this general advice is: if you are only able to get admission in a college which has a poor quality teaching program. And once you join the program, make sure that you work hard to take as much advantage of your four years in college.

If you are not interested in anything, but want to do a CS program only because of placements. Check if the college graduates are too dependent on IT services companies for placement. If yes, be warned that IT services job are likely to become hugely competitive in 4 years.

7 comments:

Siddhartha Jain said...

Sir, with the fast growth in the need for Data Scientists, do you think there is a need for a discipline for the same? A B.Tech in Data Science will be very valuable in the industry, I believe. But is it feasible?

Dheeraj Sanghi said...

We are starting to see programs in Data Science, and this trend will only strengthen over the next few years. If an IIT starts such a program, I am sure, there will be a flood of others following up.

V JAGADISWAR said...

Is it just possible that Mechanical branch with Computer Science/Programming on a private study basis will work better for the freshers. This will protect them from recession in IT jobs but can take advantage if the demand for IT increases
Jagadiswar

abhay agarwal said...

Sir,
I want to ask you that though I am interested in computer science, but I am afraid whether my poor eyesight (myopia -6D both eyes) will allow me to work on computer for nearly all day (12-14 hours)both in college as well as in job.

I easily get a headache if I use my laptop for 6-8 hours while reading e-books etc.

I am aware of glasses like gunnar. But will they solve the problem ?
Also I do not want to undergo lasik surgery or wear contact lenses.

Kindly advise.

Dheeraj Sanghi said...

@Abhay, You don't need to be on computer 12-14 hours a day. There would always be jobs which may require this no more than 3-4 hours a day, and also with the help of screen readers and other such software, you can reduce the time looking at screen.

abhay agarwal said...

Sir, i think to really master coding and stuff i will have to devote lots of time and so i am concerned.
Thanks for answering my query!

k00lk0der1 said...

Respected Sir,



I was recently accepted to Ashoka University and want to pursue a B.Sc. degree with honours in computer science from Ashoka.



I have a few questions about the same

1) Does the B.Sc. + M.Sc. degree from four year programme put me at an disadvantage during placement in comparison to having B.Tech. degree?



2) What kind of research resources would I have at my disposal at Ashoka?



Thanks Sir