<p>Is Software Engineering a growing field? (I would imagine so) also, what is the difference between software engineering and Computer Science? What would be some good ways to prepare for this field while still in high school?</p>
<p>Only a few schools offer a software engineering major, which tends to be similar to a computer science major, but with some more software engineering methods courses.</p>
<p>A major in computer science is good preparation for a career writing software, so there is no need to seek a specific software engineering major. Some non-computer-science majors are able to self educate enough to enter software careers, although such self-education requires a relatively high ability and interest in the subject.</p>
<p>I’ve always thought of Computer Science as academic and theoretical, while Software Engineering was mostly about software development in the real world. The terms are pretty squishy, though. Someone recently asked about the difference between the University of Waterloo’s CS and SE programs, and they were the exact opposite of what I just described.</p>
<p>Stolen from the Wikipedia page on Software Engineering:</p>
<p>
</p>
<p>So if that’s what software engineers are concerned with (although many CS types are as well), it would be the programming types who implement it.</p>
<p>In general, software engineering is more about the design and management of software systems, whereas CS is more about implementation of the design.</p>
<p>When I see a “software engineering” degree on a resume, I have the initial reaction that this includes training on processes and methods, especially for work relevant to larger software projects. Whereas CS is likely to include a lot of fundamentals, but perhaps a bit less on the process side. But that’s the initial expectation: the full resume assessment really depends on the specific coursework and projects (including summer work). If you do well in a good program, the specific label on the degree won’t matter that much. But I should say that some hiring departments will apply blanket rules and look only for “CS” degrees for certain jobs.</p>
<p>If you want to prep for a software career, in addition to doing some programming on your own (I often recommend Python as a first language), you should make sure you don’t neglect your math, and (surprise!) learn to be a good writer and communicator.</p>
<p>Hope this helps.</p>