When I was a high school student the whole notion of college seemed abstract – somewhere way off in the not-so-distant future. I had an idea of where I wanted to be in ten years, but the path that would lead me there was dark. My high school advisor did the best job she could do, but there were numerous technical questions she was unable to answer. For example: What is the difference between computer science and computer engineering? In an effort to decide what I wanted to major in, and thus which schools I would apply to, I googled it. I found a few resources and ultimately decided I would major in computer engineering, even though what computer engineering would entail was still very unclear.
In 2007 I started my freshman year at SUNY Buffalo as a computer engineer. My first and second semesters were mostly filled with general education requirements (English, American pluralism, ect…). However, like most curriculums I took two basic programming classes where I learned Java. I was suppose to learn other more important things like the concept behind object oriented design and other software development methodologies, but for some reason they did not become apparent until much later. My third and fourth semesters were filled with mostly general engineering classes which included calculus, differential equations, physics, and chemistry as well as a few others and one computer science class – algorithms and data structures and one electrical engineering class – [analog] circuit analysis. At the end of my fourth semester I finally made an appointment with my academic advisor. We went over my success path for the remaining four semesters which were mostly filled with electrical engineering classes. I felt like I was in a difficult position. I enjoy programming and I enjoy computer science. However, there were very few computer science classes in my schedule. Moreover, I am not particularly fond of the typical computer-science-type-of-job stereo type. You know… the one where some geek with a pocket protector sits in a small four foot by four foot cubicle office with no window. Yeah… that’s not really my cup of tea. I want something more hands-on. It was at this point where I took some time to evaluate what I really wanted to learn and what really wanted to do after college. The questions I asked myself were the similar to the ones I had in high school. Should I switch to a computer science? Should I switch to electrical engineering? Should I do nothing and remain a computer engineer? After some deep consideration I concluded I had no effing clue. Thus I decided to play it safe double major in computer science and electrical engineering and get the best (and worst) of both worlds.
Computer engineering provided me with some computer science and some electrical engineering, and although on average, a newly graduated computer engineer will make more money than a computer scientist due to their variety of knowledge, a computer scientist with a specialization is likely to make more money than the average computer engineer as with a specialized electrical engineer. A computer engineer is a “jack of all trades,” and thus the curriculum made it difficult to specialize in any particular field.
However, engineering and more particularly electrical engineering is not for everyone. If you suck at math, do not care about hardware, or just want to write code for a living, then computer science is what you should major in, but from experience, programming gets old, quickly. On the other hand if you hate writing code but enjoy working with computer hardware you probably want electrical engineering. If you enjoy programming and hardware or enjoy how the two abstractions interact, you want computer engineering. However, for all you high school students who are reading this, despite what you think you want to major in, I recommend giving computer engineering a shot. It will give you the best of both worlds, and toward the end of your sophomore year, if you realize you do not like hardware you can easily switch to computer science (as the majority of the curriculum overlaps), or if you are like me and enjoy both stick with it or get more for your money and double up.
23. May 2009
15 Comments »