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.
Takes care of the gray.
Say dude frequently.
Don't let high-fives go hanging.
Keep up with the paris hilton and the new-fangled rock and/or roll music.
Don't use the urinal as the slow starting and stopping of your stream will give the secret away. And then you will experience the horror of the point along with the alien screeching and then the gig is up and they force you to have a retirement party with cake.
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.
You'll find you may be managing those same younger competitors. While you're at it, throw in some business management courses to help ensure you are positioned to mature in the industry.
If by awesome you mean tediously pandering to professors' subjective biases, then yes, always awesome.
I support the Slashcott and will not be reading or commenting from 2/10/14 to 2/17/14. Beta is steaming pile of dog shit
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.
You will not find it, because experience teaches us 'old farts' how to work around a problem. If you have no previous experience and are starting from scratch then it might be tricky, but if you have the skills don't worry about it. Social networking is your foot in the door.
"The price good men pay for indifference to public affairs is to be ruled by evil men." ~Plato (427-347 BC)
The key thing is to keep your skills up-to-date with whatever training and certification you can get once you have a degree. I had a roommate who did nothing to keep his skills up-to-date, took a six-month long unemployment vacation when he got laid off, and found out that no one wanted to hire him because his skill set was obsolete. He ended up fixing cash registers at Longs Drugs and still has no clue on how to restart his career because he won't listen to anyone.
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!
I went back to school when I was 31. I went to a trade school and graduated with an Associates when I was 33. I got a job for about 35k a year (midwest). I am now 41 and make 80k a year.
The main reason I did not get a four year degree is the same reason you are having concerns - at my age I felt I was too old. However, by being ambitious and working hard I feel I am doing as well as I would if I had a bachelors degree.
If IT is what you truly love, then learning on your own is what will drive your career. The degree just gets you your first job. After that it is experience that matters most. There is no job I could not get now even though I don't have a bachelors.
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
After being out of programming for 25 years (I was and am a lawyer) I went back and earned a MS in computer engineering at age 57. Now I am out of the lawyer work 3,000 hours a year rat race. I now make a decent living consulting and managing a number of small systems while working less than half as much. Breadth of experience, business skills and people skills are all essential additions (but not a substitute for) programming competence, all of which comes with age. Don't analyze this to death, just do it.
My father made this observation:
"Old doctors and old lawyers are like old wines. Old engineers are like old fish fillets."
There probably is some outright age-ism out there, although I haven't had it smack me in the face yet.
But I suspect that what is much more common is a desire for the latest shiny technologies. When I went to school, Java hadn't been invented yet, and most of my classes were taught in Pascal. The colleges now are presumably teaching the new cool stuff. So, while you will be 35, you will be 35 with a fresh degree.
As I would advise any college student considering a computer career, I recommend you do projects on the side as much as you can. Find an open-source project, learn your way around it, contribute a few lines of code. Figure out what your college isn't teaching you, and study it on your own. For example, if your school teaches only Java and you don't get any assembly language or C programming, study that on your own. Joel (who writes Joel on Software) says he won't hire anyone who doesn't know how to work with pointers; he may be an extreme case, but knowing pointers can only help you.
Study the want ads now, and try to figure out what the employers are looking for; make sure you are learning it. But you can't learn everything... I don't have any Visual Basic experience, and I was never interested in the jobs that require it. So I guess what I'm saying is, try to figure out an area you would like to be qualified for, and get the skills for it.
I highly recommend you study Python; a good book that walks you through the whole language will expose you to some cool stuff. Other people would urge you to study LISP; that will stretch your mind a bit. (When I was playing with LISP, I used the book The Little Schemer, and the DrScheme environment to run my code.)
The point of the last few paragraphs is to make you stand out a bit when you have your degree. You won't just be a 35-year-old with a fresh degree, you'll also be able to write cool Python scripts, juggle C pointers, maybe write mind-stretching LISP functions. I believe those sort of extras will help someone decide to hire you.
If you have to work full time and support a family while going to school nights, this is going to be hard. I have a friend doing this right now, and sometimes he does his homework from midnight to 4am, then gets up and goes to work. He's doing it and he's probably ten years older than you, so I'm sure you can do it too.
The good news is that if you are really right for a computer software career, and it is right for you, you will actually enjoy a lot of your work. Building software projects and watching them actually start to work is a special pleasure.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
I'm 61, and last year found myself in an environment of people in their mid 20's and younger. They didn't have clue 1. They were good programmers, some of them were genius level, but their social skills and teamwork sucked big time. Furthermore, they were all into "agile" programming. The lack of planning on the project caused massive support problems. (This may have been OK in the early iterations of the product, but it was starting to show up as a major tech support problem. Once they shipped a product that didn't even work because they hadn't tested it thoroughly.) What drove me away was the lack of a plan and a clear set of performance standards. I never really knew what I was hired for, and I had no way of knowing how well I was doing, but I had a strong sense of "not fitting in" and falling below expectations (even though nobody stated the expectations).
Somewhere it occurred to me that these guys took for granted the elemental programming concepts that my generation had to invent on-the-fly back in the 60's and 70's. None of them could do assembly, none of them knew how to manage a decision table, and the idea of a formal systems analysis was foreign to them. My computer game was chess (which I've had to take off all my systems in order to get work done), and these guys think a "game" is WoW.
I suggest you decide what you want. To me, CS is designing the hardware and structure. CIS is designing the administration and apps that make the structure work, and MIS is is the design and apps that produce tangible results, especially for a specific end-user. These definitions don't necessarily match up with what the colleges are teaching under those names. In my experience, MIS environments have a little more respect for age and experience, CS has a high regard for innovation and results.
Good luck.
"The mind works quicker than you think!"
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 am in my 50s and am making twice the average salary in my discipline as a DBA. My goal this year is to move to triple.
Going to school will give you a piece of paper. So will getting a certification. No big deal. Rote memorization of the answers without comprhension of why the answers are correct will get you a piece of paper.
You need to ask yourself two questions:
If you are not working on improving your skills, knowledge, expanding your experience every day; then you will be a low end guy no matter what paper you have. The paper may be a key to enter a new career, but what you can do when you enter the door sets your salary.
Education is a life long process, not milestone.
If you are in your thirties and have not discovered how to teach yourself anything you need to learn, then all the schooling you have taken to date is a waste of your time, as well as any future schooling. You will always be surrounded by people making more than you doing the interesting work.
When I was young, I had to rub sticks together to compute.
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 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.
School is just another investment.
Yes and no. If all you care about is more money, I have news for you: people like me are going to beat your at your job every time. You don't care about that part because you're just in it for the money, but hey, we'll probably beat you at the pay part, too. We do better work because we like our work.
People have hobbies. Some people like to fish. Some like muscle cars. Others like to spend their time in bars shooting the shit. Me? I like to change my perception about the world. Try it sometime. For me, school is a worthwhile pasttime in itself, because I enjoy computer science.
Since you are still in school, it is impossible for you to even venture a guess if the time has paid off.
I received my first Bachelors nearly a decade ago. I worked in my field for awhile but decided that it wasn't for me after all, and I decided to pursue a career in computers instead. I went on a long hike and when I came back, I changed jobs.
After I started school, my employer changed my role pretty dramatically, because I was a much more capable employee. I was promoted twice in two years, and I make significantly more than I did when I started. I even have my own staff now. But, you know, whatever. Don't let a lack of information stop you from talking shit.
I am 21 years old and just finishing up my computer science degree. I was at a job interview the other day and companies are definitely looking for 20 somethings coming right out of college. One of my interviewers told me specifically that the company was looking to hire younger people because unlike the older generations, we have grown up amidst all of the technology and with the internet. He said this makes younger people branch out more and be more creative/take risks and try something new.
While I am not necessarily in agreement with him, it sounds like for those of us 20 somethings coming out of college with a CS degree, we should have no problem finding a job. However, who wants to work in a company that you know is hiring a lot based on age. That does not correlate very well to job security.
I think you have the wrong impression of what art is.
Programming is somewhere at the intersection of engineering and art, and engineering itself is an art to begin with. Sure, first and foremost your code needs to work, but it can work and be like a Rube Goldberg machine or it can work and be a piece of logical beauty, i.e. art.
Bitten Apples are still better than dirty Windows...
Even obama said that 10yrs from now most of the high paying jobs will require at least a 4 yr degree, and even higher paying jobs like in engineering and sciences will requires 4yrs+. I think the president should have a very high level view which most of us cannot possibly have, which means there should be some merit to what he said. Go for it dude, you will be 35 anyway, why not get a degree along the way?
You say that you "wasted your twenties". I think this will be more of a struggle than your age in the hiring process, especially for entry-level positions. Potential employers will wonder what type of person "wastes their twenties" and ask themselves if they want to hire that sort of person. You need to have an explanation for the past decade which puts you in positive light, even if the circumstances are bad. However, once you do manage to squeeze yourself into a career and have some solid, relevant experience, you can get that all past you.
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.
On the other hand, if you're not already programming, you're wasting your time. Programmers are (mostly) like writers or artists. You can't help it. You get sucked into it even if you fight it. If you didn't get sucked into it, you'll be a crappy programmer when you get out of college no matter how good an education you get, because you've already proven that you're not, at core, a programmer. You were handed the test and you failed. LUCKY YOU, REALLY.
The first computer company I worked in was unusual. I hadn't gotten my degree at that point. The boss liked to hire straight out of high school and pay minimum wage. It was an almost exactly 50-50 split between men and women. Small company of about 20 people. The guys were typical computer guys. Loved tech, pizza and coke. The girls were mostly in their early 20s. Some were married, others weren't. Only one had a child. The girls had no interest in technology beyond the job itself. At this stage I was far from being a good programmer. I had a lot of learning and to be honest a bit of growing up to do. I was 18 and had just been through a shitstorm in my personal life (and dropped out of a Uni degree I was hating).
Guess who were the better programmers at the company. The girls. The ones with no interest in computers outside of work. They were REALLY good programmers. Solid, dependable. I haven't worked with better or more dedicated since. Mow there were more knowledgeable people out there - these girls didn't know any compiler theory. However for the business apps they were programming their knowledge and skill was rock solid.
It's a compelling myth that you have to LOVE your work to be good at it. It's just not true. In fact my advice is to expect that there's a good chance you'll burn your passion out in whatever you do in a few years. That's what can happen if you do something - anything - for many many hours and many many years, especially when you don't get to choose exactly what you're doing. If you love it, it might make a good career. Then again if you really REALLY love it you might not want to risk it, and may prefer to keep it a hobby.
These posts express my own personal views, not those of my employer
What if programming is what he actually wants to do? Some people actually choose a profession because they want to do it, not because it has the highest yield of dollars per effort. And some people don't get an opportunity to actually pursue such a career until a little later in life. Sometimes it's our own fault for mistakes that we didn't know we were making at the time. And sometimes it's just a matter of life happening and adjusting our priorities for us.
My God! It's full of eval()'s.
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
It is otiose to buy into the debate about exactly what age the brain starts to decline. What is important is one's ability to function as a useful part of an organisation, and maturity has a large part to play in this.
I know plenty of people in their 20s who are more academically gifted and mentally brilliant than my 46-year-old self, but this doesn't necessarily count for much when one sees them running around in circles without any real focus.
A stupidly simple case in point: just today, I and a younger colleague needed to get a quickie questionnaire out for a project we're working on. It took several attempts to convince my colleague that there was no point adding useless data on respondents' age and other matters, since (a) these things made no difference to us, and (b) there is no point collecting data on something you can't use.
You might find it less fashionable to parrot this idea of the brain declining at 27 when you pass that age and have to watch the young sprouts making fools of themselves and you.
...you have to know your own limitations and ignorance. I have a lot of both...
...I have always been of opinion that a man who desires to get married should know either everything or nothing. Which do you know?
For the entertainment of the Slashbots, this brings to mind an apposite quote from The importance of being Earnest:
Lady Bracknell.
Jack. [After some hesitation.] I know nothing, Lady Bracknell.
Lady Bracknell. I am pleased to hear it. I do not approve of anything that tampers with natural ignorance. Ignorance is like a delicate exotic fruit; touch it and the bloom is gone.
I think the answer explains why so much of the world's software is such crap.
A degree is great and all to get you into an interview but tech geeks judge each other on two things... how smart you are, and what you know. So if you come out of your 4 year degree comfortable with visual studio, fully versed in .net, C++, C#, XML and related technologies, AJAX, SQL knowledge and whatever else pops up between now and then.
Most of all you must know how to apply your programming knowledge to solving problems presented to you. This will require a thorough top to bottom understanding of computers and how they are actually used.
I'm almost 35, I have no degree but I've been working in the industry for 15 years.