<p>So I really like to progr. I've taken a java programming class at my college and did very well. I like the type of problem solving that goes into programming so I am in the process of learning about Python and some website development languages atm. </p>
<p>I am a biochem and stats major, so I don't really have time for a CS major. I'm also not very interested in learning any CS theory that CS majors have to learn. </p>
<p>If I decide to find a programming job would the skills I have self-studied be enough? What kind of job or position would I be able to obtain?</p>
<p>I was a EE undergrad. I did programming on my own time as a hobby, got internships doing software development, and had multiple full-time offers in software. I didn’t take any CS classes past the sophomore level.</p>
<p>Depends on how many (and which specific) CS courses you have taken. Software engineering probably has more non-CS majors than any other technical field when you factor in the usual de-facto major.</p>
<p>I know… I have a B.S. in Math</p>
<p>You need to take enough CS courses for you to compete. In my own humble opinion, a college student who wants to get into software engineering/development without being a pure CS major needs to take the following (at a minimum).</p>
<p>Introductory Programming I (the same initial course taken by CS majors…Java or C++)
Introductory Programming II (the same 2nd course taken by CS majors…Java or C++)
Discrete Structures or Discrete Mathematics
Data Structures
Operating Systems
Database Systems
Computer Networks</p>
<p>These 7 CS course areas will give a good foundation for many software development positions. There are a few more courses than can help but are optional:</p>
<p>Computer Organization - Depending on the school, you may/may not need this course as a prerequisite for Operating Systems.</p>
<p>Theory of Programming Languages - This is a “nice to have course”. It gives you a generalized view on how languages work. This course helps “shape your mind” to be able to pick up a learn new languages quicker (a trait that is a MUST in a software career).</p>
<p>Algorithms - Some schools included algorithm analysis in data structure courses and some schools give separate algorithm courses.</p>
<p>Most of the programmers I’ve worked with did not have CS degrees, although they almost all had some kind of STEM degree.</p>
<p>One programming class in college, along with self study, probably won’t get you a programming position. Three or four college CS classes would be better.</p>
<p>To get to the needed level of competency for entry level jobs in computer software, you can get there with course work, self-education, or some of each. Obviously, self-education requires good ability and motivation, more so than learning in a structured course context. Of course, a career in computer software also depends on continuing self-education.</p>
<p>Taking at least the introductory sequence of CS courses at your school should be a better head start for self-education than having just one CS course. If you can do so, taking upper division CS courses in operating systems, networks, databases, and algorithms tends to be helpful in a variety of CS contexts.</p>