Computer Science or Info Tech? 380
An anonymous reader writes "I am currently completing my final year of secondary schooling, and in the next few weeks I need to submit my university (or college to all you Americans) preferences for processing. I've decided that I want a career in the IT industry, but am unsure of whether to apply for a Computer Science course or an Information Technology course. I understand the difference between the two courses (CS being the study of the principles and concepts involved in Computing at a more fundamental, and often more sophisticated level, and IT being a more practical, application based approach to computing), but would like to know from anybody who has studied either or both of the courses what kinds of careers each course would lead into and what would you recommend for someone such as myself, having a broad range of interests and wishing to dabble in everything before deciding where to specialise?"
CS vs IT (Score:5, Insightful)
p.s. first post and actually fairly on topic
Get a job (Score:4, Insightful)
So instead of worrying exactly which degree to take, just get the one that you think you will enjoy most. It's going to be your life for years - if you don't enjoy it, it'll kill you. I did engineering, because it was fun, and I got offers from the IT industry when I graduated as well as elsewhere. There were plenty of people with maths and physics degrees heading into IT as well.
Much more important is to get employment in the right field. Even if it's an unpaid weekend job, or summers doing network admin stuff. Steady employment and a track record is much more impressive than anything most of your competitors will have at the start of the mad rush to hire graduates. The closer it is to your field the better, and if you can pick a company that will keep having you back and give you more impressive things to do that's great.
Even if they (or you) don't want to turn things permanent after college, then you will already have a headstart on networking in your field, proof you can work for a week in an office without putting laxative in the coffee and good things to talk about at interviews.
Repost? (Score:3, Insightful)
Re:I would avoid IT (Score:3, Insightful)
Avoid information degrees like the plague. They're half assed awards aiming at the market a poor programer will find easy - mostly web systems. I believe in a hierarchy of programming and sadly the information or enterprise courses aim to make web monkeys - web monkeys find it harder to breakout of their web niche which is quickly becoming over populated with causal programmers (who are coming more and more skilled!) such as college grads and drop outs.
I did a software engineering degree with electronics (Computer Systems)... Most of my computing modules were all Computer Science, the rest were extended project classes, instead of more pointless CS with distracting formal theory. Quite often the formal theory is there to make the theory more abstract and thus something to teach, when it shouldn't be any harder than memorising precedent and flow.
A lot of universities offering CS courses should really be rename them to Software Engineering. My best advice would be to check the course syllabus and and pick one with a strong software engineering focus, and plenty of time to do that "wow" dissertation you want.
If you can't talk about your dissertation in geek, it's probably not specialised enough. Some of my "peers" created a DVD, others a website, and one a relational back end to a portal... I'm ashamed to admit that because they used some formal theory (ie: design models) the could score highly. To date I believe none of them understand the languages they used nor the concepts they copied. The standard of code was also extremely poor.
Hths,
Matt
Re:MIS (Score:3, Insightful)
If intellectual challenge, working with bright classmates, and self-respect is worth anything to you, MIS is a trap that you'll have to fight your way out of.
Re:CS vs IT (Score:5, Insightful)
IT is drudgery. It involves looking at how people use computers in everyday tasks... The fact that you read slashdot shows that you will find IT hugely boring, seriously. I've done two seperate IT courses, one for GCSE and one for A-Level. Both were as bland and meaningless as eachother.
During coursework I tried my hardest to get down to some technical points, but the specification doesn't allow for that kind of thing. It is more of a kind of "look how magic computers are? they run on magic!" kind of course, you never get down to the nitty gritty.
CS on the other hand is a level-up. The social sides of computing is less studied, and computers themselves are more studied. ICT is a general "I can do computers, me" course, whereas a CS degree is a) more interesting b) more challenging c) employers will recognise b
Re:Plan for Them Both, Take Your Time & Pick O (Score:3, Insightful)
That's a thoughtful post, but the idea in it all that I like best is this: Don't make up your mind so easily.
Unless you're stubbornly sticking to a single path, going through college will probably change your view of where you'd like to be in 10 years. And then after you get out of college, setting out in the real world may change that view again. Working for 10 years on a given career path might make you want to change paths, or even change careers altogether. Things change more often than young people imagine. The life expectancy is more than 80 years these days, and you have no idea what mutations your life will undergo in that amount of time. Certainly, whatever path you pick for the time being, it'd be best to work your ass off and try to excel. You should work at it as though it might be your permanent path, but it may not be.
I've taken a bit of a strange path myself. I've been fixing computers for money since I was 10 and holding down IT jobs since I was 16. I started out a Computer Science major, hated it, and switched over to being a Philosophy major (of all things) with a minor in Literature. After college, I had a brief stint as a professional writer of sorts, hated it, and went back to fixing computers. In the years since, I've worked my way up from being a helpdesk tech to being an executive.
Honestly, I don't think the most important thing you learn in college is the subject matter of your particular major. The *most* important thing is learning how to work and to think in some way that works for you. You have to learn to juggle a lot of work, how to deal with people, and how to communicate your ideas. You learn how to make friends and how to cope with unexpected situations.
Even with subject matters as technical as computer science and information technology, the direct applicability of what you've been taught in classes will be limited. In real life situations, real life experience will serve you well. In my years of working in IT, looking at formal education and certifications never seemed to be a good sign of whether that person would be able to fix problems or to keep things running well. Surprisingly, I've found my philosophy studies have helped me get jobs and helped me do well in the industry.
I'm weary of giving advice and I'm certainly not advising that people take up philosophy as a means to getting a computer job. I guess I'm just saying that your life probably won't take a straight line, and you'll just have to find your own path. There is no "right answer".
Re:CS vs IT (Score:5, Insightful)
* CS is more dificult, that's why I originally chose IT! I feared the math (IT requires 2 math courses while CS was closer to 9 but all ultimately most courses had a math background. CS is more math centric but you appreciate the inner workings of the field
* IT is more high level and you never quite dwelve in deep enough to appreciate things
* A good CS major can do any job an IT major can, but an IT major can not do everything a CS major can, so don't limit yourself!
* Whether you want to do sys admin or programming CS is a good choice, you'll learn how things work and you'll be better at troubleshooting advanced concepts.
* CS teaches you the theory. It's less practical application oriented but once you understand and appreciate the theory you can easily lean anything.
- Consider: A job might require you to program in visual basic to interface with an Oracle DB. If you went in IT, they might have taught you to use VB and Oracle, so you're all set. In CS, it's unlikely you did either but you took a programming languages course and a DB theory course which enables you to learn almost any language in a day. Now consider you get asked to switch from VB to C# and a mysql db. In IT you never touched either and you don't understand the basic language concepts so its harder for you to pick up both. With CS you still have the theoretical background with enables you to pick it up in a day. The same analogy trancents multiple areas (not just programming) like networking, operating systems, etc. This also applies to those who don't get a degree and just get a bunch of certs, eventually those certs become obsolete and its harder for those without a CS degree to adapt.
The only thing IT has over CS is some basic business courses, but if you get a CS degree, getting an MBA is trivial.
Re:CS vs IT (Score:5, Insightful)
While you could well be right, the one absolute in university-level computing courses is that everything is relative.
Some places have an old-school CS course that teaches strong theory and is quite mathematical. This is probably good for someone who wants to deal with challenging programming work in the future: the kind of person who wouldn't just be writing a web front-end to use a database, they'd be writing the compiler and the database engine. These courses probably won't teach you to program in this week's greatest programming language or web/DB framework. What it will give you is a solid understanding of the principles and exposure to a broad range of ideas. With that sort of perspective, a CS grad should make short work of getting up to a reasonable level of competence in any industrial languages and technologies.
Sadly, it seems like an increasing number of places now run a "computer science" course that is basically just the latest industrial buzzwords. If you're looking at a course that teaches things like VB, XML, Windows/Linux system administration, business studies, web design, and the like, then IMHO that's not really computer science at all, it's just vocational training.
The potential scopes of other courses, such as "Information Technology", "Information Systems", "Software Engineering", are similarly wide-ranging, so it's hard to give advice about which course is best for someone without being able to see the details of what each really covers.
so... (Score:4, Insightful)
Essentially correct (Score:5, Insightful)
Choose scientist over technician.
Re:Repost? (Score:3, Insightful)
Look, folks, what *your* school taught you under the umbrella of (CS/IT/IS/MIS/SWE/CE) is not what every school teaches it as. I've actually found 2 schools up here in Canada that teach 2 subjects in exactly opposite directions - one has CS being mainly theoretical and programming, with CE being hardware and such - and the other school used the labels entirely in reverse. So when hiring, a "CS" degree could mean 2 entirely different disciplines.
I think what we're seeing is our industry maturing, so we're no long just "CS" like in the 80s - but mostly, we're seeing thes typical trends that've hit a lot of reasonably-lucrative fields over the years: degree farms. People who don't want to work hard for their education. People who want a 2 year course instead of the 4 year course. Employers who no longer understand what the point of the education was in the first place.
Me? Solid CS degree. High math component. Probably used 25 different languages for various courses. My job? 100% IT/sysadmin work. Plenty of programming, with languages that aren't taught at a College/University level. Plenty of work that has very little to do with graph theory, combinatorics, calculus, assembly language debugging, or any of the dozens of courses I took in school. But I excel at my job - because a CS degree combined with an actual interest in this stuff (hey, I get off on learning what's going on in the silicon) means you can really figure things out quickly.
There's nothing more rewarding than watching a group of (MIS/IS/"hey computer stuff seems like a good way to make money, what 12 month course can I take to get in") people work on a problem for a week, then saunter into the conversation, ask a few questions, and solve their problem in 15 minutes. Knowing what the people who designed these systems took in school is invaluable in trying to troubleshoot them - hell, only a diehard CS nerd would have written most of the IP protocols the way they did.
Liberal Arts (Score:4, Insightful)
It may be harder to land that killer job at your dream company right out of school, but if you're like most people, you'll grow and change over the years, and you'll look back and think to yourself that you're so glad you didn't get that job, or even better, how funny it is that you're now running the company that didn't take you as an entry level employee.
Liberal arts are severely underappreciated in this world. The more bright, interesting people who refuse to over-focus too early in their careers, the better the world will be; please do your part.
So study your technology. But this is an undergraduate degree; treat it like a beginning, not an end. The race is a long one, and you really don't need to be going full speed out of the gate.
Re:If I had to do it again.... (Score:3, Insightful)
(i) You went to a school with a really bad "diploma mill" CS program, and the CS courses you took for your minor reflected this.
(ii) As a CS minor, you avoided the hard CS classes, the stuff that CS majors have to learn that sets computer scientists apart from code monkeys.
Seriously. Accounting isn't a bullshit non-degree like most business degrees -- good accountants have to be reasonably smart people, and they have real skills -- but it doesn't require anywhere near the level of intellectual effort that a good CS degree does.
Re:CS vs IT (Score:5, Insightful)
The thing is, I don't think a CS education is something only a small number of people would need. Sure, it provides a deep understanding of some areas that little else does, but it also provides a broad base on which to build anything else you need in less specialised areas.
Put it this way: people who go into writing software without the kind of understanding of database construction and system design that a good CS course would teach are often the reason we get ludicrously slow applications, with ever-increasing hardware requirements, littered with security flaws, and the design behind the code — if it has one at all, instead of misunderstanding the buzzwords and thinking a set of tests is a substitute — is such a mess that no-one can fix it, and you have to either live with it or throw it all away and start from scratch.
(Before anyone replies, please note that I wrote "the kind of understanding ... that a good CS course would teach". Studying a formal CS course is certainly not the only way to gain this understanding.)
Think 15 years down the road (Score:4, Insightful)
Right out of school, IT may be the more useful degree. Why CS grads can get any IT jobs easily, if the outsourced HR recruiting firm is looking for IT, you'll struggle, because if you can't check the boxes, you don't get the interviews. However, your first job should be on-campus recruiting, so if you're careful, it won't make a difference.
Ten or fifteen years out, we'd all like to think that nobody cares about degrees, but it isn't true. Once you move up the food chain a bit, management LIKES degreed people. They are happy to hire programmers with high school degrees or even drop outs that can sling code, but once they need a technical lead, they don't want the gut without the degree. Sure, plenty of people will post here about how they are just fine without the degree, but it is a limitation, and the original poster has already decided to get the degree.
In 15 years, the IT degree will seem like a slightly upgrade Vo-Tech degree, and the CS degree will seem like a real engineering degree. This shouldn't matter, but it will. When you start dealing with managers with Ivy League (equivalent in your case) degrees and pedigrees, they'll see the CS-guy as one of them but more technical, they'll see the IT guy as below them.
Think nobody will care in 15 years what you did in your early 20s? Most people are unimpressive, they don't really do much during their life... for those people, their MOST measurable accomplishments are schooling, so they trade on it, and respect others that do as well. Hell, my high school, that I went to for three years, remains on my resume, because it's the top school in my area, and most of the people I interview with are trying to send their kids there (or are sending their kids there), and after fighting with the increasingly draconian admissions process, figure anyone that went there must be top notch.
You never know what will help in the future, so run with it.
Guess they don't teach you that... (Score:2, Insightful)
Seems the CS course didn't teach you enough about anything to know that NO modern language can be learned in one day by ANYBODY.
The REAL computer specialists know just how much they DON'T know and hit the books to learn.
If some CS guy came to me for a job and had no experience and said he could learn VB or SQL in one day, I only hope he wouldn't hit his ass on the door too hard on the way out.
Look to the long term (Score:1, Insightful)
So, the best choice is the one that works best for you. Based on people I've known and their degrees, I'd say follow this general rule:
- EE: If you have been tearing apart gadgets forever, and lately had a lot of success putting them back together, go for it. The math is really hard, but if you can get thru it, the pay and job security is pretty good.
- CS: If you have been writing programs that do more than simple displays, and you enjoy reading technical articles, this is a good choice. The current growth fields are embedded systems and business-to-business web apps (AJAX and SOAP).
- IT: If you like installing the latest version of everything, and you don't hesitate to open your PC to install boards, you can make a career our of IT. The pay isn't as good, but the job security may be better than CS, because they can't offshore hands-on jobs.
Regardless of your choice, learn as much as you can fit into your schedule about the rest of the business. If you are a CS or IT major, take a couple EE courses. If you are an EE, take at least 1 high level programming class, and maybe an intro to operating systems.
For everyone, learn how to interview!!! I have interviewed many job applicants, and it is pure agony to have to drag information out of people who apparently really want the job. I would rather have to shut you up than beg you to tell me what you know. But do not claim to be someone you're not. You will be found out, and that can be a disaster.
Later . . . Jim
Re:Think 15 years down the road (Score:5, Insightful)
For example, while the Fortune 250 firm I work for is shedding programmers and analysts like mad for outsourced options, it is also hiring project managers, auditors, information security analysts and risk managers who have a non-IT specialization like finance, marketing, legal/regulatory in conjunction with the IT foundation. These multi-domain specialists are critical in moving projects forward, especially when the programming staff is outsourced and someone has to relate business requirements to the outsourcing resource.
Having come up in telecom and IT, I went back and added a finance degree a few years ago and am now completing a masters in economics. I went from having a tough job competing over scarce network engineering positions to a senior position in operational risk. The key was mastering more than one business domain so my employer found I could work between different business units. Many of my friends who've been successful have taken the same approach and it is a great way to reach into a six-figure salary pretty quickly.
If you find you're quantitatively inclined, you might consider getting a double major in finance or statistics to complement that IT degree, rather than focusing on a CS degree. The quant can be harder and the job market is significantly different. Countless firms have a shortage of IT analysts in finance, data mining and other corporate decision-making fields.
As long as you're a replaceable commodity, you'll be at risk to outsourcing and low salary issues. Become someone who can help management understand their problem area and relate it to a technology solution and you'll do very well.
Re:CS vs IT (Score:3, Insightful)
I disagree. I've never met a CS major who was worth a damn as a system administrator. It's a different mindset.
Re:A scientist, indeed. (Score:2, Insightful)
Right, but non-degrees are going to be paid 10-20k less than degreed people. Employers love non-degreed, skilled people.
Re:Essentially correct (Score:4, Insightful)
I love technical/programming work so this doesn't bother me but just letting you know that all the moolah are in financial/business IT nowadays. Not all IT graduates end up in technician type jobs, in fact compared to CS grads they probably have more of a chance climbing up the corporate ladder. I know of a few IT grads who have started out as junior business analysts and worked their way up to project managers in years. Of course these aren't research/technical companies but in an IT department of your average bank.
Re:Essentially correct (Score:4, Insightful)
I hope you aren't suggesting that someone fresh out of school with an IT degree would be suited for this task either. We are talking about entry level jobs here, and there really isn't an entry level IT job that a CS grad couldn't do that an IT grad could based solely on their educational background.
I'm certainly not saying that getting a degree in CS is better per-say, but it does without a doubt open more doors at the entry level. If someone is absolutely sure they only want to do IT, I hardly see anything wrong with focusing their education on it. The education will be easier, but that doesn't mean the real world work will be. Serious IT work requires experience and bright people. There is nothing shameful about doing this sort of work, and the people who are really good at it are incredibly valuable to society.