How should I educate myself for a career in programming?
March 18, 2015 7:02 PM   Subscribe

I'm almost 30, with few marketable skills to speak of and a bleak financial future in retail. There is no hope of that changing without doing something different. After a lot of thought and a great deal of procrastination, I've decided that pursuing my interest in programming professionally is my best option. The issue is deciding how to educate myself in my chosen field.

As far as I can determine there are four options (though if I've missed something please chime in):

1.) A Computer Science degree

2.) A college diploma like this one (http://www.senecacollege.ca/fulltime/CPA.html) that offers co-op

3.) A programming bootcamp

4.) An attempt at being self-taught

Option 1 would be tremendously expensive (at least $40,000) and time consuming. I wouldn't be entering the workforce in a real way until, at least, age 34. This is a great deal of lost income, and a pile of debt on top of that. On the other hand, it seems like many of the highest paid jobs in the profession require the piece of paper, even if you have otherwise stellar experience and a great portfolio. Not to mention that doing nothing different for four years also represents a lot of potential lost income.

Option 2 is not quite as expensive ($18,000 - $32,000 depending) but I'm not sure how to judge the value of any given program, or how to compare it to the other options I've presented. The programs also seem to be only slightly shorter or as long as a university undergrad and are expensive.

Option 3. Most of the expense of Option 2 (about $10,000), but instead I will give thousands of dollars to the equivalent of an unaccredited technical school. That said, this option is dense, career focused, and relatively quick. These are not unappealing features, but is something like this really right for a beginner? A great many bootcamp founders and Redditors seem to think so, but I'm wary of those sources.

Option 4 seems viable from the anecdotes I can find, but they are just anecdotes. It's certainly free, but I may get what I pay for. I also think I function better educationally speaking with some level of structure, but that may just be the fear of taking that sort of plunge talking.

Other relevant information: I live in Toronto, Canada, have a BA in history, and mediocre marks in high school math (which seem to matter, even when applying as a mature student?). My priorities are cost, potential income, and time-to-completion in roughly that order.

What do you feel is my best course of action here?
posted by Gin and Comics to Education (12 answers total) 26 users marked this as a favorite
 
Have you considered the 20-month BSCS program at UBC? It's geared towards people who already have degrees, so it could be a good fit for you if you qualify.
posted by un petit cadeau at 7:13 PM on March 18, 2015 [1 favorite]


I faced the same dilemma with my physics degree. I went back aiming for a Advanced Certificate in computer science just so that I didn't need to take the other humanities courses for a second degree in computer science. The University of Saskatchewan altered their second degree requirements the year I was pursuing the Advanced Certificate. They let any previous graduate get a second degree in computer science without having to take the other humanities and social science electives, which would have been wasteful for me, as I also just wanted to get in and out with the useful computer science classes.

I now have a second B.Sc. degree in computer science. You can check if the Toronto universities let you pursue a similar option.

The B.Sc. degree in computer science did help my job prospects. I don't regret going back to school for it. I like programming. You're still going to need to convince the interviewers that you like technology in order to get a job.
posted by DetriusXii at 7:30 PM on March 18, 2015


I was just about to suggest the BCS program (which I have done before in detail) or another like it. I was very happy with my UBC CS experience, they really do a good job of hiring professors who can teach well. I graduated ~4 years ago, so it's unlikely that much has changed since.

I do strongly feel that either 1) or 2) will be the best option. It might be just the circles I run in, but developers without a CS degree or a programming diploma have been very rare at each company I'm familiar with (mostly large and mid-size companies on the West Coast).

I'm also skeptical about bootcamps because they're so short. I don't think many people could learn and retain the programming-relevant bits of a CS degree in just a few months, I certainly couldn't.
posted by ripley_ at 7:34 PM on March 18, 2015


As a just-retired programmer without a degree I'd echo going back to university as the best bet. Programming isn't just learning, the doing is important, and a bootcamp may not give enough of the latter. I was fortunate in coming into programming before degrees were common, but it's always been a weak point in my resume.
posted by anadem at 7:50 PM on March 18, 2015


I memailed you.
posted by sea change at 7:58 PM on March 18, 2015


Software development is one of the few reasonably-well-paying careers where you can try out the main job thing on your own and see if you like it. So why not do that before you spend money?

Take a couple months, make a really serious effort to learn some programming (put in one to two hours a day weekdays, ten hours on weekends), and after two months, see if you still want to go into the field. If not, you're not out any money; otherwise, you should be in a better position to decide where you want to go next in terms of learning.

Personally, my degree was helpful but not nearly as helpful as all the self-study I put in during school. My experience is that lacking the degree makes the initial hire harder and restricts what specialties you can go into, but there are plenty of people I have worked with who don't have CS degrees and are very successful.
posted by inkyz at 9:03 PM on March 18, 2015 [5 favorites]


You could dip your toe in the water with a short course at Skillcrush maybe, to see if it appeals at all for the long haul, then you'd be in a better position to decide? Others have given good suggestions and I think as a mature candidate having a recognised college qualification would put you in a stronger position. I admit I am not a programmer nor have hired any, but I have seen people I know retrain into new fields and thrive in them. And four years from now (or whatever the appropriate time period for your course) you are still going to be four years older either way, you could be four years older with a qualification or four years older without, as mature students always say. But before signing up for anything serious I'd do enough self-study to see if this is something you'd be happy doing day in a day out, rather than being attracted to IT because of the high salaries some earn. Good luck!
posted by AuroraSky at 9:39 PM on March 18, 2015


Option 1-b, see if you can find a CS program that allows you to have summers off, and then work as an intern over the summer. The developer internship is a standard thing and usually pays pretty well, plus it will help you transition into a career afterwards. Or go to a school with a formalized co-op program like Waterloo.

However I would start with Option 4. There are lots of places that can guide you through in a structured way, like Codeacademy for example, to at least give you the basics. You could start there, and then try to do some kind of project. Something fun, like a game. It is easier to learn how to do a project than it is to learn to program. When the projects start to get complex, you will start to reach for tools that are beyond your level. Once you hit this point, you will be in a better position to make a decision about your education.
posted by PercussivePaul at 10:56 PM on March 18, 2015 [1 favorite]


Anecdotally, I know someone who attended a several-month boot camp. This time last year they couldn't code. Now they're making $45k/year.
posted by aniola at 11:14 PM on March 18, 2015 [1 favorite]


I think part of what you pay for with boot camps is the connection to interested employers.
posted by aniola at 11:15 PM on March 18, 2015


There are some other IT specializations that have something of a lower barrier to entry than actual programming/coding. You could, if you wanted, probably pick up some technical certificates (either of the MSCE / Linux Foundation / pick-your-vendor variety or subject-matter certificates from an educational institution—just avoid for-profit ones) and that might let you get your foot in the door at an IT company into something like an infrastructure or L2 support position. From there, you could start taking programming courses on your own, maybe a remote program that would get you a BCS, and on completion either leverage that to move into a programming job at the same company or put yourself on the job market.

That would have the advantage of possibly getting you into a higher-paying job faster, which would let you fund your education on something other than a retail job's pay. It would also get you a technical company's name on your resume sooner, which would make snagging a programming job a bit easier than jumping directly from retail to a programming job on nothing but the educational program. In general I think it would just make you a stronger candidate.
posted by Kadin2048 at 10:18 AM on March 19, 2015


I attended a programming bootcamp (Dev Bootcamp in Chicago) from July to September of last year. I got a job here in Chicago paying $61k/year about three months ago, and of my cohort, I was actually one of the last to land employment. People from my cohort got jobs in Arizona, San Francisco, Chicago, New York, Louisville, all over the place. I had been a long-time dabbler in various "teach yourself to code" programs before I applied to DBC, but I had never sat down and really worked at it. My suggestion would be to try to work your way through a few courses on Codeacademy or Treehouse and see if you like it. If it lights you up and doesn't drive you insane, look at a course like DBC. I loved the hell out of Dev Bootcamp. I work at a small consulting shop in Chicago with another grad and there are grads sprinkled all over the tech scene here. Not having a degree really isn't a big issue. If you want to, you can do what one of my friends from DBC is doing and pick up a CS degree once you're on the job. Sometimes your employer will even help pay for it. DBC definitely isn't cheap (although they're now doing some sort of scholarship thing if you're a woman or a PoC), but the cost/time combination is far better than going back to school. Feel free to shoot me a message if you have any more questions about the program.
posted by protocoach at 1:13 PM on March 19, 2015


« Older How can I help my friend after a double mastectomy...   |   Am I enabling poor pregnancy etiquette? Newer »
This thread is closed to new comments.