<p>Your freshman / sophomore level courses in CS should include introductory software development in several computer languages, as well as such topics as data structures and machine structures.</p>
<p>In general, the junior / senior level courses in CS whose concepts will be most useful in industry software development jobs are:</p>
<p>software engineering
operating systems
networks
introductory theory (algorithms and complexity analysis)</p>
<p>Other courses whose concepts are likely to be seen:</p>
<p>databases
user interfaces
security</p>
<p>Courses whose concepts may be commonly seen in some subareas, but not others:</p>
<p>graphics
compilers
digital design
architecture (CPU design and such)</p>
<p>Courses whose concepts are probably the least commonly seen in industry:</p>
<p>additional theory courses beyond the introductory one
artificial intelligence</p>
<p>SQL is needed to be known and specifically under the hood of Oracle or MS SQL Server. We don’t wanna split hairs on what is/not a language…just learn it.</p>
<p>Here’s my short list (mainly on soft skills)</p>
<p>Written communication:
Ability to write, clear, concise communications on technical issues.
Use diagrams where you can (as they say, a picture is worth a 1000 words)</p>
<p>Global work ethic
-Be prepared to be available both early mornings and evenings for coordination with global teams
-Understand regional work ethics and culture</p>
<p>Responsibility
-Take responsibility for your mistakes and learn from them</p>