Software Engineering - what exactly does it entail?

<p>To all who are in their final years in CS or EE related fields (or who might have some real-world experience), I would like to know what it takes to work as a software engineer?</p>

<p>I am a community college student and will be transferring to a 4-year university next year, majoring in Electrical Engineering (maybe with a computer engineering option), and was wondering if people with EE majors are hired to work as software engineers?</p>

<p>The reason I ask this is because I've read in several places that the employment outlook/forecast for EE is not great, but that software engineers are going to be in high demand for the forseeable future.</p>

<p>Since I am a "hardware" kinda guy (I like programming/logic too, but not nearly enough to change my major to CS), I was hoping I could "kill two birds with one shot" by majoring in what I truly like, but keeping my employment prospects good too (maybe by taking more CS courses for my electives in my junior and senior years)</p>

<p>So, if I were to graduate with an EE degree, would a software engineers job be within reach??</p>

<p>Thanks in advance for your replies!</p>

<p>“To all who are in their final years in CS or EE related fields (or who might have some real-world experience), I would like to know what it takes to work as a software engineer?”

  • Well, the job would be designing systems and probably implementing them to, although that would be a job nominally reserved for “programmers”. You’d need an understanding of software modeling, process, quality control, architecture, etc. Being familiar with a few programming languages and web technologies probably wouldn’t hurt, depending on the area you’re working in.</p>

<p>“was wondering if people with EE majors are hired to work as software engineers?”

  • I’m sure it happens all the time, but realistically, the more applicable your degree is to a technical position, the more likely you are to be selected for the position, ceteris paribus. You can’t expect to go up against a more qualified CS or SE major for a job where your EE skills will largely go underutilized and expect to come out on top. For certain kinds of SE, however - embedded systems come to mind - you might have a leg up from the extra domain knowledge and be as competitive, or moreso, than majors in SE or CS.</p>

<p>“The reason I ask this is because I’ve read in several places that the employment outlook/forecast for EE is not great, but that software engineers are going to be in high demand for the forseeable future.”

  • I’d double-check the BLS OOH on that. I know EEs don’t have as bright a future as SEs, but I didn’t think EE was going down the toilet.</p>

<p>“So, if I were to graduate with an EE degree, would a software engineers job be within reach??”

  • Yes, probably a lot of SE jobs would be within reach, particularly if you find a niche and play to your strengths.</p>

<p>One note: it’s my philosophy that it’s a terrible idea to plan on majoring or working in a field you don’t like for some benefits that depend on your doing well in that field. I mean, I can plan on playing for the NBA, and if it worked out, I’d be making a ton of money. I don’t like playing basketball and I’m not great at it, and I probably wouldn’t be happy and wouldn’t make very much at all. The situation you’re describing… may differ in quantity, but not quality. It would be better for you to be the best EE you could be than a mediocre SE.</p>

<p>

Actually, many branches of EE will grow quite rapidly in the next 5-10 years. Power systems is one of them as the smart grid will require a lot of electrical engineering expertise to implement well. Wireless communication is another such field where demand for engineers will grow, especially as wireless broadband use expands. </p>

<p>I think that computer engineering is definitely slowing off a bit (big names like Intel, AMD, NVidia) but there are still many great opportunities in computer engineering, particularly in embedded systems. </p>

<p>While I don’t think computer engineering will ever really die down too much, I agree with AMT that you should do what you like and are good at. The days when fresh software engineering grads from top schools make 120k are clearly past; today, talent matters more than ever.</p>

<p>Thanks AuburnMathTutor and IndianPwnerDude for the responses. That was very informative!</p>

<p>Right now I’m not even concerned about things like pay level. My main concern was GETTING a job after graduation! I’ve heard some scary things like “EE is very easy to off-shore, and so there will be no opportunities for entry-level fresh EE graduates anymore” …but then again, people tend to exaggerate and hype things up. IndianPwnerDude brought up a very good point: One generally tends to think of the infrastructure as “bridges, roads etc.”, and the first thing that comes to mind is “Civil Engineer”. However, it never occured to me that the power-grid (and things related to it) is also part of the infrastructure, and it is not easy to outsource those things!</p>

<p>As I have stated before…</p>

<p>Anyone can be a software engineer, provided that they have the ability to write good code and can work within one of the various software engineering and/or systems engineering lifecycle approaches.</p>

<p>^ The more you bring to the table, the more competitive you are for any job. Bear that in mind when applying for any job, particularly if it’s a technical job in a field unrelated to your major. Most jobs can be done by most people, but that doesn’t mean everybody’s as qualified as everybody else.</p>

<p>“The more you bring to the table, the more competitive you are for any job. Bear that in mind when applying for any job, particularly if it’s a technical job in a field unrelated to your major. Most jobs can be done by most people, but that doesn’t mean everybody’s as qualified as everybody else.”</p>

<p>Agreed…no doubt</p>

<p>When I said anyone, I was referring to who had the capacity to to the job…regardless of technical major.</p>

<p>^ Well granted, but it’s misleading to say that software engineering can be done by anyone in that sense. Any job can be done by anybody who has the capacity to do the job… by definition.</p>