Would I qualify for a masters program at a reputable school?
March 13, 2009 7:07 PM   Subscribe

Can a modestly successful software developer with a two year diploma and 11 years experience designing and developing fairly complex software systems qualify for a masters program in comp sci?

I've been programming since I was 8. I have 11 years of professional experience. For the past 4 years I've been the software architect at a small tech firm where I am personally responsible for 50% (the other 50% is my counterpart's in embedded systems) of the design and development of a product/service that generates several million dollars of revenue annually. In short, I think that I'm pretty good at workin' this here computer thingamabob (but I'm no wunderkind).

Anyhow due to my personal life moving in mysterious ways, I suddenly have a lot of free time on my hands. I also might have an opportunity to cash out from said company with a (very) modest sum (revenue doesn't necessarily mean profit :'( ). I've always wanted to formalize my education - to prove to myself that I am indeed "pretty good" - but I'm debating whether or not it's worth the effort. (This isn't about earning potential, this is about personal development)

I only have an honours diploma from a two year tech school. I believe that my experience gives me the equivalent of a bachelors and I should be able to handle a masters program. Is it possible to make the jump straight to a masters - at a reputable school - without first "paying your dues"?

I've found Athabasca University here in Alberta, but I'm not sure if they'd accept me or if their program is any good (it is correspondence after all). I've heard of University of Phoenix, but that's correspondence again. I'd really like to go to the UofA(lberta), but I've heard that they're real sticklers who won't give credit for diplomas or work experience, and that's not acceptable - I could teach 100 and 200 level courses for crying out loud.

What schools could I... strike that... what schools would consider me?
posted by C.Batt to Education (12 answers total) 3 users marked this as a favorite
 
Sorry, I do not have any specific university to suggest...

Why don't you write to the Chair of the Comp Sci dept at Universities that might interest you? There aren't that many in Canada. Describe in a bit more details the project you worked on, and any math skill you might have. You have to realize that Comp.Sci. degrees are often not so much programming as they are algorithms/applied math. You should look at specific course descriptions to see if you really have acquired the knowledge required for a Master's.

You might also consider getting an undergraduate degree in software engineering...
posted by aroberge at 7:17 PM on March 13, 2009


AFAIK most CS masters programs have relatively little to do with developing fairly complex software systems, so I doubt that you'll be able to use one of those programs to prove that you are "indeed 'pretty good'". If you've built complicated stuff that works on time and on budget, you are damn good. Unforch there's no certification process that I know of that will vouch for this. It's the great tragedy/awesomeness of building things with computers is that its only pseudoacademic. (To try to make this on-topic to some degree, I had a engin prof in college that never did undergrad, but he got a Mat. E. PhD and became a prof, so it's at least theoretically possible. Also, one of my friends in (CS) undergrad was real worried about grad school and how his grades would affect his chances and if that should change his courseload, and he asked all the grad students and profs, and they were basically like 'undergrad grades doesn't matter at all, what research you want to do and who you find to do it with is all that really counts.')
posted by jeb at 7:23 PM on March 13, 2009


Computer science is not the same as learning to program. There is a great deal in a decent undergraduate program that you probably do not know. A small part of a CS degree is the rudiments of programming, just enough to allow you to do the really neat stuff. Software architecture and/or design is usually at most one course, and it's mainly so the kids graduating will have a clue about it in the job world. It's not terribly relevant to a pure CS program.

You can probably test out of the 101/102 level classes, since you're a competent programmer. However, you probably would fail to test out of discrete math, programming languages (yes, really), computation theory, logic programming/AI, etc. Depending on your work experience, you'd possibly know most of operating systems and algorithms, but you'd probably still benefit from taking these classes. Finally, there is usually a great deal of math required by CS curricula, which, if you're a normal person who hasn't studied calc or linear algebra recently, you're just not going to know it.

I'm making a lot of assumptions here (e.g. your tech school focused on how to be a software engineer, not a computer scientist), but my feeling is you would struggle to keep up in a quality graduate program without spending at least some time on the undergrad work. Feel free to respond to my points if you think I'm mistaken — I don't mean to be disparaging, just trying to be realistic.
posted by knave at 8:01 PM on March 13, 2009 [1 favorite]


Waterloo has been known to make exceptions for exceptional people. I don't know how exceptional you think you are but you're kicking butt from where I stand. YMMV.
posted by christhelongtimelurker at 8:37 PM on March 13, 2009


Response by poster: aroberge,
you're right. CS, in the sense that it is the Science of Computation, is not exactly my professional background. I'm pretty competent with algorithms and formal logic, though my math skills are rusty from under use. I'll investigate software engineering, perhaps it's a better fit. (Heck, it appears I'm too far removed from Academia to even know what related disciplines are even available.)

jeb,
you hit the nail on the head with that bit about the pseudoacademic nature of the software profession. I think that's causing a lot of my confusion when considering the education possibilities.


On preview, knave, see my response to aroberge above. You're both right about the math bit. It would probably kill me. Thanks for being realistic, it's those kind of responses that are helping me think critically about this.
posted by C.Batt at 8:38 PM on March 13, 2009


I have experience in the industry on the HR/management side, and interfacing with academics in the software space.

I would say you have a very good chance of qualifying for a Masters degree program in Canada. You're a friggin' architect, for goodness sakes, and anyone in the industry will tell you that Comp Sci undegrad degrees are, if not useless, no better than someone like you picking up skills as a developer on the job.

So don't be afraid to shoot for a Masters program, because you are definitely operating and producing at a Masters level.

The question is, why do you want to get a Master's degree? How will this help you in your career? If you can believe it, software companies, at least in smaller and mid-size markets in Canada, prefer to hire folks with a two/three year diploma, or a B Comp Sci.

Folks with a Masters are more difficult to employ, because they don't have a pragmatic approach to developing.

Folks with a PhD in software engineering are rarely if ever hired by SMEs, at least where I'm from. Too much baggage.

So, I would choose your school based on what you want to achieve. Athabaska has a good rep. Phoenix is... is it even a real school?

If you're in Canada, you're going to want to go to the University of Waterloo if you want to study Comp Sci.

But getting a Masters degree just to prove yourself seems like a bit of a waste of time and money. You're already a valued member of your company.

And there are plenty of companies where I am that would hire you. Just shoot me a MeMail.
posted by KokuRyu at 8:43 PM on March 13, 2009


I second Waterloo. A friend of mine is a CS prof there, and I know that he sees a lot of value in the kind of experience that you have, and that he is advocating for the master's program there to not only accept but seek out people who have developed their CS knowledge through other avenues than formal education. However, there and at any masters program, it's going to depend a lot on "fit". What aspects of CS you are interested in, what kind of project you want to do, and how that matches with the profs that want to take on students with your background. Contacting not just departments but individual professors whose research interests look pertinent to yours is an important first step.

I'll contact my friend and see if I can pass along anymore details to you.
posted by carmen at 12:26 AM on March 14, 2009


Folks with a Masters are more difficult to employ, because they don't have a pragmatic approach to developing.

Wh… huh?
posted by Civil_Disobedient at 5:35 AM on March 14, 2009


Response by poster: Well I think I've found my answer. The University of Waterloo (thanks to all of you who suggested it) appears to have a program designed for people like me. It took a tiny bit of digging to find it, but it's called: Master of Applied Science (MASc) - Software Engineering (ConGESE). I'm definitely going to consider this option, even though one must be able to take courses in the Waterloo/Toronto area (I'm currently in Edmonton).

Carmen, perhaps your professor friend can shed some light on that program? If not, no worries.

Thanks to you all for your suggestions, and kind words. I didn't think I was in need to a confidence boost, but this thread provided one.
posted by C.Batt at 12:28 PM on March 14, 2009


Response by poster: "...to a confidence boost..." ? Seriously, wtf was I thinking right there and how did I miss that?

to = of

:-)
posted by C.Batt at 12:29 PM on March 14, 2009


What sort of software work experience brings in "formal logic"? Its application in CS is specific: proving programs correct and so on. This is kinda helpful when you take a compilers implementation course and are asked to prove that your optimizer terminates. Or when you want to demonstrate that your multithreaded application is deadlock free.

There have been some efforts to broaden the CS curriculum beyond Systems, Analysis (proofs of correctness and runtime) and AI, but they're mainly focused at undergrad.

One avenue that's being missed here is deficiency courses. At least at my alma mater, people were admitted to a Master's program from various backgrounds, but assigned some undergrad courses as deficiencies. However, I don't know if they'd admit anyone without at least Bachelor's.

The Software Engineering program might take you though.
posted by pwnguin at 2:00 PM on March 14, 2009


University of Lethbridge does a post-diploma Bachelor of Management, and they would probably accept your 2 year diploma. I got a Computer Systems diploma from Nait, did the UofL degree (20 courses), and am now shopping around for a masters (probably an MBA). The Bachelor of Management degree opened a lot of doors for me, and helped my career out a ton (I've got 8 years of .NET, but got stuck at "senior developer"). Once you've got an actual bachelors, it's pretty easy to get into any masters program you want.
posted by blue_beetle at 2:06 PM on March 14, 2009


« Older Where to hold a catered event in Rochester, NY?   |   How does one get accustomed to spicy food? Newer »
This thread is closed to new comments.