I am working in software industry for over 10 years. Here is my experience on CS and IT.
Both are challenging.
IT comes with experience and there is lot of scope for development. Remember world is changing continuously so as the requirements and need. There is always demand for IT jobs and new applications. In terms of job security and salary IT jobs has upper hand then CS.
Pakistan_Athist: Where do you draw the line between CS and IT. Per you IT is implementation and CS is system design. That is not the case.
No, I never said CS is about design and IT is about implementation. The difference, on paper, is very subtle. The difference, in real world, is very evident.
Usually, when we talk about IT. we think in terms of 'applying' computer products/tools to create solutions. For instance, someone creates java, the classes, the methods. If you take that package and use it. You are into IT. But the actual process of creating Java and those classes that you are using is CS. But here is the catch.
1) An extremely proficient IT developer might find the language/tool lacking. He can create a module, from scratch and use it. That is not IT, that's CS.
2) Likewise, a new method is created for a new version of Java. But what about testing? What about other aspects? That's all IT.
So as you can see, THERE is overlap.
That's one aspect of CS for you.
Another aspect of CS. Is your end product a real world application? or is it a paradigm/principle or generalizable information. Creating a program to factorize a number. There is no direct application to that. BUT, security systems will use your algorithm. That is, you use your theoretical knowledge to create a path. That is, Computer Science.
The best way to look at it the 'top-down' vs 'bottoms-up' approach. Are you using stuff that you don't really understand? Then your work is more IT. For instance, you use a class. Can you write the class yourself? Or are you applying someone else's technology.
It's the same difference between a script-kiddie and a hacker. A hacker finds solutions for what he sees as problems. In the process, he may or may not create a tool. Whereas a script-kiddie, sees a problems, searches for a tool that do the work for him and apply it there.
For instance, I want to capture the keystrokes made in a computer, and if a specific pattern of keys are struck, a notification has to be sent to the admin at the end of the day.
The IT guy:
1) Need a keylogger. I don't know how it works, all I care is I know what it needs and what it outputs.
2) Need a scheduler. At a specific time, the keystroke file is opened for parsing.
3) Need a parser, I need to check for specific patterns
4) Need an SMTP/teller script. Need to throw the output to the server.
Now, the IT guy does not really know how to write the keylogger, scheduler, parser or the teller script. But he knows they exist, he uses them and designs the solution.
But who designs those tools for you? Substitute keylogger with Java, substitute scheduler with Eclipse, parser with Oracle and teller with perl. There you go! You have an IT developer using tools he never really designed, is merely familiar with, but them for developing solutions.
Is that bad? No. To drive a car, one does not need to know to make it. To use a juicer, to ride an airplane, to operate a cell-phone, none of this require you to understand the inner mechanisms. THAT IS FINE! But, note another similarity, no one says that "the guy who uses the cell-phone" is as smart as "the guy who made the cellphone".
Only the IT professionals claim that. And really, IT does not require all that brains, at least at the low level. [Higher end IT does require brains, just like how Coultard was a skilled McLaren driver]. And do I have evidence that IT does not require as much skill? Yes. Or else people with electronics, electrical and whatever background won't be able to get into it! People won't be able to fake experience ANYWHERE for EVEN a day.
This reminds me of an analogy from the 70s. In the 70s, we had Stenographers and we had typists. Typists just knew how to use the machine. They made a living of that. Because backspace wasn't there, copier wasn't popular. But as copying became cheap, as electronic typewriters and later computers came in place, these people lost their jobs. No longer was the ability to type good enough to get you a job. But the stenographers, who could not only type but also speak fluently got a boost!
Likewise, in the 1700s, writing and reading wasn't VERY common in Europe. Therefore, even if you wrote a GREAT book, no one would appreciate that and buy it. But, if you can simply read and write, even in bad grammar, you still had a job, that of a scribe. Later, when writing and reading became common skills, scribes lost their jobs! But the market for good literature expanded. Today, the richest lady in UK is JK Rowling. That's because everyone is literate enough to read her works.
Now, what about IT? If IT tools become easy [they are easier today than before!] and if IT becomes common-place knowledge - why would someone hire an IT guy to use a tool that a CS guy makes? Of course, you process gurus will still be in place for the most part - like the stenographers.