The Difference between Information Technology and Computer Science
What is the difference in information technology and computer science? The differences between the two career paths are the curriculum studied, the skills learned, the unemployment rate between them and the differences in how they approach problems at work.
IT Vs. Computer Science
Supporting existing software applications
Creating new software or rewriting existing apps
Faster obsolescence of skill sets
Fewer overall job positions
Greater risk of outsourcing of the job overseas and a larger number of professional competitors
Job relies on new projects to create new apps, fix existing ones or build interfaces
Often treated as a business or data analytics degree
Seen as an engineering field
The computer science degree contains more STEM (science, technology, engineering and math) courses than the average information technology degree. For example, those earning a Bachelor’s degree in computer science take more mathematics courses and classes in logic. Information technology courses touch on logic and mathematics, but there are more classes on IT standards, configuration management, software architecture and becoming familiar with major software applications.
The computer science program is often part of the engineering department, while information technology may either fall under the engineering department or be considered part of the business program.
Information technology coursework teach students who to query large databases and generate reports. The system administrator for your server or sitting at the IT help desk probably has a degree in information technology.
Computer science majors learn how to write code, both for individual software applications and operating systems. Computer science majors are typically the coders or software developers for bug fixes and creators of the next software release.
Most computer science degrees teach students about hardware as well as software. Computer science majors typically learn how to set up hardware, configure it and verify hardware specific software like drivers and built-in firewalls.
Computer science majors learn several different programming languages. The computer programming languages students learn may change with time, such as Java and C++. However, software languages like Unix have become so widespread and engrained that computer science majors who learn these languages won’t find their programming skills obsolete only a few years after graduation.
Information technology graduates have a higher unemployment rate than computer science majors. This is partially due to the ease of outsourcing application support to people located in service centers in India.
Another reason is that the constant evolution of the IT environment that keeps computer science graduates employed. There is a continual demand for programmers to support the shift to mobile computing, cloud computing, continual development of operating systems, and the endless efforts to find and plug security holes.
Despite the fears that “code monkeys” will see their work outsourced to developing nations along with the information technology jobs performed by tens of thousands of people in Bangalore, India, software firms have found that the programming skills and engineering skills of these nations are on average inferior to the software developed by those trained in the West. The end result is a shift toward new code development in the West, with software testing and support done in call centers in lower cost developing nations.
Another factor is the fact that the computer science degree, with classes on hardware as well as software, mathematics and logic, and training in several software languages, makes it a universally recognized degree. Information technology degrees are not as widely recognized by employers, since the software applications someone learns to operate or support change so quickly and the applications students learned may not be what the employer uses.
In many ways, there are more jobs in IT than there are in computer science. There is a huge number of existing software applications to support and systems to manage. There is work in computer science, but these positions are focused on creating new applications, debugging existing ones, improving IT security and building interfaces between applications. IT professionals face outsourcing of their work, but software is such an engrained part of our lives that we need help when problems arise.
While there are a suite of tools coming into the market that let you create games and software applications without knowing code, debugging them still requires a skilled IT professional. Part of the reason why the IT unemployment rate is higher than it is for coders is because there are fewer people coming into computer science than demand for the skill set, while IT is something software super-users can graduate into with little additional training.
In short, there is strong demand for computer science but fewer people earning the specialized degree with its heavy STEM course-load relative to demand. That is why computer science graduates have a lower unemployment rate than information technology graduates. The IT unemployment rate is worsened by the gradual improvement of software overall with automated recovery features and self-help resources along with IT's openness to a broader work force.
Specific Examples and Explanations
An information technology graduate who learned about the SAP payroll and enterprise resource planning application suite isn’t qualified to work for a company that uses J.D. Edwards. However, a computer science graduate who knows Unix can support any Unix server.
An information technology grad familiar with PTC’s Windchill typically doesn’t know the Seimen’s PDM software suite. Those who know PTC’s Pro-E CAD suite aren’t familiar with the Catia software used by many auto designer firms. However, the computer science major who knows Unix, Java and other languages could troubleshoot any of these applications and recommend patches to the vendor if not fix it themselves.
Computer science graduates may need to learn the latest version of C, such as C++ or C#, but the basic commands, logic and terminology remain the same. In contrast, someone who supports PTC’s Windchill must learn the ins and outs of every version quickly after every new product release to remain relevant and employed. A computer science major who knows C, Java or PHP may need to learn something about a new version of these languages every few years, but not a revamped software application every year or two.
IT vs. Computer Science in Problem Solving
Computer science can be considered more scientific and theoretical, while IT is seen as more pragmatic and hands on. One joke has an IT guy and a computer science guy walk into the computer room where the server is crashing once the operating system is installed on the new hardware.
The computer science expert talks about writing a new type of operating system to handle the new hardware and is debating which software languages to use for the OS and interfaces for the more commonly used software applications. The IT guy follows the standard IT advice, turning it off and rebooting the computer. He then says, “If this doesn’t work, we’ll wipe the drive and reinstall.” The computer science grad says, “What if that doesn’t work?” The IT guy replies, “Then we buy a new server.”
Obsolescence comes more slowly to computer science graduates than IT majors. Those who learn a new software language while maintaining mastery of the old one are paid royally to migrate old applications into new languages or built interfaces.
Information technology graduates learn new applications simply to remain relevant. Computer science graduates are called in to create the software IT staff support and maintain, and computer science professionals are those who fix major bugs in the code itself.
More by this Author
What is the ATLAS language? What is CATLAS? And what are the standards for these test languages?
What is Application Centric architecture? What is Data Centric architecture? What is Message Centric Architecture? And how do they compare to each other?
How do you calculate safety margins? How do you calculate the safety factor or factor of safety? What is the difference between a safety margin and a safety factor, and how are they related?