Go Down

Topic: How many work between a CS major and EE major overlaps in the industry? (Read 707 times) previous topic - next topic

cyberjupiter

First of all, I am still an undergrad ECE major. I have never been into the industry except for my internship where I never even do any EE related work apart from soldering wires.

But I have seen quite a few of my seniors who became Software Developer/Network Administrator/Technical Support Programmer instead of Electronic Engineer. Therefore I have been intriguing to ask the overlapping job scope between these two majors. I have a few questions actually.

1) It's quite normal from EE to switch to CS but is it permissible the other way around?

2) Would you say a CS major is definitely better in programming?

3) If a company wants to design a microcontroller, how many CS vs how many EE is needed?

4) How frequent would EE refer to CS for advice or vice versa in a company?

5) If you own a company specializing in making end product using RPi, Arduino or any other boards, who would you choose as the hardware designer and programmer?

These questions are purely for my understanding between these two major in the industry. I have no intention of comparing who is better. I believe that each has their own pros and cons.

Thank you.
https://github.com/cyberjupiter
if you want to help me create (almost useless) libraries.

larryd

You forgot to ask how many EEs does it take to screw in a light bulb?





Answer:  None they are designing a new improved version.

.
No technical PMs.
The last thing you did is where you should start looking.

Robin2

I think you are misunderstanding the difference between education and career. Many people work in jobs that are different from their education. For many employers the fact that someone has a degree is just used as evidence that they are capable of that level of achievement. The subject of the degree is often of little relevance.

Even where people choose to work in the same career as their degree one hears stories from industry that people coming out of college no nothing about industry (or business) and have to be taught the most basic stuff. So employers like people who are good at learning and who usually do a little extra. Internships give you an opportunity to demonstrate that.

Your job is to convince a potential employer that you will be useful to him/her (more useful than the other candidates). The piece of paper you get from college is just the ticket you need to get on the interview panel in the first place.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

SurfingDude

The EE/CS field is so broad that your question has no good answer. Your best bet, at the undergraduate level, is to become good at the basics and theory. If you want to get into chip design, a good background in physics, chemistry, and mathematics is vital.

The choice of school is also relevant. Some schools think CS means the internet, others think it means programming. With Microcontrollers much of the work consists of using technologies and hooking them up rather than designing them and some good EEs become bad programmers while some CS folks don't understand what happens with high frequency signals.

If you want to make a difference in the industry you might want to go on to the Master's or PhD level, thus my suggestion on the basics. Other career paths for an EE might lead into sales and administration.

Regardless these days the most important skills involve working in a group and good written and verbal communications are vital. Extracurricular activities such as sports and clubs add to your portfolio and a good understand of history and psychology will help you.

cyberjupiter

Even where people choose to work in the same career as their degree one hears stories from industry that people coming out of college no nothing about industry (or business) and have to be taught the most basic stuff. So employers like people who are good at learning and who usually do a little extra. Internships give you an opportunity to demonstrate that.
Well then, I believe you still wouldn't pick a Computer Science/Software Engineering major to design your PCB in CAD. Because switching from CS to EE even if the person is a fast-learner is not really practical. Unless, he has solid ground in the electronics. That is a different case. Switching from EE to CS is relevant because you learn quite a few CS subjects(ofc depending on the institute too).

But I still hope you can answer my questions(if not all, a few) based purely on their major and how would the industry pick them considering that the overlapping between CS and EE is quite a lot.

The choice of school is also relevant. Some schools think CS means the internet, others think it means programming. With Microcontrollers much of the work consists of using technologies and hooking them up rather than designing them and some good EEs become bad programmers while some CS folks don't understand what happens with high frequency signals.
That is another nice point to consider. In my institute(I don't know about others), the CS students are afraid of the analog oscilloscopes while the EE students can't even understand arrays and pointers.

But I think this thread is not getting much response and maybe because I am not in the correct forum.
https://github.com/cyberjupiter
if you want to help me create (almost useless) libraries.

Robin2

But I think this thread is not getting much response and maybe because I am not in the correct forum.
I don't mean to be unkind but I think you are not making full use of the replies you have received.

This bit worries me
Quote
I have never been into the industry except for my internship where I never even do any EE related work apart from soldering wires.
I can't help feeling you missed an opportunity.

I had a member of staff years ago whose frequent comment was "I was never taught how to do that". But it never seemed to occur to him that "learning" is the other side of "teaching".

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

cyberjupiter

Quote
I don't mean to be unkind but I think you are not making full use of the replies you have received.
Because I am getting those "it's subjective - it depends" answer.

My questions are purely based on what one learns at the institute to what the industry would choose.

I do realize my lack of experience pushed me to ask these questions.
https://github.com/cyberjupiter
if you want to help me create (almost useless) libraries.

westfw

First, let me agree with Robin: your career is only somewhat related to your education.  One of the best programmers I've ever met was a Linguistics major...  A CS degree (even an advanced one) doesn't guarantee that you can program, and an EE degree doesn't guarantee that you can design computers (nor does it guarantee that you can solder wires.)  And in general, new graduates are poorly prepared for real-world jobs.  Working with dozens of other people on a project that requires dozens of people is just a lot different than even a complex senior project.


Let me say that my info on school is about 40 years old, now, and I'm 6 years retired, so I don't know how up-to-date some of the following information is...



Quote
1) It's quite normal from EE to switch to CS but is it permissible the other way around?
I have an EE degree.   Even then I knew that I was very interested in programming, so I took a lot of classes from the CS department as "electives.'  At the time when I went to school, getting the EE degree required a lot of ... "physics" ... and hard science classes that I think would be particularly difficult for a CS major to fit into their course load.  Circuit analisys, solid state physics, E&M classes (in addition to the year of actual physics and at least a semester of chemistry.)  Whereas I felt like I took most of the "import" CS classes (assembler, data structures, compilers, microprocessors, etc.)  I dunno - the EE program was 5 classes per semester (plus labs) for all 4 years...  I don't recall if the CS degree was the same - some majors got away with 4 classes/semester.


Quote
2) Would you say a CS major is definitely better in programming?
What do you consider "programming"?  CS today has a broad swath of possible employment, from Web Design to Research.  One of the big things to get used to in the real world is that the sharp "code monkeys" are not necessarily the great system designers (and vis versa), and you don't want either one as your sysadmin or DBA, and you need a specialist to work on security.


Quote
3) If a company wants to design a microcontroller, how many CS vs how many EE is needed?
Mostly EEs.  For the most part, CS majors don't learn that, and most companies would be foolish not to pick a standard architecture (perhaps with modifications.)   There's lots of peripherals and ASIC design and testing that falls into the EE category, though.  (this assumes that you're talking about a chip-level design.  If you're talking about taking some existing chip and designing an arduino or mBed-like devices out of it, then the burden shifts toward CS.   OTOH, a lot of CS people and programmers will tell you that too many chip vendors don't have enough CS/programmer people involved,a nd come up with clunky and hard-to-use designs.)  (On the third hand, there have been some spectactular failures that seem to have had too much CS influence, and not enough EE/"Real Programmer" input.  Look up the iAPX432 sometime, and/or I don't think that the AVR32 gets much respect...)


Quote
4) How frequent would EE refer to CS for advice or vice versa in a company?
Not as frequently as they should.  For a while, cisco (where I worked) had a policy of interleaving HW and SW engineers in their cubical layout.  Those were "the good old days."  (cisco had, I think, one CS major among the first twenty employees and founders.  Physics majors, EEs...)   A lot of "real world problems" don't really involve "CS", which is to say that you don't really end up using "science" to solve them; they don't need someone to develop a better sorting algorithm; they just need someone who can recognize when the sorting algorithm they're using  isn't good enough, and who can go about finding one that's better.

The computer industry USED to divide up their workers into classes; you have your scientists or engineers who would specify designs and algorithms, your "coders" who would translate that into actual working code, a keypunch operator who would actualy type up the cards, a systems programmer who would surround it with the magic commands to get the incomprehensible OS to compile and run the program, the computer operator who would feed in the cards and fetch the results, and maintenance crew to make sure that nothing broke.  A lot of those positions were relatively low-glory and had low educational requirements...


Quote
5) If you own a company specializing in making end product using RPi, Arduino or any other boards, who would you choose as the hardware designer and programmer?
I'd try to get people who understood the end product and it's use.  If you're going to build, say, an IoT gateway that understands all the usual wireless protocols and ships them over the internet to similar systems plus provisioning service plus ..., you want people who understand networking and IoT and all that stuff, and it doesn't really matter if they started from an EE or CS degree.


cyberjupiter

The computer industry USED to divide up their workers into classes; you have your scientists or engineers who would specify designs and algorithms, your "coders" who would translate that into actual working code, a keypunch operator who would actualy type up the cards, a systems programmer who would surround it with the magic commands to get the incomprehensible OS to compile and run the program, the computer operator who would feed in the cards and fetch the results, and maintenance crew to make sure that nothing broke.  A lot of those positions were relatively low-glory and had low educational requirements...
This is what I wanted to know all along. Thanks for spending your time to write this westfw.
https://github.com/cyberjupiter
if you want to help me create (almost useless) libraries.

Robin2

This is what I wanted to know all along. Thanks for spending your time to write this westfw.
Then you should have asked a question about historic roles in the computer industry. We all thought you were enquiring about  your own future opportunities.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

westfw

Meh.  "Historical roles in the computer industry" are widely distorted by media these days; it's difficult to separate fact from fiction (I thought the bit from "Hidden Figures" where reading up on Fortan allows a character to detect a misplaced scope probe on the mainframe backplane was particularly hilarious.   Sigh.)

There are STILL a wide swath of jobs in the "computer industry" of varying degrees of "glory."  People who actually do "computer science" in the true sense of the word (creating new algorithms, for example) are a small minority.  And most of them probably have PhDs...  (and in all of the arduino core/ide/libraries/etc, I don't think there is much science at all.)

(And this is not at all the same as saying that a CS degree isn't useful.  Understanding the "science" well enough to use it is ... important.)

Robin2

Meh.  "Historical roles in the computer industry"
Sorry - I did not mean to be taken seriously :)

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

Go Up