<p>For instance, I want to get a degree in finance, and I am pretty good at programming. Can I still get employed at a software company if I decide one day that finance absolutely doesn't fit me?</p>
<p>What would be my options from there?</p>
<p>So which is the better decision: going for finance degree or for CS?</p>
<p>I got my first professional programming job after one year in college. I had a number of programming jobs with rapid rises in salary. I went back to finish my degree and then get an MSCS. That was back when the supply of programmers was way below the demand.</p>
<p>If you’re going out in the marketplace, you’d be competing with those with CS, CIS and CE degrees and an HR person that doesn’t really know what these majors entail would just toss your resume because the you didn’t have the right keywords. You could potentially get a job via word-of-mouth if you’re connected.</p>
<p>Software Engineering is a higher level skill compared to programming. There are a lot of other skills expected. Your programming background probably doesn’t include a lot of CS theory (math) which is required in some software engineering jobs.</p>
<p>You might be better off looking for a finance job in a software company if you want to make a lateral move. I know an accountant that worked in a software engineering group and he’s risen to a high-level VP and manages huge numbers of software engineers. He’s probably worth high-8s or low-9s. I used to talk to him about the local basketball team in his office before he rose up so quickly. I don’t think that he is technically inclined but he knows accounting and management and sometimes that trumps the CS degree.</p>
<p>You don’t need to major in CS to be a programmer any more than you need to major in electrical engineering to be an electrician or in aerospace engineering to be an airplane mechanic or go to medical school to be a nurse’s assistant.</p>
<p>Of course, if you want a job in software engineering, it will put you in a more marketable position if you have (a) formal education or (b) practical experience in CS / software engineering. I mean, would you hire somebody to design jet engines if their qualifications were “pretty good at building stuff”? What about “pretty good at building jet engines”?</p>
<p>I think it makes a lot of reasonable people less nervous when they see some credentials.</p>