Electrical Engineer, Computer Engineer, Computer Scientist

What on earth! What is the difference between each one!?!?! Which one is going to match up with what I want to do. Which one is the grocery store going to most recognize?

Personal interest often drives success. Being practical about what field you go into, but also pursuing something that genuinely interests you is an approach that will yield a rewarding career. Blah, blah, blah! Ok, let me rephrase that… What are you interested in? Are you creative? Analytical? Like to build things? Like to understand how things work? Want to understand how things work so you can design a better one? Want to change the world by inventing something amazing? The various fields of engineering are a great place to achieve all of these things. How do you become a design engineer? A) be specific when interviewing B) be creative C) be thorough D) be hardworking. The USA currently exalts entrepreneurs but not so much engineers… Engineers are the ones behind the scenes making the iDevices, TV’s, cars and all of that stuff.

There are many, many, many different sub-fields of each branch of study. These three are like saying “Truck”, “Sport Utility Vehicle”, “Crossover”. All three fields all use applied math and problem solving skills. All three fields have six figure earning potential and all three have low end of the pay spectrum jobs. What you earn depends on how hard you work and the resulting quality of that work as a function of bottom line to a company. If the direct result of your work can be linked to bringing a lot of money into a company, you will be paid more. All three use programming for various purposes from scripting to graphical user interfaces GUI’s. Many people hold degrees in two, or even all three fields.

So, Computer Scientists program games and stuff? Computer scientists work on problem solving algorithms and efficiency. Computer scientists focus on solving large scale problems, like finding the right website to match keywords on the entire internet, efficiently. Game development is in fact a branch of computer science, but is actually a very small section. The part of a video game that you physically see is likely done by a graphic artist with a technical or art degree, not a programmer. The programmer is responsible for what is going on behind the scenes to link the scenes together as smoothly, reliably, and entertainingly as possible. There are programmers developing the physics engines with physicists, there are programmers developing the file hierarchy responsible for moving the game data around. There are programmers responsible for the control interface mapping the joystick response. There are programmers responsible for the network interface to connect multiplayer sections. How many programmers and how much each individual programmer is responsible for, depends on the size of the development site.

So, computer scientists make websites? Computer scientists should most definitely be able to figure out how to make a website, but that again typically goes to people with technical degrees. Computer scientists are going to be the ones figuring out how to safely transfer money from one bank account to another or how to distribute files across the internet. Computer scientists are responsible for the software backbone of the internet, the part that actually gets work done. Computer scientists are the ones that wrote Internet Explorer/Chrome/Firefox/Safari or whatever you are browsing those internet sites on. They are the ones writing the algorithms that do stuff on the internet.

Computer Engineers are typically on the hardware facing side of programming, meaning they are implementing programs as physical structures. Computer engineering is a misnomer today because they are responsible for computing architectures, not the box you buy from Dell/Toshiba/Lenova etc…Computer Engineers deal with the lower level logic gates that switch voltages and make decisions of a computer up to the assembly language level where 0’s and 1’s are interpreted into instruction sets and algorithms. Computer engineers are also often responsible for “embedded systems” found in cars, microwave ovens, and other things that have intelligence but not a traditional computer interface. Computer engineers most often work on Digital Design which uses voltages to indicate on or off. Computer engineers are responsible for computer architectures and efficiency. Digital Signal Processing is a branch of Computer Engineering that uses analog to digital converters(ADC or A/D, described in the next section) to bring a signal from the analog (continuous time) real world (typically electrical engineering domain) into a computer, modify the signal, and then send the signal back out into the real world through a digital to analog(DAC or D/A) converter.

Electrical Engineers deal directly with electricity and voltage waveforms in some way shape or form: from Electromagnetic Theory describing electrical wave propagation in free space, to Power Systems dealing with the power grid of a country to true analog design with resistors, voltage sources and currents (V=IR). Electrical engineers are typically responsible for making converters that bring analog real world signals into digital form that a computer can understand. This analog to digital conversion is commonly stated: A to D and abbreviated A/D or ADC. Then, after digital processing has been done the signal is converted from the digital form back to analog to interface with the real world. The digital to analog conversion is commonly stated “D to A” and abbreviated D/A or DAC. If you want to build circuits which interact with things in the real world, like audio amplifiers, electrical engineering is the place to be.

Geez, you keep saying “analog” real world and “digital” computer form… aren’t computers in the real world? Physically yes, but the way that a computer stores information is different than storing water in a cup. Water in a cup is analog meaning it can be divided down to the H20 molecules. A computer stores information like pocket change. In the USA, the smallest monetary denomination used is a penny, 1/100th of a dollar. A dollar is divided into 100 penny’s and therefore quantized into 100 segments. A Penny is equivalent to the least significant bit, LSB, of a computer. For an individual person(not a business) anything less than a penny is meaningless. Anybody who has seen the movie “Office Space” knows that banks and business round fractional penny charges and over millions of transactions this rounding can become significant. These fractional penny charges are equivalent to “quantization error”, meaning, you just don’t know and can’t know based on the system... The top value achievable is determined by the “most significant bit”, MSB and works the same as money… The upper limit is infinity and depends on how much resolution is needed to solve a problem.

You mention technical degrees, what’s the difference between an engineering degree and a technical degree? First off, I know technicians that are smarter than many engineers and do the work of engineers. Technical degrees are typically a two year program and focus on the manual process of using tools available to achieve tangible results. Technical degrees focus on the labor side of development and making things happen. Technical degrees get you out into the workforce, making decent money, quicker (typically twice as fast) than going through school for an engineering degree.

Engineering degrees focus more on the theory behind the tools and the concepts to make anything work. Engineering degrees, sometimes, focus so much on theory that practicality is left out at the undergraduate level. The practical side of things is expected to be learned through work experience like entry level jobs or, more typically, internships. Engineering school is more a place to learn how to learn than how to do specific tasks. Introducing the theoretical building blocks of a field and the ability to learn new concepts, theories, approaches and tasks on your own is the purpose of an undergraduate engineering degree. My grandfather, who was a unionized fuel man for an airline, always put it: Education is something that nobody can ever take away from you. Engineering degrees, typically, provide more job flexibility than technical degrees because engineering degrees focus on learning rather than specific tasks. As stated earlier, everyone is an individual, and there are plenty of technicians out there than can out-learn and run circles around engineers.