Posted
by
timothyon Tuesday March 25, 2014 @01:52PM
from the assume-the-identity-of-a-current-holder dept.

First time accepted submitter AnOminusCowHerd (3399855) writes "I have an Associates degree in programming and systems analysis, and over a decade of experience in the field. I work primarily as a contractor, so I'm finding a new job/contract every year or two. And every year, it gets harder to convince potential employers/clients that 10-12 years of hands-on experience doing what they need done, trumps an additional 2 years of general IT education.

So, I'd like to get a Bachelor's degree (preferably IT-related, ideally CS, accredited of course). If I can actually learn something interesting and useful in the process, that would be a perk, but mainly, I just want a BSCS to add to my resume. I would gladly consider something like the new GA Tech MOOC-based MSCS degree program — in fact, I applied there, and was turned down. After the initial offering, they rewrote the admissions requirements to spell out the fact that only people with a completed 4-year degree would be considered, work experience notwithstanding."

Hi, I want to pretend that I've done a bunch of academic learning, because I feel that I have the right to the title because I have some experience.

Hint: Bachelors degrees are different from experience. Experience is valuable, but it's not the same thing as academic learning, in the same way as academic learning is valuable, but not the same thing as experience. If you want a bachelor's degree... go and do one.

But not wasting your time... I'm all for a solid CS education and I'd give brownie points for it. But if it bugs you to study what you think you already know, then don't. I really can't imagine that a BS in CS is going to impress most hiring managers more than your dozen years of experience plus some other 4 year degree. So get the 4 year degree in something else quantitative in which you have interest. Physics, statistics, math, chemistry, etc. Take your time, and enjoy learning something outside of your normal field.

Not all options actually hug the tradeoff curve(well, in three variables, I suppose it's some sort of surface; but same idea) all that closely (if at all), so it's still a partially legitimate question... (Which state school is basically north of 10k/yr for beer pong and date rape and which one is an affordable and decent college? Is that ad for SOMEBODY TECHNICAL INSTITUTE a total scam? How much of the expense of a traditional campus can I skip without ending up in a 'MOOC' that might as well just be watching a couple of youtube videos, only more expensive?).

That said, I'd be...a trifle nervous... about anyone who "eh, just wants to get a fast, cheap, CS degree, y'know?". Unless you have purely mercenary motives(and a fairly solid estimate of how much more you could be earning if you had one from a school of a given caliber, in which case crunch the cost of going to school, opportunity and direct, compare to expected increased future earnings, and go on your value-rational-homo-economicus way...), you don't get a CS degree, definitely not a CS degree that you wouldn't be ashamed of, just for the CV.

If you are already a programmer, you know enough about CS-like things that 'CS for enrounding you as a person and enrichment' will be irrelevant, so you have two choices: Do you want to take actual, big-kid, CS for people who want a better grasp of a deeply hairy area of mathematics? Or would you be better off skipping that and focusing on software engineering/development related skills that will make your practical-applied-programming more solid, more maintainable, generally better on the logistics side?

Hard math just seems like a bad place for dabblers: If you just skate, you'll be wasted on anybody who just wants a coder, now(since they don't care about your fancy theoretical education, just your work experience); and equally wasted on anybody who wants to pick your brain, see how you think; because faking knowledge of hard subjects is hard.

Get a degree in Electrical Engineering from your nearest State University, filling all your elective credits with Computer Science courses.

Gets you access to all those "4 year degree" tech jobs, plus a whole slew of other tech jobs that you didn't know existed. That's what I did because I didn't want to pigeonhole myself into a field that is rife with bubbles and outsourcing. Worse case scenario, if at some point I can't find work writing code, I can try to get a job with the power company, a telco, etc.

I have met a number of people who are rock solid programmers and have a deep understanding of technologies. People who can program device drivers in their sleep and have implemented a godawful number of systems over the years. People who have licked networking or embedded systems or whatever (take your pick).

Naturally, they assume that CS is the same as IT, and enter CS programs to get a degree.

And then, I have seen them fail miserably as they realize that programming does not equal discrete math, graph theory, or computational complexity. Usually, it's been a while since they've been out of school, so even simple things like Graphics 101 with vector math and basic physics isn't quite a cakewalk. Plus, I have found that they are quite limited by their own experience and biases (mostly because they've had a lifetime to learn bad habits) and find it quite hard to reconcile real world experience with the academia.

You can especially see this with older, more experienced folks in a class teaching, say, Operating Systems, Architecture, Data Structures, or Compiler Design. And it is not necessarily their fault -- their real world experience sometimes does contradict what's recommended in the "ivory tower" world. Networking is often quite the opposite, though -- it is one of those fields where real world experience proves valuable, and the experienced folks learn a little something about the math behind network routing and such.

Honestly, whenever I see someone with experience wanting to study CS, I just recommend that they get a degree in something like MIS simply because it is a way for you to move up, and it is a lot easier -- handing computer science at a later stage in your life is usually significantly harder unless you've been keeping yourself mentally challenged in math and related subjects. You are in a very different place mentally in your early 30s than you are in your late teens.