Hi, a little about myself first. I am an electronics engineer. I always had a liking for CS,with a particular interest in software development, website design , to name a few. BUT I CHOSE ELECTRONICS ENGINEERING INSTEAD !!! WHY ? Because it was suggested to me that "CS/IT can be done by "anyone", anytime and experience can be gained "easily". But that is not applicable for electronics,civil, mechanical etc ". This is the dilemma a cousin of mine faces. That brings us to the topic of this post :
Regardless of one's liking/aptitude for CS/IT , is it better to graduate in a non-CS/IT field and then decide later if you want to pursue them after graduation.
Some arguments for the above, that seem convincing :
1.Many programming book authors were from unrelated fields :
-yashwant kanetkar (obscure, but known in india) - mechanical
-robert lafore - electrical
-balaguruswamy - electrical
-KATHY SIERRA(recently saw this on wikipedia) :
" a major in exercise physiology and spent 10 years working in the fitness industry. She changed careers after..." ETC...
2.With a non-cs/it degree followed by cs degree you get best of both the worlds and your job-prospects improve. Also, a guy with good knowledge of hardware and electronics AND CS seems more attractive to employers, because computers involve software AND HARDWARE.
3.Many colleges allow you to do a Masters in CS/IT even if CS/IT was not your undergrad major (after fulfilling some prerequisites)
4.Many pure IT/CS companies recruit people from other fields and train them for a few months.
(What WORK these non-cs guys do in the company, is not REALLY known to me. I heard that some good performers OF college get clerical work !!!, some go into testing/QA which has the reputation of being BORING and NOBODY likes it and few do real development work)
5.Some colleges have merged their electrical and CS dept. and given them a combined name.
So is it safe to say that CS is redundant and that its better to do something else FIRST and THEN CS, regardless of what your TRUE interests are ?
I would love to hear arguments/examples that disprove these points.
I must say one who has interest in IT should only opt CS/IT.
But, thats not all. Being in IT means continuos learning, as far as, most of Reginal Engineering Colleges & Private Colleges are concerned the syllabus is not good enough.
But then its IT, everything is availble online and best part is only hardware you need to learn/experiment is a computer. So, if a student who is really interested in software should bother lot about programming and latest technologies instead of just syllabus.
I know what I am talking about is difficult but then if you can get par with it then only you will be outstanding candidate.
I myself completed SCJP while I was in B.Tech 3rd Yr. Besides a loooooooot more I learned (on my personal efforts) helped me to do wonders on JOB.
Now, to compare with some other branch like electronics or others, I tell you story of many of my collegues.
They graduated from very good engg. colleges with Electronics, joined big MNC like mine. They always feel the hard earned knowledge of Electronics (etc) is waste forthem now. Three years down the line, they are still confused weather to switch to there core branch or be in software, hence loosing the pace with every increasing technologies.
Bottom line, if you are confident that software is one thing which certainly interests you then just opt CS/IT and concentrate to be the best IT professional.
If you are interested in hardware, there are huge advantages to studying electrical engineering. On the software, side there is a big difference between learning to program and learning computer science. For example, I haven't seen a single book that shows what a state machine is. I'd also like to point out that computer science is about way more than programming.
A few comments on your points
1) Many people in any field change careers. I'm not sure what this is intended to prove. It's also important to note that a generation ago computers were very different and there were less computer science program. A lot of people majored in math or something else even if they immediately wanted to go into programming. (I believe Kathy is at the tail end of that generation. Of course she studied something complete different.)
2) Yes, but you are spending more time studying. Getting a masters in CS is likely to require pre-requisites you don't have. If you want to get a job immediately after college, it's the first degree that matters. Again, if you want to do a mix of hardware and software, it's a different scenario. This isn't the case for web design though.
3) Yes. See comments on point two. The real question is would you rather work for a year or get a masters degree right away.
4) Wow. Not where I live. And testing doesn't have to be boring low level work. Three months of training is not equivalent to years of study. It's ok for developing simple software or programming where a VERY detailed design/algorithm is provided. Again the difference between the SCJP and conceptual background.
5) This is good. It tightens up the link and lets you focus on both.
Jeanne Boyarsky wrote:
...Again the difference between the SCJP and conceptual background...
As the days go by in my SCJP preparation, i realized that just java and SCJP will not be enough. To make my knowledge more wholesome and to be able to do some USEFUL WORK i will need to know AT LEAST :
3-networking (what level, what subjects in this ?)
4-operating systems (in general or just windows because thats the majority ?)
If there is anything else, please add to this list.
Thanks to all for the replies.
PS : Now i feel that choosing non-CS was a bad decision despite all the other knowledge i gained . I wont be surprised if the above list swells to the point of becoming a CS degree