I will graduate in 1 semester and I have realized towards the end of my B.S. in mathematical sciences that I would like to develop software. I know there's no degree requirement to do this.
I have taken 20 math classes, bu have only taken 4 official computer science classes (2 in Java, 1 in C++, 1 in discrete math) and will have the opportunity to take up to 2 more before I graduate such as "data structures and algorithms" (a java class). I have also taken graph theory through the math department.
I have brainstormed. I could apply to masters degree programs in computer science (or PhD programs, then leave with a masters) or I could try to self teach myself the programming languages and gaps in my knowledge. Or I could take the additional couple of years to finish a double undergraduate major in computer science at my school. I could also try for an internship for Summer 2014, regardless.
So I could:
Self study and try for an entry level position. No explicit or implicit cost if I succeed. But if I fail to get a job, there's the time wasted that I could have been in school.
Finish a double major in CS (would take an additional 2 years). This would have an opportunity cost as well as an explicit cost.
Apply to graduate school in CS. This would have an opportunity cost and most likely an explicit cost.