Skip to main content
9 answers
12
Asked 1565 views

What is the difference in job description between a Computer Engineer and Computer Scientist and Software Engineer?

#computer-science #computer #computer-engineer #science #software

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

12

9 answers


4
Updated
Share a link to this answer
Share a link to this answer

Shaunak’s Answer

Computer Science is more about the theory of computing. It focusses on areas such as algorithm analysis, programming language design, etc. It tends to be quite heavy in mathematics, especially discrete mathematics. People pursuing computer science tend to (but not exclusively) work in academic settings.

Computer engineering is the application of computer science to solving practical, more "day to day" problems . People pursuing computer engineering tend to work in the industry. Computer engineers could focus on software (software engineers) or hardware (hardware engineers).
4
3
Updated
Share a link to this answer
Share a link to this answer

Kondragunta’s Answer

Computer science focuses on topics in computational theory. These include the virtual aspects of computers, focusing on software, rather than hardware. As a field that is closely aligned with mathematics, computer science applies theoretical ideas to solve real world problems. Computer science degree programs require courses including analysis of algorithms, operating system principles, computer architecture and software engineering, so an interest in math, puzzles, and problem solving would suit a student well. A degree in computer science will cover essential hardware and software topics, including computer organization and architecture.

Computer engineering focuses on how to build devices. It is a field that combines physics, electrical engineering and computer science. The focus of computer engineering is on hardware, rather than software. Closely related to physics and engineering, students who want to understand how things work and apply that knowledge to build something new could thrive in a computer engineering program.

The work of a computer engineer works in the physical world and involves understanding how we can harness the laws of physics and electronics to create better computer components. They are more likely to spend more time at a lab bench than writing code. Your computer engineering degrees will most likely cover a wide array of topics including computer architecture, computer networks and physics.
3
2
Updated
Share a link to this answer
Share a link to this answer

Irene’s Answer

For the most part, these terms are used interchangeably, so it always helps to look for more clues (like the job description,  expected skills, etc).  

* In general, the term “Computer Scientist” emphasizes the need for academic traditional curriculum, especially in the area of algorithms. For example, a job involving research will normally use this term.

* Software Engineer and Computer Engineer is even fuzzier. Some schools /  jobs use the term Computer Engineering to imply more work in lower levels of the stack (e.g. Networks, Operating Systems),  but this is by no means universal.  

Bottom line, read the job description and don’t be afraid to ask questions to the hiring manager.
2
2
Updated
Share a link to this answer
Share a link to this answer

Zohreh’s Answer

Just adding to Shaunak's great reply. As he mentioned computer science is more on theories of computing and the algorithm behind protocols that make computers, servers, network devices function and work together. here you will get a chance to become the innovator that help create the new generation of technology. you will enjoy it if you like abstract work more than hands-on. Now some universities and colleges use the term loosely to refer to what in fact is computer engineering. So before going to a program you need to check their curriculum.
Computer engineering programs usually start with general courses on computers and internet and some basic languages (first few semesters), and later it becomes more technical and divides into specialty branches like "software engineering" who codes and creates applications or programs via a range of languages like C++, Python, Ruby, and java, a "Web designer" that among other languages specializes on web languages like HTML and Javascript and then optimizing websites for customers, or a "system admin" that leans how to set up servers and manages Active directory accounts and virtual machines (VMware) in a company (for example they might get Microsoft certificates or AWS certificates) and know Linux and PoweShell and scripting, or a "Network Engineer" who set up and manage Internet and networks for buildings and companies and manage switches and Routers and Wi-Fi and among other things decide which groups of computers can communicate with which other ones, they learn languages like Python and Ansible for automation and some scripting, or a "Network security engineer" who learns how to hack and defend against hackers and vulnerabilities on the networks, etc. so computer engineering is a very broad term that encompasses all these tech related jobs from applications and software all the way to computers and servers and then routers and firewalls and wifi and security


Hope this helps
2
0
Updated
Share a link to this answer
Share a link to this answer

Thomas’s Answer

Computer scientist encompasses the broad field of how to use the computer to solve a problem efficiently. You may have a problem, and there is a language that can solve the problem, but is it the most efficient- or is your problem solvable, is there a definite finite automata for this problem ?
This also ties into software engineering- but in software engineering, there are members of a team. There are cycles in which they create the software: design, implementation/ testing, customer feedback, iterative releases. Either or may intertwine, but why call a computer scientist a software engineer- well look at it like this: you can have different architectures take- model view controller for example. And you can have runtimes that are heavily impacted by programming skill , knowledge of data- structures and knowledge of paradigms. So definitely a software engineer must be an extremely knowledgeable computer programmer- with an elegance to their algorithmic implementation. Additionally a computer engineer is a programmer, but they have knowledge of physics 2: electromagnetism and circuits.. optics etc.. They are able to create a piece of hardware from the ground up and program its operating system and more. Although a software engineer or computer scientist is more likely to be a more efficient programmer, but then again one or the other may be better: it's really based on drive and the programmers resourcefulness and short term memory.
0
0
Updated
Share a link to this answer
Share a link to this answer

Manish’s Answer

Traditionally, engineers applied science whose knowledge was expanded by the scientists in that area of study. Eventually, software engineers may end up being classically trained engineers who create software products while computer scientists would study and advance computer science. And computer engineers may end up being electrical engineers who design the hardware. In contrast to CS and SE, Computer Engineering emphasizes solving problems in digital hardware and at the hardware-software interface. Computer Science (CS) focuses on understanding, designing, and developing programs and computers. Software Engineering (SE) deals with building and maintaining software systems. Currently, most universities have a Computer Science Department within their College of Engineering. And currently, most software engineers are trained by departments of Computer Science and get BSCS and MSCS degrees.
0
0
Updated
Share a link to this answer
Share a link to this answer

Arpita A’s Answer

Hi Eeshaan,

In short, Software engineers are mostly referred to developers. Computer Engineers are the system admins. And computer scientists are software engineers mainly working on the design.

Regards.
0
0
Updated
Share a link to this answer
Share a link to this answer

Zohaib’s Answer

Computer Engineering can take one of two focus areas, either hardware or software engineering. The computer scientist is more closely related to a software engineer who is focused on the design and development of software products. These are only theoretical differences based on the types of degrees but in practice folks with these backgrounds perform a variety of different career paths
0
0
Updated
Share a link to this answer
Share a link to this answer

Katherine’s Answer

Hi Eeshaan!

Good question! In terms of job, you might not see a clear delineation between the three because different places will use the terms for different things. However, if we go by the areas of study at colleges/universities, you might get a clearer answer.

Computer science:
As it is a science, this area focuses in discovery of new algorithms, computational theory, how to involve programming languages, etc. Science generally wants to develop an area of study and the same applies to computers!

Computer Engineering:
As it is an engineering field, this generally focuses on the usage of discovered concepts and applying them to the world. So, generally, concepts discovered by computer scientists will be applied to the real world by engineers.

Some entities separate Computer Engineering from Software Engineering. In these cases, the expression generally means computer hardware engineering and excludes software that isn't directly meant to make the hardware function.

Software Engineering:
A bit like Computer Engineering, this generally focuses on the usage of discovered concepts and applying them to the world. So, generally, concepts discovered by computer scientists will be applied to the real world by engineers.

A software engineering program might include areas of study like software management, software requirements engineering, analysis and design of user interfaces, and other areas that specifically relate to software.

I hope these help you differentiate the intent behind the terms a job description might include!
0