Posted
by
timothy
on Thursday March 26, 2009 @09:35PM
from the logan's-run-time dept.

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.

Great, great, response. I know the poster is not asking whether or not he/she should do it, and I'm not really an "older" reader (currently trying not to piss my 20's away), but perhaps they'll find this useful as well.

You have a blessing in front of you in having a strong desire to do something, namely, to go to school and get your CS degree. If that's what you are passionate about right now then you need to take advantage of that energy and do it, because you'll make the most effective use of your effort by doing so. I am at a top CS program and many of my classmates are so-called "non-traditional" (read: have more life experience than your average student) students, and not only are they often the ones setting the curve, they ask the best questions, they are motivated, they take advantage of the opportunities available to them better than most, and all in all they enrich the quality of our program.

Some advice I might offer as a young student. Most of my friends who are older students tend to be a bit disconnected from the rest of the University. Don't make that mistake: as much as you might think so, you're not a graduate student, even if you're the same age as them, and your academic life does not only revolve around your department. At the very least, you'll have to fill gen ed requirements. More importantly, as an undergraduate, the university has resources that can be very helpful and enriching to your education. Make friends with some (highly motivated) younger students (even outside your dept) who tend to be more aware of these things and can help you get more connected.

You should be focused on your objective. But undergraduate college years are an excellent time to take some risks and go different directions than you may have previously seen yourself going. Do that: universities are breeding grounds for opportunity, and you might be surprised at what doors you might open for yourself by trying something new.

Speaking as someone who interviews candidates at a technology company, I can tell you we don't give a damn how old someone is if they're good at the job. Make sure you take on large projects and/or internships during school so you have usable experience once you get out and you'll be fine.

Actually, it's a decent natural filter, any company that wouldn't hire you for such a reason is one you don't want to work for anyways.

For starters, in most states that would be illegal.

On top of that, most companies eager to hire younger workers over others do so because younger workers are (a) cheaper and (b) easier to overwork. It's not because they're smarter, or because they're better at coding, or anything like that.

Note that this study isn't undisputed. Also, it was made with today's population, which is not a good sample (thats one of the reasons for the dispute). Basically, people who are in their 20s today often learned much longer and much more than older generations, which had this attitude of learning one job ONCE and then never anything else again. I wouldn't be surprised to see vastly different results of such a study in, say, 20 years.

Other studies also showed that while younger minds are faster, they also make more errors than older ones. This is likely to go hand in hand with experience.

I'm not denying the decline, but I am arguing its actual impact. It certainly is NOT a good discrimination for IT. IT has several fundamental patterns, mechanisms, etc. learn them well, and you will recognize them almost everywhere. Once you managed to do that, learning new technologies and understanding them becomes significantly easier. Learning the patterns should be done at a young age, but recognizing and applying them, well, this is something anybody at any age could do, and this is the really important bit in operative IT.

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'm going to have to call bullshit on this statement. The only things that change every 5 years is the popular programming languages or methods, and the amount of computing resources available. As far as software engineering concepts go, there really hasn't been anything new in about 20 years.

The relational data model is still valid, requirements analysis (now often called "test first" or TDD[sic]) is still the thing to do first, and peer review is still the best way to reduce defects.

Note that this study isn't undisputed. Also, it was made with today's population, which is not a good sample (thats one of the reasons for the dispute). Basically, people who are in their 20s today often learned much longer and much more than older generations, which had this attitude of learning one job ONCE and then never anything else again. I wouldn't be surprised to see vastly different results of such a study in, say, 20 years.

I agree with your skepticism on this study. It was a 7 year study but it doesn't appear to be following individuals over 7 years, just testing groups over the course of those 7 years. There are also a multitude of other factors that could play a part in the results, like if they just graduated college and thus have a broader knowledge base and increased test taking skill.

Most importantly it says nothing of the magnitude of decline or gain in any areas. Starting point is also a relevant piece of information. For example, maybe I start at a cognitive agility rating of 140 and decline 1% from age 22 to age 37, big deal.

I'd put a lot more weight to it if they studied individuals over the course of 20 years from age 18 to age 38. Also putting control factors in such as profession, mental exercises they perform and diet.

The study is interesting and opens the door for more research, but it really doesn't tell us anything.

And to the OP, although I'm in my 20's, the average developer age where I work is mid to late 40's. You might have some bias for younger people at like gaming companies, because they work them like slaves and newcomers are willing to do it, but experience and working with others are the most important things, just like every other engineering profession.

I'm a late 30-something studying CS and moving more and more into math. probably headed to grad school for some combination of math/cs with any eye towards category and type theory work.

Definitely the younger kids are quick, but they lack depth. I work with some really bright young kids in my math classes and it's great to work with them, but sometimes you have to hit them with the clue bat to get them to see the broader implications. I don't see any of them sitting around just thinking about math, for example, and working out how to apply some newly learned technique to some other problem. Note that I'm speaking in generalities. I know there are some that do....

I've had a couple of internship interviews, though, and it's definitely a little awkward. You have to answer questions like "Why are you making this change in your life?" It's not always so easy to explain and I think they don't believe you when you say something like (the truth) "it's what I should have been doing all along and I've only just now realized it."

For myself, I accept that I'm doing this for my own good, because I love it. If some monetary reward, in the form of a job, comes of it at some point, then great. I'm looking at learning what I want to learn, through grad school and maybe beyond, and trying to get into research and possibly teaching. If I never get a job banging out code, that's okay with me. I already do that in my spare time for open source projects, so I don't necessarily feel this drive to prove it with a job.

As AC said above, I too, heartily recommend going back to school. School as an adult (and face it, once you get to my age you realize how young 20-somethings aren't adults yet, though there are exceptions) is vastly different than as a younger person. It is also definitely the best thing I've ever done for myself, after marrying my gal;)

Which is where a company like Google that appears to take very little account of actual experience over geeky quizzes looses out. They can't package up a standard procedure to evaluating experience so they tend to largely leave it out of their recruitment process.

Which I think is stupid, since the skills that make you a successful real-world developer are quite different from the skills that get you straight-As in college.

Heck, your whole mentality when working on a real-world project is quite different from a school project. In a school project, its 2 weeks of trying to understand and clarify what the prof actually wants you to do, and 3 days of hacking together some minimal pile of garbage that just barely does it. In the real world, you actually care about overall architecture, design, methodologies for coordinating a team, maintainability, testability, etc.

Right. In the real world, it's 2 months of trying to understand what the customer actually wants you to do, and 3 weeks of hacking together some minimal pile of garbage that just barely does it, then you iterate this process several times.

... or just wait until you're in your 50s - by then, you have enough experience that you don't have to participate in the "pissing contests" that younger applicants do, you have a lot more soft skills (you HAVE been working on them, right?) so that you know that most problems are people problems, not technical problems, and you know how to work towards resolving these issues, and you have "been there, done that" so much that something like learning yet another language is no big deal - you learn it, plus you bring all the idioms for solving problems from other languages to bear. You also no longer fear "death march" projects, since you've survived enough of them.

Unless they're just looking for a warm body to do some stuff pretty much by rote, in which case, the question isn't "are you sharp enough", but "are you stupid and boring enough not to leave for something more interesting in a few months?"

>you HAVE been working on them, right?)
C# when it came out. In the last 2 years, Oracle, IBM MQ, HTML/CSS and now PHP. Built a CMS system for a web site 'for fun';-)
Probably going to tackle Java next, bit of a shortage at work.

I'll just add a little here as someone who has interviewed a lot of people for Net Admin jobs in the past few years.

For us, a huge missing factor on the younger applicants is, quite simply, maturity. The advantage older applicants have on this front can't be overstated.

Kids have a tendency to engage in "guerrilla maintenance" as we call it here. Just reboot it and see if it comes back up without considering if doing so will take down production.

Kids also have a tendency to not see the bigger picture of how IT fits into the rest of the company. You have to box them in with ITIL processes to keep them from doing dumb things.

Kids also are also not very good at leadership situations in dealing with others.

Those are just the disadvantages the question poster might use to his advantage. It isn't always true (I've got a 25 year old on my team that has broken all the above descriptions, although he was a student of mine some years ago:))

I'm sure someone else will post all the disadvantages you face as being older, and the advantages of being younger. Read them and consider them in how you will minimize them when looking for a job and working it once you've got it. Although the biggest disadvantage I've seen on older applicants that come into the industry late is low expectations of themselves and their career. Shoot for the stars, not the mud.

As a Programmer, thats programmer with a big P. I just finished working on a project with some 20's programmers. Their current framework and opensource knowledge is high. But several things having to do with experience came out. One was they said that I was the only person that they had ever heard that did not want to immediately work with the absolute lastest version of the framework we were dealing with. Having worked for a Bank for decades and knowing the price a framework shift can cost in unintended consiquences I just had to shake my head. One also used a Set class where a List was called for because it solved some obscure exception problem that we had not experienced. I tried to let him know that using the wrong data type would give him headaches down the road. He also would spend days looking for ways of getting the framework to do what he wanted when a half day of actual programming would do the same.

So in a world that filters on buzz words and technologies, what is lost is that fundemental activity of programming, which is an art, which is honed from experience, exposure and practice. You can tell the difference between a journeyman plumber and a master plumber. The master plumber walks in, looks at the problem, walks out to his van and brings back just what he needs and fixes the problem. He also know 10 ways to fix the problem and chooses what he thinks is most appropriate and all that in just a few seconds. Its the same with older (good) programmers. What they (hopefully I am in that class) do is subtle and efficient, like good engineering hidden from view, but just plain works, looking too simple and obvious to suggest that only one with long experience could have plopped that code down as naturally as they did.

As to the degree, that represents a condensed exposure to envirionments, techniques and approaches to thinking and solving problems that can be invaluable (if you pay attention).

Recent research actually shows that mental faculties begin to decline as early in life as the 20's. Kids don't seem sharper, they ARE sharper. That isn't to say that there isn't more to being a good employee or that older individuals don't have their own advantages but there is a basis for IT discrimination based on age.

ecent research actually shows that some people's mental faculties begin to decline as early in life as the 20's.

There - fixed that for you.

The truth is a lot simpler - most people put their brains in neutral after they get out of school.

The brain is like any other tissue - use it or it atrophies. Even BONE will leach its' calcium if it's not subjected to regular stress from such ordinary things as walking around.

The average person doesn't read books any more. They get their information from the echo chamber of the internet - in short, ephemeral snippets that register on the eyeballs but not the brain, because 2 seconds later, they're onto the next "oh shiny!"

Then thare are those people for which life is a continuous learning experience - not just because we have to keep learning to stay current, but because our curiosity leads us to continue learning, continue integrating new facts and attitudes into our knowledge of ourselves and the world around us. BTW - there are also studies that show that most "genius" is probably the result of a combination of that curiosity, plus persistence.

Staying up to date will never restore your cognitive abilities to the level they were at when you were 22 and they peaked or 27 when they begin to show a measurable decline.

You can have my cognitive abilities when you pry them from my cold, dead brain!

Because I have. They hire plenty of them at my company and they are invariably about as smart as a bag of hammers. They're fairly obedient and most have a pretty good work ethic though, and their long term loyalty to the company was killed long ago.

I'm 41 and I will take that Pepsi challenge any day of the week and twice on Saturday at 7am. We can start with a one page written (in English, using appropriate grammar, spelling, capitalization, and punctuation) paper correlating the business of IT for the IT associated with their business. Maybe follow that with filling in a circle with all the major degree arcs (0, 30, 45, 60, 90, etc) and then penciling in the tan(), sin(), cos() at those points. While we are banging out math without the calculators, we can swing by the Kwik-E-Mart and buy random amounts of goods, pay for it with a 20 and see who can calculate the change we're going to get back faster, or maybe speed fill in the boxes in a multiplication table that goes up to 12x12. Random memorization not a good test? Ok lets switch it up to something more business appropriate, such as generalizing the differences between event driven programming and object oriented programming, or perhaps why using binary implementations to represent money isn't the brightest idea, and why overnormalizing a database used for reporting is going to result in unreasonably long wait times during the batch cycle. Maybe top if off with simply Googling each other and finding just how many pictures of us doing stupid (or illegal) shit on the net we can find of each other - because if anything says sharp as a tack, it's posting pictures of myself taking hits from the bong with seven gold medals around my neck.

Age and wisdom vs. youth and treachery - I will put my money on the old guy for the win.

-x-

Here's the easiest way to see it : ever watch a three year old playing with a ball in the living room? When the ball goes under the coffee table, and the kid goes under to get it - you know exactly what is going to happen next. The kid is going to stand up, full speed, and bang the hell out of his head on the underside of the table. It is going to happen faster than you can do anything to stop it, you wish you could jump down there to prevent it but you can't, and sure enough - BAM! followed by half an hour of crying. You knew it was going to happen before it even happened, you knew the kid didn't have a clue and was in for a world of hurt, and all you could do was watch it happen. The kid doesn't even know what he doesn't know yet, and at three years old simply believes the world revolves around him. Fast forward 20 years and it's the same story - different tabletops, different headaches.

When the ball goes under the coffee table, and the kid goes under to get it - you know exactly what is going to happen next. The kid is going to stand up, full speed, and bang the hell out of his head on the underside of the table.

I spotted my 2-yr old do this the other day, hard but not so hard as to provoke screaming. He spent the next minute carefully proving that it was hitting his head on the table that had caused the pain, and then hitting it again a couple of times very gently and then a bit harder to see when it hurt. I was astounded at the level of reasoning going on as he worked out what had happened to his head and how it had been caused.

* Our next project is in (insert computer language of the month you don't know). Learn only you need to start coding. We're starting next week.

It's not the language, it's the frameworks and libraries (but, been there, done that, did it year before last, and could do it again).

* Summarize the results of our last trade show and the people we met and send them in a text message to me. You have twenty seconds.

In twenty seconds you have time to text ~40-60 characters, which means you're limited to (essentially) "It was good", "It sucked", or "$2M contracts with XXX and YYY with leads for N others" (assuming you have the number on your contact list). Your point? Anyone who cares wants more information and is going to want to have a call about it afterward anyway. BTW, engineers usually make lousy reps for your business at trade shows. You hire sale personnel for a reason.

* Write a device driver for this un-documented piece of hardware. Just keep trying until something works.

Again, been there, done that, but if you don't have at least a hardware specification for the bus (or it uses a standard bus) and enough hardware to do monitoring, you're screwed. Plus I know when to stop banging my head against blind alleys.

* We need to get a proposal done for a high value customer and have 72 hours. Need you to stay here at work until it's done. I don't care if you have a wife and kids at home.

My wife, who has been with me for 22 years understands this as an aspect of my work. The punk with six years of experience who has a two-year wife and a two-month old will probably end up with a messy fight that will kill his productivity for weeks. Was your proposal that got turned down worth it?

* Swallow your pride and get me my coffee.

If I get up to get one for myself, or if you're actually busy, I'll do it. Otherwise, f*ck you, I'm not your secretary.

* I'm going to pay you $30,000. How does that sound?

I'm worth a lot more than that. You need to learn that you pay good money for good people.

I hate to say this, but you seem to have a chip on your shoulder concerning older people. Since the majority of folks you'll be dealing with/selling to are going to be older than you, you might want to take care of this - it will come out in negotiations and make us not want to deal with you. The good news is that you'll probably get smarter about this as you get older.

As someone else who interviews a lot of candidates, I agree with the parent. Age does not play a factor at all. I'll happily recommend an 80 year old man or woman who can do the job and do it well.

I think a lot of this impression of "ageism" comes from the fact that the older generation didn't grow up with computers. As a result, there were fewer of them working in the computer field, leading to an impression that computers are a young man's game.

Of course, the younger generation is getting older. So it's getting more and more common to see older programmers. As time goes on, the age distribution will begin smoothing out and the apparent "ageism" will disappear.

I think there's actually an advantage in being a bit older than the average crowd. I'm not responsible for hiring, but I have to believe that experience and maturity play a huge part in whether or not you get a particular job. After all, once you've passed the minimal hiring criteria (i.e., BS in cs or whatever), the deciding factors will be your skill (however that gets tested in the interview process), and how well you fit in with the team/group/company. Just based on the assumption that people become more agreeable as they age, I'd say you'll be at a distinct advantage over younger, similarly-educated candidates.

Just based on the assumption that people become more agreeable as they age,

Errrr, what about me? I was a disagreeable cuss when I was twenty. By the time I was 40, I was unbearable. Today? I can't even stand to be in the same room with me!!
All the same, age and treachery will always triumph over youth and naivete.

As someone else who interviews a lot of candidates, I agree with the parent. Age does not play a factor at all.

Age shouldn't matter at all in the hiring process, but I can understand why it can impact hiring decisions. Some people have a hard time having a much younger boss, which is likely for an older candidate being hired in this industry, especially an older candidate straight out of university.

Also, for those crazy dot com-type companies that like to work their employees to the bone, older employees are more likely to have real responsibilities (family, health issues, a life, etc.), and more of a backbone to stand up and not take the company's crap. Of course, when making such generalizations, you could also say that the young are foolish and irresponsible.:-)

I think a lot of this impression of "ageism" comes from the fact that the older generation didn't grow up with computers.

Sounds like an accurate assesment - I'll tell you why.

I'm 37 and have been using computers since I was 8 years old and got my hands on an Atari 400 w/ a membrane keyboard and started teaching myself how to program it. I then moved to Atari 800's, VIC 20's, Commodore 64's, Commodore 128's, Amigas, Apple I, II, and IIc's, Macintoshes and finally to PC's.

I taught myself BASIC and Assembly as a kid, learned PASCAL in high school and C, C++ and FORTRAN at college. I wasn't able to finish my degree for reasons of health, but now that I seem to have reached some stability with my health, even at my age, I too am considering getting back into programming and finishing my degree.

The fact that you think "...that the older generation didn't grow up with computers." qulifies as a 'fact' shows at the very least your ignorance and, at worst, your ageism.

I think your response shows that GrApHiX42's worries have at least some foundation in fact. I would nevertheless encourage him to go back and get his degree - if for no other reason that to show the snotnoses they're not the only ones with skills.

Wow. That was completely uncalled for. Did you even pay attention at all>? Or did you read that one sentence, then decide to go off on a tirade? You obviously missed that I was pointing to the generation prior to home computers existing. I even ended my post with:

"Of course, the younger generation is getting older. So it's getting more and more common to see older programmers."

If you'd taken time to apply a critical eye to my post, you would have realized that I was referring to a traditional view brought on by a factual smaller size in workforce. When the number of computer-related jobs booms with the advent of the personal computer, is there any wonder that the young people growing up with those computers boom along with it? (You know, like yourself?)

I do not believe that age is a determining factor for the skill of a programmer. And as you quite aptly proved, age is also not a factor in determining if someone is an oversensitive jerk or not.

You should notch up your perspective. The older generation is not 35 or 37 -- those ages are not old. The generation that did not grow up with computers are 50+ and older. I was active as developer and project lead/manager in Silicon Valley until I was almost 64. Got laid off in 2003 and had to fight for a job in a very gloomy market. Starting in 2004 I worked for 2 years with a startup company where my colleagues were younger than my children, typically. I loved it!
What gets to me occasionally is colleagues telling tales about how technically inept their parents are, and painting that generation with a broad brush of ridicule. I have to agree that I am a bit unusual at my age with such technical skills, and I like it.

That and the fact that IT requires someone to be well within the top 1% of mental and cognitive ability and those abilities peak at the age of 22 and begin to show measurable decline at 27.

Personally I believe there are other advantages that come with age and experience that offset those loses in certain roles but at some point that will catch up with you. It isn't whether or not you've forgotten more than that whipper snapper ever learned but whether or not you remember, readily recall, and utilize effecti

That and the fact that IT requires someone to be well within the top 1% of mental and cognitive ability and those abilities peak at the age of 22 and begin to show measurable decline at 27.

Whaa??? IT people are typically, well, typical. Good computer scientists are an intelligent bunch, but most of the IT professionals are not computer scientists, let alone good ones. In my experience about half of IT professionals are less intelligent than average college graduate, and average collage graduate is at best

You seem to overestimate how many qualified people walk through the door. The vast majority of candidates I see are completely unqualified, regardless of what their resume and degrees may say. If I see someone walk through the door who can do the job well, they're hired. Period, end of story.

In a professional environment, there is no room for age discrimination. And there's a good reason for that. Because when the rubber hits the road, your project is in full swing, and you need every hour of work you can s

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 [imranontech.com] 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.:-)

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.

Outstanding advice. I went back ~35 after a career up until then in network engineering and information security, though I went back and picked up a finance degree. gw0ntum makes a valuable addition. You're going to find it awkward, especially when you have some profs your age or even younger. Some suggestions I'd make:

1. BE HUMBLE: even if you're an alpha, don't play one. set it aside and adopt an alternate persona. your classmates not only don't want to hear about your experience but they're ready to reject you if you show any signs of it. instead, humility is your friend. when you kick ass in assignments and show you're naturally good at some things, your younger classmates will likely respect you then for it. but always keep the humility as your persona. they're going to be intimidated by the age difference and when they find that 15-20 years of age difference really doesn't mean jack u-know-what, they'll be cool with you.

2. HANDLE PROFS CAREFULLY: show your creativity, innovativness, eagerness, etc. by DOING, not by saying. this screws so many nontraditional students up. yes, its important to let the prof know you're eager to learn/succeed. but do it by doing, not by showing off. understand that you're an outlier, so every subtle action you make in the classroom will have 10x the effect. this pisses off your classmates and makes your prof uncomfortable.

3. FIND YOUR PERSONA AND STICK TO IT: my dad's long-time faculty at a university that has a good amount of nontraditional students. i've learned that even the faculty has stereotypes of the nontrads. eager beavers (over-eager volunteer for everything desperate to show their worth low self esteem types), suck-ups (total poseurs that will flunk out but will suck up at first and try to play the 'hey prof, i'm a grown-up like you, give me preference'), one-class-ponys (typically 60+ gals who take one class and blow the damn curve cuz they have no freaking life outside of that one class), over-committers (usually the nontrads who have just come back to academic world and are so clingy and over-committing trying to prove their worth to self and prof), and dominators (nontrads that want to give input to everything, dominate the discussion, share their "worldly" experience on everything and embarrass everyone in the room except themselves). Those are not good choices. Find something subtle, quiet and driven. Sit in the front row, kick ass and let your work show your drive. Let the prof call you out because you get stuff right. They will balance the dialog and keep you from being seen as a show-off - hey, when your work is good, that's the game.

4. FRIENDSHIPS: Be open, kind and friendly to all. I ended up with friends spanning the total range - from girl jocks to geeks to poet-thinkers to hard core achievers. All I had to do was smile, be relaxed, be damn good, and be a team player.

It's a weird situation but if you handle it right, it'll be very rewarding, and that degree does open up tons of doors. Good luck!

I dropped out of HS at 16, after more than a decade in labouring/factory jobs I went to university and graduated at 31 with a BSc with majors in CS and OR. I had a family at the time and still managed to make a few bucks driving cabs. I picked that course to get into the industry but I loved programming my AppleII well before I thought I could make money by programming.

I am now 50 and still "in demand". Not one year since graduating in 1991 have I failed to exceed the average national take home pay by a respectable margin.

In my experience - which is considerable, I'm oooold - at 35, he won't have an age problem. That's not old enough to trigger the insurance companies to really mess with the company's expense of keeping him around under the current insurance setup. And who knows, by then, health care may look somewhat different.

A lot of ageism in tech companies is not being willing to pay for the experience an older employee usually brings to the table; but he's fresh out of school, so that doesn't apply to him. It seems to me that the odds are he'll do ok. He'll also have to accept starting wages, of course.

The problem he *WILL* have is that there will be a lot of 35+ year olds that have had their CS degree for several years and have years of experience (like me, graduated in 94, so 15 years of real experience). You'd like to think that he'd be lumped in with the other fresh-outs, but his age will make people want to lump him in with the experienced people. He'll need to find a good mentor and take to the real learning quickly (school doesn't really teach you how to work in the real world). The faster you catch up to those in your age bracket, the better.

Is 35+ too old? No, I'm almost 37 and by far the best developer in my area (very large company). The people I see being squeezed out are the ones that are over 50 with no upward aspirations......so there's plenty of time to make good on the degree.

When it comes down to it, experience will trump a degree anyday... Let's face it... A degree means you were taught how things *should* work. Real world experience teaches you how things *really* work. The only way to get that real world experience is to do it.

If you don't have the experience, or just want the degree, then the degree is worth it.However, please don't wave the degree around saying that "I, who have a degree, will trump you, who doesn't, every time". It's just not going to work out that way.Now, if you have your degree, and experience then it's a more equal footing, and let the best person win. If a place only looks at the degree, then chances are, they're missing out on some of the most talented people in the field.

In 24 years, I've received job offers for every job I've interviewed for, and that's without any kind of degree, unless you count real world experience. I was lucky in that I was able to pick the job I wanted, and do the things I want to do. I work in a field that I've chosen as a hobby, as well as where my aptitude and interests are. It's fun to go to work on most days, and a learning experience, even on the days that aren't so fun.

The above post is great except for this one line: "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."

If you're already programming, but are not employed, getting a degree to reinforce what you know is a good idea and will help you with salary.

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.

Furthermore, 35 year olds usually have a life. 20 year olds don't. You really need to do something for 10,000 hours before you get fantastic at it. 20 year olds can accomplish that in three years. A 35 year old with a wife and a family won't accomplish that in a decade.

What DID you get sucked into? What did you spend your 20's on? Dig through that time and figure out what you loved. Do THAT. You'll be good at that. If you weren't a programmer, you won't get hired as a 35 year old programmer not because you're old, but because you're BAD. If you don't fail the first fizz-buzz question you get, you'll fail the second follow-up.

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.

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.

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.

The OP didn't mention programming. Of course people get a programming job because they enjoy it, but if you're still doing it for a living after 15 to 20 years, it's probably not because it's what you enjoy doing most.

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!"

On the other hand, if you're not already programming, you're wasting your time.

Wow.. so unless you plan from birth to be a programmer, your screwed for that position.. I think someone thinks too highly of their profession.

35 is not an unreasonable age to begin a second unrelated career in almost anything. I would also submit that attending school will do him good even if he does not end up following the path of a professional programmer.. I can't tell you the number of people in my life with degrees such

CS has nothing to do with programming. Code is just the end result. No autodidact person I've ever met understood NP complete problems.

Also from experience, the smartest CS person I know woke up one morning, realized he was stuck in a dead beat job with no promotion path. He quit his job took math on a summer course and started studying CS (the proper kind), he graduated last year and is currently applying for a Ph.D with multiple companies offering him very high payed jobs, he is 37 now,

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.

Heck, I'm working on a BSCS, and I'll probably be 47 or 48 when I complete it (depending on whether I double-major in Math), and then I plan to apply to either an MSEE or PhD CS program, so I'll have another two or more years after that.

And after all that, it probably wouldn't even get me a better-paying job, assuming that I could find anyone that wants to hire an engineer in their early 50s at all.

But I don't care, because I'm doing it for my own enjoyment and satisfaction. I quit my day job in December, and I'm hoping not to ever have a day job (other than working for myself) again. I'm much happier now that I'm trying to do entrepreneurial things, even though I'm not (yet) bringing in as much income as I got from the day job.

When I was in my late 20s through my early 40s, I found that experience was much more of a factor in getting hired and getting a good salary than having a degree. I'm sure there are some exceptions to that, i.e., employers that are idiots, but who would want to work for those employers anyhow?

For anyone that doesn't have a degree, AND doesn't have industry experience, I'd recommend getting the degree and doing some summer internships to get experience. When I've been involved in interviewing candidates, I've found that even candidates with an MSCS but no real experience are often not adequately prepared for a software developer position. CS programs tend to be heavy on theory (and there's nothing wrong with that), but almost entirely lacking in practice.

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:

What do I want to be?

What did I do today to be what I want?

If you are not working on improving your skills, knowledge, expanding your exp

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.

Some companies want younger people because they're cheap, and they'll work extra hours for a USB key or a pizza or something. If you have the skills, you're useful, and companies want someone useful. Most companies are shit, run by fucking idiots in suits anyway. Don't worry about it.

I agree here completely. I'm not a programmer, but I'm in a high level Windows/UNIX engineering group doing systems design mostly. At 39 I'm the youngest in my group of seven engineers. The caveat is we are all very experienced in the field, which is why we are in the high level group to start with. Our more entry level positions are populated mostly - not all - by those in their late 20's and very early 30's.

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.

People have grown tired of these "young whippersnappers" fresh outa college with their executable UML and agile methodologies.

It's worth noting who invented those agile methodologies:

* Kent Beck [wikipedia.org], coinventor of extreme programming. No date-of-birth generally known, but worth noting he has been a professional developer since at least the late eighties. I'd guess he's in his late 40s by now.* Ward Cunningham [wikipedia.org], coinventor of extreme programming, inventor of the wiki. 59 years old.* Ron Jeffries [wikipedia.org], coinventor of

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.

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.

I'm pushing 40 this year. Been programming most of my life. Never completed my CS degree. Worked on some fairly high profile projects in NYC, Chicago, San Francisco. I would say tho, at this point in my life, I'm definitely at the Sr. level and if I was to apply for a 'real' job it would be a Director or VP/CTO position - probably in a small startup.

I know of friends consulting companies that have guys in their 20's-40's. Other friends work for big software companies and have similar age groups. In the end, if you're a good programmer and not over 50;) then you shouldn't have a problem. But at some point, you're going to probably start your own company or be at a level above 'straight out of schoole 20-something coder'.

I'm about to be 45, and I've been a software engineer since I was around 18 (started way before, but didn't get my first "real" job until then).

Since then, the highest title I've reached is... Sr. Software Engineer, which is where I've been pretty much most of my career. Never had an interest in management, Lead, or anything that would take me out of the trenches of coding.

This also means my salary has been capped where I live at around $125K or thereabouts.

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.

My husband was 36 when he got his Computer Science degree. It was a few months before getting his job but this was also at a time when the job market was in a slide. Once he got his first computer science job and some experience he had no problem getting other positions as follow up. Plus, he met me and have been relatively happy together now for 23 years so his degree helped in other areas as well, at least in my opinion and my husband is smart enough to agree with me. So I would definitely say go for it

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.

Honestly, I've worked with guys in their 40s and 50s relatively new to IT. I've never heard of ageism in my experiences. Hell, the fact that you posted to Slashdot probably is enough reason to hire you!

I say go for it. Consider that we live in a generation that will probably live to be 100. And you'll likely work till 70+. You'll have 35 years doing what you want, to earn enough money to support you for the following 30 years.

I'm 47 and going back for Geology. I'll probably finish at 55, but I'll still have 15+ years to work. My motivation, is that I don't see my career in Electronics being able to warm down to retirement. You're either in or out, nothing in between. But I see Geology as being something you can take on smaller jobs, and slow down to retirement. From what I see, it's much broader than Electronics. Hey, but that's my rainbow...

When you say you "pissed away" your 20s, were you doing something where you got to know part of the world that kids who went straight through college in IT generally are ignorant of? Years ago, I could say "I work with computers" and it meant something. Now, to say "I work with computers" merely means you have a job. They're in everything. For most businesses, computers are not an end, they're a tool. Nobody hires somebody for their degree in hammers. But if you've learned a special sort of carpentry, and can demonstrate your ability, it will be assumed you know how to swing a hammer well. That's not to say you don't want to study the tools, even get the degree in them. But focus on the craft, on what you'd love to build, because that's what people really get hired for, not their tool collection. Not except for truly hack work.

Anyway, if you've gotten to know some part of the world well while pissing away those years, can you leverage it? Have you seen some aspects of life that can be improved with the right computer tech? If so, start studying how to do that. Make your own niche. Take advantage of where you already uniquely are. It can be your strength.

I don't know that Computer Science classes really prepare you for IT... one is developing applications and writing code, and the other is managing computers. Many, many people in lower-level IT positions don't even have bachelors degrees... they have associates or often less than that, but have gone to trade colleges or done some studying and gotten their MSCEs or other certifications.

If your heart is in computer science, then go for it. Go to college for 4 years, write a lot of code (really... many places when interviewing for entry-level positions with bachelors candidates will ask you how many lines of code you've written), really understand CS and a couple key langagues or paradigms (e.g. OOP or REST or whatever they're teaching now... I'm older than you;-) and don't worry about it too much.

Again, IT is different, and who knows how IT in 4 years will look compared to IT today. I don't think 35 is too old for an entry level position... the key concern about age is desire and the ability to work. Few people at 25 have a wife and kids and other associated "lifestyle influences" to prevent them from regularly working 10-12 hours a day. People in their late 30s have all manner of excuses or other distractions they may deal with in entry level positions.

"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 [joelonsoftware.com]) 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.

I did it. I managed grocery stores through my 20's and early 30's. I got my degree at 35. While in school, I quit the grocery business and went to work at Comp USA (Yeah yeah I hated the place too). Started as a sales weasel until there was an opening in the Tech dept (repair and service).

When I got my degree, I had a few years of IT (yeah yeah, Comp USA and IT don't go together.) under my belt and got a job in a University IT department as a Help Desk Service Coordinator (one man complaint department). I got this job because of my dual abilities of being able to manage people (from the grocery business as a manager)and because I understood technology with my repair bench experience. I hated every minute of it but it got me in the door.

One of my responsibilities in that position was to work with the different IT departments that were constantly bickering over whose job it was to take care of any given situation. I earned a reputation as someone who could troubleshoot AND get things done. When a position opened as a domain/exchange admin I jumped at it and got the job.

So 9 years after getting my degree I now manage the windows admins, unix admins, mainframe admins, and DBA's at this University.

Yes, you can do it.

Now the bad part. In order to do this, I went into extreme debt paying for school and working for peanuts at Comp USA. It took me most of those 9 years to pay off the debt I accumulated while getting to where I make a decent living now. It is a lot of hardship, a lot of dedication, and some luck in landing a position.

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.

Do it.
Enjoy the whole process of having knowledge going in. Enjoy that you feel assured enough to consider the teachers your equals. That the current events from your jr high years are history to the freshmen. That they were born after the fall of the Berlin wall. Enjoy the girls who are put off by boys who are still trying to show off. Talk with authority from actual life. Youre going to be 4 years older in 4 years anyway. If your looking to have more things, skip college. If your looking to have more memmories that rock, and more options.. college...

Some companies hire young people because they know:#1 They aren't married yet and are willing to work extra hours for no extra pay. have no spouse or children that need them at home after 5pm.#2 They are willing to work for less because they have less experience than a 35 year old and up, so the company hires them at a below average salary.#3 Management knows that younger people can handle stress more than older people, so they work the younger people harder.#4 A younger person is less likely to need more benefits skips the 401K and insurance benefits, that help save the company money.

In reality these companies are run by scumbags and dirtbags and you are better off not working for them. They will cause you to get sicker until you eventually become like me and get too sick to work and end up on disability. If they do hire you, it will be at a below average salary with minimum benefits and a lot of overtime for no extra pay or bonuses.

What you need to do is research a company before applying for them, search the Internet for feedback to see if they are run by dirtbags or scumbags. There used to be a web site named f*ckedcompany.com but now I think people just resort to writing blogs or forums about their employers. But others exist Boss B*tchers [bossbitchers.com] Office Whisper [officewhisper.com] Jobvent [jobvent.com] and My Boss is a Jerk [mybossisajerk.com] to see if any of the companies you want to apply for have people complaining about them.

For older people you can always get a contract right to hire opportunity where they start you out on a six month or one year contract and if you work good enough they hire you on as an employee. You might like working as a contractor instead of an employee and you might earn more pay and fund your own health insurance and donate to an IRA.

Another option is to start up your own small business. Go to a community college to learn how to run a small business by their continuing education department and learn Quickbooks and Turbo Tax for filing the accounting and tax papers.

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.

I'm pushing 30 and I find that many people (including employers) assume that you have experience in your chosen field just because of your age alone, even before they've seen your resume. If the choice for a position comes down to you and a pimply-faced youth just out of college, age can be huge advantage. A lot of employers look for maturity and intellect first, raw skills second.

And anyway, it's never the case that your resume is what gets you a job, although it might limit you to an entry-level position. Either a strong recommendation or an excellent interview will get you the job. And if you spend your next few years boning up on I.T. or whatever you want to do, the interview will be easier than you think.

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.

I have a good friend who did exactly what you're describing. We actually met in the CS program in college. He's now an IT manager doing very well. One of things he did well was take his previous work experience and leverage it in useful ways in IT.

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.

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.

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.

Quoted for truth.

I remember that stuff (but I don't really miss it), and I'm 'only' 25. Had to fiddle around with those kind of problems (and making 9 different variations of autoexec.bat) to get various software even working back when I was aged 13-16. Would have been in MSDOS 5, 6 and 6.22.

But I reckon I'm in the very youngest group of people who had to hack around a bit on the command line and deal with that kind of stuff, and even I'm no guru compared to those a few years older. I'm just on that 'edge'

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.

If you can start at a community college and TRANSFER to Yale or Harvard or Stanford, you'll be better off. A big name helps a lot on paychecks. At 35, you'd think he'd be better off going to a doctoral program (assuming he has SOME degree and an interest) where he'd pay little for it and could wash out after a year and a half to two years with a master's degree and little to no debt.

One of the problems with older programmers is that they cling to archaic concepts like their old favorite programming languages - C, C++, Assembler, Fortran. They worship at the shrines of the old pantheon of Wirth, Venn, and Turing. They don't grasp the modern subtleties of.NET and the modular beauty of DirectX without deliberate effort. They think that security is some absolute virtue having to do with cleansing your inputs, trusting noone and considering pathological conditions.

Pity them. They don't understand the beauty of rapidly advancing the user interface until the end user can with little understanding of the underlying technology create vast perfect representations of his vision until the whole thing seizes up just before he saves it just like it's a Visio diagram. That's computer science at its most cruel, its most perfect. If those geezers don't get it it's because they just don't understand how things are done these days. They've lost touch with the course of modern progress. They'll never be able to code a word processor app that consumes all the processor power of a quad core with 8 gigs of RAM. They'll never get why automatically executing code attached to a word processing document is an essential feature. They just don't know and they'll never know because they're old.