Hey ProgrammingGAF, I have some questions about going back to school and pursuing a career in programming, and I'd appreciate some advice/feedback about how worthwhile school is and what kind of options different kinds of schooling would give me. I apologize for the wall of text and links but I figured that would make it easiest for anybody who wants to actually give me some help.
Any feedback? I know that's a lot of information, as I said I tried to lay it all out and be as explicit as possible. If you can chime in on what the best option may be, or what the different options might afford me, I would appreciate it sooo much.
Thanks a lot to anybody that responds, cheers.
So just to distill your options:
1) Spend two years getting an associate degree with a technical college. My take on this is that it doesn't buy you that much since you already have a college degree, albeit in an unrelated field. On your resume putting in an associate degree in Software Development isn't all that great because it's somewhat trumped by your existing bachelor's degree. It would be fine if you didn't have the bachelors but since you do I just don't see the degree itself buying you a lot of options and opening up many doors.
The curriculum is actually pretty well in tune with lining up a junior programming position, a little on the softer side than an outright CS degree but not all that unreasonable. So you'd learn some stuff while you were there.
The big issue is the opportunity cost, which is very high for the amount of value you are getting. I wouldn't rule this out as an option but unless you can do this degree while bringing in a normal income with zero loans it seems fairly poor for you.
2) Master's Degree in CS - This is the objectively best option in terms of opening doors. The MS in CS will allow you to skip some work experience gating in job applications/interviews and get you into jobs at a level above pure entry level.
You will have a chance to operate in a research institution academic program, which with your previous degrees should be an easy cultural adjustment.
The challenge here is that you are coming from a background with zero computer science fundamentals. That may or may not be a big deal. You need to find out from your university exactly what criteria they expect graduate students to be up to. Do they want you to pass the math subject GRE (ETS doesn't have a CS subject test anymore)? Do they have a set of fixed coursework that must be completed (if so, find out if they are willing to allow you to test to get around it)? If you bring the heat with a github with cool stuff, will they look the other way on your complete lack of 'formal" programming classwork?
Once you have the answers to how long it would take to actually get you through the main program you'd have a better idea of how reasonable an option it is.
I wouldn't worry all that much about being able to actually do the work once you are there. You'll have plenty of time before getting in to get some code written and go through more online offerings to get some more substantial projects done. Computer Science coursework is still college coursework, and you beat it with good study habits and applying yourself. You don't need a special gene or nueral sequencing to get through a MS CS program.
Again, this is for sure your best option for your goals and I think it should be the one you pursue the hardest.
3) This can work for some people, but in order to transition it into a job you have to be smart about it.
I've seen people try this and fail because they lack the time management discipline tto get good results. You don't have to treat it like a full time job but, like a full time job, you want to be results-oriented. No one cares about how many online classes you took-what they might care about is what you produced and then what you did after you produced it.
So be focused on producing something that other people want to use.
If going this route, you should get hooked in with the local meetups (if you live in a city or tech hub) for the startup scene and the tech culture. They are generally free to attend and you will learn a great deal from seeing how they are trying to produce something cool while resource constrained. You will certainly get some ideas of things you can do on your won based on their approaches to problem solving and technology. It'll be smaller scale and not oriented towards getting customers and funding so don't sweat trying to be just like them.
Your end goal is to be at a point where you make something cool enough and have enough lessons learned while making it that you can present to this crowd. You also get a chance to network and if there's anything completely overpowered in getting a job it's knowing people.
So in summary:
1) doesn't buy you much
2) Is safe but has pretty high opportunity cost and you need to do some research.
3) Is risky and prone to failure but if you are self-motivated and passionate enough you can come out way ahead.