<p>Hi everyone,</p>
<p>I'm a physics major who's only very recently started entertaining the idea of entering the tech industry post graduation. It's too late for me to add another major (I'm a rising junior), so I'll graduate with a physics major or a related major. </p>
<p>I've taken a basic programming class, but I've also had two physics internships which have involved coding (one in C++/C, and another in python. I also know Java). The data structures class that I really want to take is known for being notoriously difficult, and given that I have to take the physics major's hardest class this semester, I don't think I can take it until next year. </p>
<p>In short, I was wondering what advice people had for entering the tech industry with this background, and whether it's even possible. Would it be too ludicrous to consider applying for tech internships in the fall for the following summer, given that I have limited programming knowledge? </p>
<p>Any advice or suggestions would be appreciated.</p>
<p>We hired a physics major from MIT several years ago to do software engineering. He left after a year to work for a high-frequency trading firm. We also hired an EE from Princeton several years ago and he left to work for a non-profit and eventually wound up at a big software and networking company in Cambridge, MA. So it is possible to get software engineering and programming jobs with non-CS/ECE backgrounds but I think that it’s a lot harder to land jobs as you have a major disadvantage in programming experience. Your typical state university CS major has a lot of programming every semester and will have a breadth and continuity in programming that is hard to match starting late.</p>
<p>That said, physics majors are highly regarded in software engineering because physics majors are known to be good at problem-solving which is a big component of software engineering. Physics majors can also have a math background that is useful in some specialized areas. You might take a look at some job postings for Mathworks in Framingham, MA - many of their job postings are a little more general about majors - you have to have a programming background but they don’t strictly require a CS degree.</p>
<p>There are other areas in the tech industry where a BSCS isn’t required.</p>
<p>IT support typically takes a BSIT or BSCS or a technology degree. In many cases, an Associates is enough. There are companies that will hire based on experience too - experience is often more important than having a degree. Examples of IT jobs: Database Administrator, Helpdesk Support, Network Administrator, Virtual Machine administrator, IT Manager, server administration, email administration, managing data centers, etc. Many of these jobs require a few CS courses and/or tech/certificate-type courses.</p>
<p>There’s also the area of Information Services. The CIS major is typically in business programs and the major usually consists of a business core with a few CS/IS courses. Someone with this major can work in consulting or as a staff programming for internal business applications. It would be harder for you to break into this area as you probably haven’t had accounting, finance, etc. but it’s not impossible to get a programming job in CIS with a physics degree. A lot of the programming in these areas isn’t difficult - it doesn’t require the math or algorithmic efficiency that software engineering jobs typically require. </p>
<p>There are also sales and sales consulting jobs but I don’t have a lot of experience with those jobs though I know a few people that do.</p>
<p>Yes, physics majors often adapt pretty well to software work. But you can get a head start by taking CS courses in data structures, algorithms, and operating systems (networks and databases are also helpful in industry software jobs).</p>
<p>Some humanities and social studies majors with significant CS course work or self-education also go into software work.</p>
<p>The CIS/MIS/IT majors (which have a heavier business emphasis but are light on the technical side) do tend to mostly stay in MIS/IT areas, rather than design and development.</p>