With a Computer Science Degree, an Old Man At 35?
GrApHiX42 writes "I pissed away my 20s and now I want to go to school and get a bachelor's degree in computer science. The thing is, I'll be 35 when I get out of school, and I've read on numerous sites that there seems to be some ageism going on in the IT industry when it comes to older geeks. What have some of the 'older' Slashdot readers experienced as far as being replaced or just plain not getting hired because IT is a 'young man's game'?"
To paraphrase what someone once told me, in four years (more or less), you're going to be 35 anyway. There's not a damn thing you can do about that, except die. if you don't go to school and get your bachelor's degree, then will it be any easier for you if you're an "old man" without a CS degree?
If you don't have a degree at all, then jump through the hoops and get one. My personal experience is that my salary almost doubled literally the day after I got my CS degree. If you do have one but not in computer science, then I'd suggest that you might be better off pursuing certifications relevant to the field you're working in.
If you're not currently in a computer-related field and you're asking if you should get the degree and go into it in an entry-level position, that's your call. You'll probably need that degree to break in, even at 35. If it's worth starting over from scratch, go for it.
Fortunately, I got hired by the company I'm currently at when I was 27. Unfortunately, they're going through the RFP process to outsource all of our jobs. If I'm lucky, I'll be spared. If I'm not, I'll be working as a contracter doing the same job I'm doing now. If I'm really shit outta luck, I'll be a 37-year-old in the job market in the worst economy I've ever known. It won't be easy, but at least I do have my CS degree to help me stand out from, with all due respect, people like you who don't. I don't mean to be cruel, but if it means the difference between whether or not I'm eating cat food, I'll use every advantage I can to beat you out in the aforementioned job market, including the fact that I have a CS degree.
So knowing only what you've asked in your question, my advice is that yes, it is worthwhile having the piece of paper.
but I've seen the opposite when it comes to age and programmers.
People have grown tired of these "young whippersnappers" fresh outa college with their executable UML and agile methodologies.
Where I am experience is huge.. especially just plain familiarity with software in the real world and not some acedemic fantasy land. Someone in their 50's with 30 years of dev experience is pure gold .. and companies will fight tooth and nail to recruit the old veterans... assuming they arn't off "consulting" for serious money.
Now obviously this doesn't apply in your case.. it's the experience not the age employers are looking at.. but I can't see a company turning you down based on age.. unless you're in your 50's and/or only plan on working for a few more years. Even though you may not have any programming background.. you are probably going to have more social and team skills then most people coming out of school. Just the ability to communicate ideas is massive... and a skill that just doesn't seem to be taught any more.
I think I'll make tacos for dinner tonight.. havn't had them in a while.
And I need to get my hair cut this weekend.. starting to look like a hippy.
How long do you plan on staying in the field? Much do you think you're going to gain per year from having it?
Personally, I'm 36 and I plan on working until I'm around 70. It might sound dismal but I'm guessing 70 will be retirement age when I get up there. That's nearly 35 years in the field. How much would I have to get paid extra in those years to make it worth my time? Not very much. That's the same reason I wonder why so many scoff at certifications.... for the couple hundred dollars most base certification cost you're going to make that back so fast as an entry level geek. It sounds cheesy but it's a little bit extra you can put down on a resume that will help you get up the ladder a bit faster. It's worth it.
Dedicated Cthulhu Cultist since 4523 BC.
Do you have confidence in your ability to learn? Will you stick to a four year commitment? You need to answer both of those questions honestly before you head down this road.
The other question is "what will your opportunities be like when you get out?" and that is going to depend in part on what you do during these four years. You might consider trying to get into a company now that might need your skills later. It's sometimes* easier to move around from within a company than to get your foot in the door.
* Guarantee not included.
John
there will be naysayers. You could listen to them forever and be paralyzed and always do nothing.
So there are rules of thumb. There are always exceptions, work on being an exception. The shelves of libraries are littered with biographies of successful people, almost none of them achieved it "by the book" or had the ideal life, pedigree, grades, what not.
Perhaps something like Napoleon Hill's Lessons of Success may be an inspiring read, although if you understand "I think I can" story, it gets you as much content.
Look at it this way: you'll only be 35. With 30 more years to retirement ON AN OPTIMISTIC note, assuming SS hasn't forced everyone to work till their 70th birthday.
Do what you want. Invest the hours to get good at it and stop having regrets. Having read numerous times about how it takes 10,000 hours to get world class great at something, I'm more convinced now that many of the great people are the ones that started young are because they're the ones without responsibilities and have the time. Not their youth alone. So it isn't too late, just start it and stick with it.
It depends on who you work for. In many shops, it's become increasing clear that you don't want to hire anyone under 35 or so, though without the experience you'd be right there with the kids.
The sad truth of it is many of the grads for the last 15 years are junk. Not as people - fortunately, the career still attracts a great crowd - but the curriculums now create people who think that the compiler, the runtime, and the OS are a black box. They rather literally think in terms of South Park's gnomes .. Step 1) write code, Step 3) Profit! And that mindless dependence creates people who have no idea how or why their code works or more often doesn't.
That's fine for school, but you can't ship a product writing code like that, which means we've turned out a legion of coders who are fit for writing reports for accounting instead of firmware for an engine controller or a new comm protocol. And even then, that only works because the penalty for failure in accounting reports is so low. On any meaningful project, assigning work to this generation is like building in bugs, bugs that take a loooong time to fix because the team simply doesn't understand what the machine really does.
Not to worry, there are still plenty of businesses that basically have no idea of how the software sausage is made and will merrily hire anyone with a degree, but in businesses with more experience [and more on the line] it's more the exact opposite is true. They only want the previous generation of coders, and use CS grads for tech support, or if they're lucky, to apprentice.
Not to mention extremely expensive with little real pay off.
Colleges have become diploma mills... where you go so you can get Real Good Jobs (R) in the future.
They are becoming less and less the places where new ideas are born and old ideas are challenged.
Mod me down, my New Earth Global Warmingist friends!
If you are older, people will expect you to be experienced and thus fulfill a more architectural or managerial role.
He's likely to get a managerial role relatively quickly anyway. Unless he spent the last ten years in a coma, he should have more mature people skills. It's not something that you can easily shortcut.
-- Support a free market in the field of government
Not to mention extremely expensive with little real pay off.
Pure BS. I don't dispute that some schools aren't worth shit, but I'm now working on my second Bachelor's, in Computer Science, just like the poster, and I wouldn't trade it for anything. I'll be graduating pretty soon.
Here's the thing I noticed the first time around, as a Philosophy major. Take your average community college, and, say Harvard. Have a look at your typical philosophy class. Say, Critique of Pure Reason, or Platonic dialogs. Same. Fucking. Books. So what sets them apart? Well, it _should_ be the quality of the professor, right?
But this gap isn't as big as you'd think. Assuming you get a PhD teaching your class, you've got someone who point quite a lot of time into becoming an expert in that subject. Not to mention-- it's _your_ attitude that matters anyhow. Any sufficiently motivated student will have a good experience no matter who their professors are. I say this now having been through the classically horrible science-professor experience.
I've also supplemented my in-class experience by watching the CS lectures on MIT's OpenCourseWare. I would say that, in general, these guys are perhaps better computer scientists, but whether they are better teachers is in question. So this reinforces my opinion.
The bottom line is that you go back to school because you love the subject. If you think computers are cool, and you want to know more, go for it. Computer science has been the same mind-bending experience that my first degree was. This time I'm a bit more mature-- homework always gets done, and-- shit-- I'm paying for this degree out of my own pocket, so I'd better make the best of it. At work, my CS knowledge has greatly expanded my capabilities and my enjoyment of the job.
(currently trying not to piss my 20's away)
Misspending is what youth is for. The wine is never so sweet as it is upon the lips of youth.
Help stamp out iliturcy.
I disagree with your post almost in its entirety.
There are plenty of great actors, directors, writers, painters, etcetera, who didn't get involved in the profession they became famous for until later in life -- the most blatant example being Grandma Moses, who started painting after most of her generation was dead. Some people choose their young adult jobs because they need to make a living, or circumstance forces them, or because they simply never had exposure to something they later discover or it was the wrong type of exposure. There are so many reasons why someone can have a passion for something and not pursue it until later in life.
Even if I grant you that 10,000 hours is the right number, 10,000 hours is about 5 years of a full-time job. I will say that lines up pretty closely with my personal experience, as I switched to a CS major with two and a half years left (from math, from studio art) and felt extremely solid after my first three years on the job.
I've been hired and retained quite a few times because I have "more time in the chair". I've seen all sorts of stuff. Hell, my first networking mystery at work involved Novell 3.51 over ARCnet. I've actually run gopher servers. I've written java programs before the language even had regexes, and still have trouble with perl that uses OO stuff (and what was so wrong with chop() that we needed chomp()?). My first linux install came on 13 floppies. From all that to now I've come across an incredible amount of randomness that isn't easily searchable on Google. And all that adds up to a serious ace in the hole when things get really strange.
So when the young college grad new hire has questions like "full-on RDBMS or little serialized hash table" he gets not only the right answer but a why as to how come it was the right answer. And sometimes that answer doesn't use the latest newest shiniest thing, but he has to learn what that's a good thing. Sure, the kid wants to play with toys. But if the right tool for the job happens to be mundane, then that's what should be used. In a boiler room full of recent grads, you can get a really serious case of Techno Lord of the Flies. Old dudes can temper that (though some old dudes can go overboard in not embracing new things).
I wrote my first BASIC program well before the recent crop of college grads were born. I'm my early 40s and, yeah, I have a life. I wouldn't want to work at a company that would trade a widely diverse set of experiences for fresh-out-of-school book knowledge. Plus the social skills come into play. You know the old guy isn't likely to call in hung over on a Thursday.
The reason you hear all the talk about ageism is that college grads can get worked harder and longer for cheaper to do crappier work (until they burn out and snap). Us old guys know enough not to put up with that shit, and most employers know it too. But sometimes the balance sheet is what matters most. You shouldn't be working at that kind of place anyway. Keep your salary requirements modest and you'll be fine.
-B
Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.
I am a middle-aged guy myself, but that said:
Education is not a substitute for experience. Remember ISA cards, IRQ settings and COM 1,3 vs 2,4 problems, and how to work around it? Kids today don't. They depend on PnP to magically make it work. A lot of hiring monkeys don't get this but it is true. Show me any snort-nosed kid that can build a network using printer cables or old-school DOS hacks to get something to work in WindowsXP.
These are quite possibly the worst examples of experience you could have listed. Those skills are about as obsolete as making fire with a flint stone, starting a car engine with a hand crank, or feeding your program to a mainframe on punch cards. Which is to say: sure, there are specialty applications where this technology still might find some use. But overall, the reason why nobody cares is simply that the world has moved on.
True experience is not about mastery of some obsolete-but-cool-in-its-day technology, but the improved judgment that stems from being able to analyze situations and relate them to similar problems you have encountered in the past, which in turn helps you find a better solution.
I switched careers from air-fright driver/dispatcher to C++ programmer in my late 30's, on the strength of a two-semester community college certificate program that I never even finished. The key for me was enthusiasm. I had done some futzing around programming at home, and if you haven't been (or whatever equivalent aspect of IT you are interested in - make the appropriate substitution from here on), then you are barking up the wrong tree. One thing that will help you in early attempts at getting a job is expressing that you not only want the job, but you want to be doing programming. If you really want to do programming, then you already are. If you are a good enough actor to fake the enthusiasm, go to Hollywood, you don't need to waste your time as a code monkey.
My first job was an internship, for $8.00/hr while I drove a cab at night. It wasn't even a programming job, it was a data entry job. The data entry system sucked donkey balls, so I rewrote it to be fast enough to make up the lost time and still finish the project ahead of schedule. That looks good on the resume. If that's the kind of thing you can see yourself doing just because it is fun, or because you see crap and know you can do better, you will probably do well.
My current job I got partly on the strength of a recommendation from one of the young hotshots already working there. He had gone to the same community college at the same time as I did, and noticed me helping out others in the lab, and told the boss about it after my interview. Enthusiasm again.
So the first criteria is that you really want to do programming. If you don't, your age won't matter. If you do, your age won't matter... much. You'll have some explaining to do as to why you are starting so late if this is your "life's calling", but experience, skill, and enthusiasm will overcome those doubts.
This isn't a business for young hotshots and cowboy coders anymore, its all business, and there is big money on the line. Companies want people who will produce, and not just produce "beautiful" code, but code that will sell. At our age, we have one advantage over them young whippersnappers: we have experience at providing business value to those we work for. We have experience at gaining and using experience. What we lack in drama, we might just make up for it in consistency and reliability.
But don't expect it to be easy. The first few years will suck. The pay and the hours and the working conditions will suck. And unless you've already written some kind of take-the-world-by-storm software product in your spare time, your code will suck. You're starting from scratch no better, and no worse, than a kid fresh out of college, and your position at the bottom of every totem pole will be just like it is for those 20 year olds that don't have a mortgage and car payments and kids to feed.
Keep at it and use the experience you already have and the experience you'll gain every day. If this is what you really want to do, the thrill of learning and mastering a new skill will carry you through it. You'll have to prove yourself just like anyone starting from scratch does, but don't try to do it by out hot-shotting those kids, prove yourself by being reliable and professional. It is harder to break into this kind of business at a more advanced age, but most of the difficulties come from you yourself (we have different expectations, flexibilities, stamina, and abilities at 40 than we do at 20), not from predjudice on the part of those you'll be working for.
Insightful and funny are really the same thing, except one has a punch line.
We always have a team of individuals interviewing. But it helps that I wrote the book on the current hiring process. ;-)
(Ok, so it was a single document that acted as guidelines. But that's beside the point. :-P)
I have yet to see our team strongly divided on a candidate. Once we worked together to nail down a good interview process, we managed to separate the wheat from the chaff pretty quickly. To the point where there was no question over whether or not the person was competent or not. Either you can demonstrate an ability to handle coding and a very general sense of the technologies we use, or you can't.
Of particular interest is the Fizz Buzz test I throw at candidates. I don't care how long it takes them to get it right or if they have to ask questions. I try to make the candidate as comfortable as possible, then go through the problem with them. We sketch it out on a whiteboard and talk it out like a real design session. From that session, I can clearly see how the candidate works through problems. I can even reliably separate out what is nerves and what is a lack of capability.
It helps that Fizz Buzz has a few gotchas built-in that most people trip over. Tripping over those gotchas is not a bad thing. In fact, it reveals how the candidate attempts to create logically efficient code. I've seen a few different solutions, but I've never failed any given solution.
What doesn't sit well with me may surprise you. I don't like it when candidates attempt to obfuscate the code. Many will write in a pseudo-code that deliberately obscures the logic. This is often in an attempt to hide a lack of knowledge. Others have trouble correcting bugs. If I point out a bug (e.g. "You're off by one in your loop."), they'll go and screw up some other part of the program and STILL not fix the problem. Of course, the good candidates tend to spot the problem themselves as we step through the logic. I don't have to explicitly point it out. Finally, an unwillingness to try really tees me off. I'll happily answer all the questions they want. I'll even write large chunks of code for them. But when they manage absolutely nothing on their own, they're as good as useless. (You'd be amazed how many people survive by conning others into doing their work for them.)
No one of these points will disqualify a candidate. But given enough opportunity, the signs start adding up. Before you know it, you've got a pretty clear picture of basic competency.
Oh, and one other thing I hate: Don't lie to me. Don't tell me you've got strong experience in something when all you've done is stand near someone who used the technology. The truth will come out pretty quickly and will get you knocked off the roster post-haste. If a candidate comes up short but shows promise, I'll often recommend them for a more junior position. But not if they lie.
Getting back to my original point, if I felt really strongly about a particular candidate that no one else liked, I probably have enough credibility stored up to convince at least a trial period. But I've thankfully never been in that situation. It's usually clear if we should dump them or hire them. The worst I've ever seen was a candidate where there was a concern over the strength of a candidate's communication skills. We still hired him. :-)
Javascript + Nintendo DSi = DSiCade
Programming is not some mystical, magical skill, and I wouldn't call it all that creative a job either, and it's not one of the better paying jobs in IT.
People with a university degree in CS usually don't stay programmers for very long; you tend to go to university to get a more responsible (and higher paying) job.
The reason why it's mostly done by young people is because generally if you're still doing it for a living after 15 to 20 years, something probably went wrong in your career advancement.
Anyway, the OP didn't even mention programming but showed an interest in IT. In my experience, a 22 year old project manager, analyst or architect, even if they're quite talented, has more trouble getting taken seriously and getting people to listen to them than a 35 year old.
Ageism exists, yes. If an adult is still doing a kid's job, people wonder what went wrong. If a kid is doing an adult's job, they will have more trouble getting taken seriously.
Oh, and one other thing I hate: Don't lie to me. Don't tell me you've got strong experience in something when all you've done is stand near someone who used the technology.
Exactly, and bang-on about the communication thing. I'm just a piping designer, though, and nothing pisses me off more than having to babysit a poseur who can't admit s/he doesn't know something. To learn you have to know your own limitations and ignorance. I have a lot of both but I'm not afraid to admit my shortcomings.
Do you have any kind of logic or experience to support that statement?
"Hey, I really love programming, and I've been doing it for a few years now.. guess it's time to switch to something I don't enjoy, like project management!"
I work in an environment with several people who are in their late 60s-70s. Some of them have told me stories about the days of punch cards and having to buy expensive processing time on mainframes (One great story was about an infinite loop that cost the programmer's company $10k in mainframe processing time). I will readily admit these older developers are not as quick as the younger ones. These seniors also have a great deal of frustration dealing with relatively new concepts. For example, I'm working with one on a project right now who is pulling his hair out trying to understand object-oriented programming. But you know what? Every one of these seniors is indispensible to our organization. One of them works 60-hour work-weeks because no one else in the organization has been able to rise to the task of learning everything he knows in his 40+ years of IT. Just remember that when you go into Computer Science, you are going into it for life. Everything in IT changes every five years, and you must assume the responsibility for lifelong learning. Plus it sounds like you have one big advantage over all the younger CS graduates: you know how much you don't know. : )
i ~ Celebrating Science, Cyberspace, Speculation