Opinions on a computer engineering major?

Hi everyone,

Just wanted to address the elephant in the room.

Everyone is going into CS for what I’m told are all the wrong reasons. I’ve heard everything from the job market is over saturated to switching jobs is overall a commonality all the way to the degree becomes outdated rather quickly.

Now, I have the honor of going to one of the best engineering schools in the country: the Colorado School of Mines… Or well, just Mines ;).

So Mines offers Computer Science but interestingly enough within their CS department they offer an engineering specialty. Which I assume to be CS mixed in with EE like any other Computer Engineering program.

I plan to pursue a PhD after my undergraduates and honestly, the school is so nice and pays so well that I’d really love to teach there one day.

I just want everyone’s thoughts and opinions… Is computer engineering more viable in job security? I love working with hardware. I’m just not so sure about the electrical engineering component. While Mines slacks in CS a little, EE is a really really great program there. Several people even end up working for Google up in Boulder and Lockheed Martin in Littleton.

But anyway, just let me know. I don’t want to get hyped over a degree that isn’t worth pursuing. It seems to look like something I’d love doing and teaching though.

Edit: specifically in Computer Engineering they rank 22nd in the country!

It looks like the CE focus replaces a bunch of the electives of the normal CS program with specific classes.

Class Description Credits
CSCI250 PYTHON-BASED COMPUTING: BUILDING A SENSOR SYSTEM 3
EENG281 INTRODUCTION TO ELECTRICAL CIRCUITS, ELECTRONICS AND POWER or PHGN 215# 3
EENG284 DIGITAL LOGIC or PHGN 317# 4
CSCI471 COMPUTER NETWORKS I 3
CSCI475 INFORMATION SECURITY AND PRIVACY 3
EENG383 MICROCOMPUTER ARCHITECTURE AND INTERFACING 4
CPNG ELECT Computer Engineering Elective^ 3

In return you don’t have to take one class

Class Description Credits
CSCI403 DATA BASE MANAGEMENT 3

Instead of having a choice of electives you would be taking classes on the functions of computers and electronics, if that makes any sense. As much as the IT manager at my office wishes it, I’m not in the field so I can’t really say if it’s better or worse.

1 Like

I know people that have gone through CE programs and CS programs. I myself with a CS program. I work closely with a CE guy.

I will tell you what happens by the end with some conditionals.

If you find that your not that into EE stuff it becomes pretty much a wash. Then it just comes down to your personal commitment to learning how to program on your own time.

Most people that like EE stuff find a straight up EE degree more satisfying than a CE btw. also… its a myth that with a CS degree you cant do embedded stuff. Lets just say I know through business connections that there is a very large gas company that has embedded hardware in all of their pipes. Most of their staff are all CS people. Cause when it comes down to it, the more C or C++ you know in that field the better.

Final note: none of these classes will be particularly helpful in the real world. Its interesting stuff but the sooner you learn what you learn outside of the class is gonna pay the bills the better.

1 Like

Know a guy just like you before college and during. He said the same thing. He signed up for a CE degree. He later discovered he didnt like hardware stuff anymore and now he currently just does javascript stuff. He loves React.js and ES6. He was applying for companies that only used Node.js and React.js tech stacks.

Dont get sucked into the marketing.

1 Like

I did CE in uk ours is a full CE not major like America… We worked almost every class with EE until final year. If you want to be a Dev cs but if you want options to go into anything from embedded to sysadmin then I would go for CE.
You can specialise later getting an overall understanding will make you stronger later.

1 Like

YMMV.

If you want to be a professor, that’s cool, but the weird thing about technology is you can learn a lot from school, but never as much as actually being in the chair doing the job for someone professionally.

I’ve worked with hardware guys (open compute), systems guys (aws/google/microsoft/etc), and i’ve worked with devs, and the ones straight out of school all learn the exact same lesson – “all of that education just got my foot in the door”, and “im 10 years behind on the industry”.

With that said, it really comes down to what you want to do. Technical educators without real-world work experience exist, but most of them have been working for fortune 500 companies for at least a decade before they go into teaching. If that’s really what your end goal is, then more power to ya.

If you’re sure you want to be in tech, I’d take all the courses that cross over with CS, and any electives that would apply to both degree plans. That way, if you decide after you get a taste of what each is like, you can change majors and not be behind on any of your hours.

What I will say as someone who’s been a hiring manager before, if you have your bachelors that’s all I’m looking at. I’ve hired a couple people with graduate and post graduate degrees, but those degrees were not ever really in the equation for me AT ALL because so much the experience you need as a dev or as a systems/devops guy isn’t covered in school.

For hardware it’s a LITTLE different in 2018 than it was in say, 2010, because of FPGAs being part of the curriculum now, which is super relevant. The down side is you’re still going to be well behind pretty much anyone who regularly tapes out new silicon just because the industry moves so fast.

2 Likes

depending on how you like hardware, id just go the software route.
Liking to know the specs of a 1080TI, and how it benchmarks, is not the same as programming a interface for a i2c bus, infact they’re wooooorlds appart.
Doing electronics, and all that, making your own drivers etc etc. id deffinetly go for electronics engineering, since you’d more then likely get courses in doing embedded programming etc.
point is, dont mistake liking windows, windows hardware, benchmarks, with doing software for hardware, they’re VERY different disciplines, and first time you try and setup a com-port connection will just be a kick in the nads.
my first wet towel in the head was when i thought i knew everything as a newly educated at my first job, and my boss said, soo we have this canbus what ever, and i was just at a loss, i had no idea being a enterprise educated software engineer, even though you could call me at 3am and ask me the specs of the newest what ever hardware used for gaming. But talking to the actual hardware was very different. But also fun dont get me wrong, currently i am working on a accelerometer, which has to be broadcasted using some yet to be announced protocol, but watching those numbers change in your console, as you move the hardware is just gravy.

1 Like

it depends on what you mean ee electrical engineering and electronice engineering are 2 different animals.
electrical engineering delves heavily into distributions and generation and handling, and designing safe electrical systems as needed per customer requirements, while electronics engineering delves more into electronic and solid state devices and the applications therein.
the people who posted before me are correct.
its a wide field to enter with many specialties.
If you are looking for career oriented opportunities these courses will help but also consider taking courses in industrial automation, plc/slc programming.
ladder logic is not hard but many people dont want to learn it.
If you are good at it you can make very nice wages especially if you are a traveler( roving troubleshooter and specialist)
(some Ive known have made over 100 grand a year) But they were top notch programmers.

1 Like

Pretty much every engineering major has some focus in computer science. Elective courses and internships are things that would probably distinguish yourself more than just the degree. I have a mechanical Engineering degree yet most of the work i do now is software development and prototyping hardware.

2 Likes

I’ve been doing embedded development for 4 years now. A lot of what I do deals with interfacing with hardware via a DTS. It also involves optimizing drivers for the hardware. Granted, it’s all done via the Linux kernel and a device tree. I much prefer doing stuff like that than to writing apps, and stuff of that nature. Would you still suggest CS?

I appreciate the heads up. My full intent is to get experience down the road after graduation and then maybe teach it as a career path. Like I said, we have ample opportunities down here for jobs so I’m hoping that can help me build a resume up

I wasn’t too fond of JS to be honest. I’ve always liked C and assembly though

You’re putting entirely too much focus and emphasis on the title of your little piece of paper that isn’t going to matter a year after you get your first job.

My Computer Science program had embedded devices, systems architecture, and classes with VHDL. I also took a class on electronic components and the basics of soldering, diodes, breadboards, etc. If you’re into that stuff and your “Computer Science” program doesn’t do that but “Computer Engineering” does, then go do CE. If you want pure hardware and EKG, EEG, Electromagnetic engineering, etc. maybe you should go into Electrical Engineering where they have an emphasis on that stuff. You’ll still learn C, but it sounds like you already know that.

You said you’ve been working on hardware the last four years. Do you have a GitHub? If not, get one. Do you have a resume? Is your GitHub on your resume? You should do that, too. You also said you want to get a Ph.D. If you’re getting a Ph.D. you should just pick a program and see if there is a “fast track” option so you’re taking graduate level classes your senior year of undergrad. This is by far the best option that no one takes advantage of.

The market is over-saturated and it’s been that way for a long time, that doesn’t stop people from getting jobs. People go into CompSci or I.T. because they want to make money, then they realize how difficult and tedious everything is, lose their passion, if they ever had any, and end up being an asshole manager. You like working with Linux and DTS and have put some time into that, know that your school may or may not go into all of that.

In my area, the salary for a fresh college graduate is $43,000 to $65,000. I was making more than that before I graduated. I work with people that are data scientists, research and development engineers, software engineers, crazy embedded engineers and they have English majors, History majors, no degree, or other unrelated degree. I also work with people that went the CS route and are good at what they do, some suck, some are pulling a 9-5 and don’t give a shit one way or the other.

No, this is a myth perpetuated by advisers, computer engineering majors that think they’re “smarter” than computer science (or other engineering) majors, and people that don’t know what they’re talking about. At the end of the day it’s all software running on a server or tablet somewhere, how cool or edgy your degree sounds won’t matter after a while.

Also, as someone that just applied to a Ph.D. program, got accepted, and then gave them the middle finger, know that you’re in for another four years of tedious classes to keep your GPA up while you research your own projects. If you’re really good, you can get out before then. You also have to play into the politics (I’m not talking about U.S. Politics or Conservative/Liberal/other retarded buzzword, I’m talking about corporate dick sucking) to get a proper evaluation and not bullied out of the program.

Take that last paragraph with a grain of salt, because that may just be isolated to the school system I applied through. But seriously, find a fast track program and do that if you’re serious about a Ph.D. You may get to your junior year and say “Fuck this” when/if you realize it’s all bullshit and just take your B.S. and run.

As others have said, you’re going to graduate and realize you’ve been working on dated technology stacks. Or, you’ll enjoy the experience and take college (Computer Science) for what it is: Some old software to express complex ideas in a simple manner that are relevant today.

Still, if you find yourself disappointed with the experience, know that you’re not alone, and it may get you further ahead if you want to just explore things on your own time. I know I sound like yet another person that went to college that say “College is bad!”, which is some conspiracy somewhere I’m sure. But, I pissed a lot of money away to just get myself ahead on my own time :man_shrugging:

1 Like

Genuinely appreciate the insight. What guy that takes programming seriously doesn’t use Git? :wink: