Question about when programmers expires (attention needed from experienced programmers)

ispu7 used Ask the Experts™
Hi, everyone!

Most of the companies  don't want to hire programmers whose age is more than 30. They preffer young guys than OLD programmer. I also heard that in the Microsoft the average age of programmer is 22. Why is so that? Does it mean when programmer gets older he becomes less productive in programming?  Normally experience polish persons' quailities, and obvously experienced or old programmer should be better. And what about the people who start programming in their old ages? ain't this disappointing that?  

I'm also a programmer. I would like to program in my whole life and want to be a good programmer. Just wondering how far we can go...

Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®

> the average age of programmer is 22
ahh, no wonder there are so many bugs/holes in their apps!!!

seriously though,

most companies are looking for programmers w/ AT LEAST 3-5 years experience...

being that here in the states the normal age of graduating from college is about 21, i don't see how the avg age could be anything less than 24 years old... i'd say it's more around high twenties to mid thirties... and from there, it becomes a matter of your drive to continually learn, creativity, AND ESPECIALLY social skills... if you want to make it to upper levels in the company, you have to be able to schmooze.

Got to agree with bobbit31 here.

Unfortunately, companies are normally run by accountants who subscribe to the notion that cheaper is better. Younger people with less experience equates to lower price, and that's all they see. Hence the advertisements for "graduate programmers" - it's simply recruiter-speak for "low-paid".

After a few years, a programmer's tolerance for management incompetence wanes. The tenth iteration of "we want to do it this way because we didn't bother to heed your advice the other times" gets wearing. Less experienced programmers are far more compliant and less prone to point out the incompetence of the people who are giving them instructions - normally born of an arrogant disregard of the advice given by the technically-competent.

And younger people are less prone to cynicism about the latest whiz-bang application/method/system that's going to rule the world, having seen a dozen or so come and go. Going with the latest and greatest is more popular than biding one's time until the methodology is proved. That makes you a conservative, unwilling to try anything new in the eyes of mismanagement.

...My 2c

I think a lot of it might be that the older programmers move in to different positions and stop doing actual programming. If you were programming for ten years you would probably be able to get in to a position were you might do a lot more managing.

Another possibility is that a programmer could suffer burn out or not be interested in programming because they no longer want to keep up with the constant learning involved. Those people might migrate to a different career.

I wouldn't say the average age of a programmer at Microsoft is 22. Most would be in the age bracket of 25-35 but there would be some over and below that age. Most graduates would be 21 or 22 and some companies like to bulk up on lower wage employees that are fresh graduates. The problem with fresh graduates is that they have no real world experience and College/University doesn't teach a person how to program very well. They do a lot of theory and use languages like PASCAL or FORTRAN and sometimes good ones like C/C++ and more modern 4GLs. Most fresh graduates would need a good 3 months or more to get in to the swing of things and be able to program at an acceptable level. Most employers don't want to do that because out of the newbies there is always a certain amount of duds (those who cheated through school, are just dumb, don't catch on, etc).

Note that if you look on the job boards you will not find too many positions that require no work experience. Most want 2 to 5 years. That would mean that at minimum a highly employable programmer would be around 24-27 years old. That's if they went to College right after high school. I know a lot of people who wait a few years. In my experience seeing potential applicants and hirees the average age is around 25-30 but is a smattering of all ages ranging from 20 to 50+ with the weight being mostly at the lower end.

Primarily becuase the modern computer programmer (PCs) didn't exist until the 80's and most programming jobs were created in the early to mid 90's with the explosion of the internet. That wold mean the bulk of programmers out there have anywhere from 0 to 15 years experience. If the average starting age is 22 then the majority of programmers should be anywhere from 22 to 37 years old.

The truth is a lot of older people 40+ are uncomfortable with computers or have limited capabilities (check email, surf net, etc) and would not consider retraining later in life as a programmer. There is also a sterotype involved with peple 40+ because the majority of 40+ people are computer illiterate. The stereotype being that the older you are the less you know about technology. Employers shouldn't be biased that way but they will be unless you can demonstrate you've got what it takes. Age descrimination is very prevolent and I would say is much greater than race descrimination. It happens in any career field but is especially prevalent anywhere technology is concerned.

Employers may also wonder if an older employee, say 50 years old, will take instruction from their senior programmer who's only 27. Another thing they might think and it might be true is that they won't be able to pull the wool over your eyes as easily as someone just starting out in their early 20s. That is they might not be able to convince you to work 80 hours in a week for the betterment of the company and only pay you your regular salary or offer you virtual (worthless) stock options for your service.

The main reason though is because of the stereotype I mentioned above. You'll have to remember that not everyone is predudiced and will look on you as fairly as somone who is younger. Most companies hiring programmers are not expecting you to stay with them for 10 years. I find a lot of programmers job hop every 2-3 years, some even more frequently. That's due in part so that the programmer doesn't stagnate and also to advance in pay or responsibility.

So to clarify your statements -> Most entry/Junior level programmers are young (early 20s). This is due to the fact that College graduates are usually young. There are some older graduates too but they are a very weak minority.

Older Programmers are less productive -> This is part of the sterotype that "you can't teach an old dog new tricks". Of course this is sometimes true but it is not a rule.
Learn SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

Mike McCrackenSenior Consultant
Most Valuable Expert 2011
Top Expert 2013

From my understanding of M$, they burnout a lot of their programmers through overwork and stress.  

Many older programmers fail to keep themselves updated in new technologies and languages.  In addition many have been with projects for a long time and when the project finally closes down they are stuck with outdated skills.  There are many FORTRAN and COBOL programmers maintaining code from 20-30 years ago.  Eventually the code gets replaced but the maintenance programmers weren't trained in the new application or langauge so their skill set is outdated.

If you haven't noticed the language landscape has been changing dramatically.  In many cases the only people keeping up with the latest trends are the students.  Give them 3-5 years and unless they get a refresh or training their skills wil not be the latest thing.  Many companies want the latest because they think it is the best.  Is .Net the future.  Sure until M$ changes its course to continue making megabucks.

I am still maintaining a database to run on Win95 using Access 95.  If you compare Access95 skills and VBA to Access 2000 or 2002 you'll see there is a learning curve.  We ported the applicatioin to VB 6 with MS SQL as the database but guess what.  M$ changed the course from VB to .Net a much different animal.  If we move to .Net will they change the vehicle again?

Cost is another factor.  In many cases they can hire 2 junior (graduate) programmers for the price of 1 experienced programmer.

Many older programmers are trying to move "up" to be project managers or other positions within the company.  In some cases an experienced programmer who isn't looking to move up may be considered a liability.


* In many, if not most, organizations, programmers are largely considered paper clips - just a basic job description to be filled as cheaply as possible. Hence the often ill-considered preference for youth.

* A 50 year old programmer who is NOT the best programmer around is probably not much of a programmer, unless he's happy being a grunt with no raises, in which case he's used to having young sprouts tell him what to do.  The unfortunate exception to this is the tenured government programmer, but that's a whole 'nother story.

* To make a lifelong career out of programming, you have to accept that you won't end up making half the salary you would have had you switched to management, or something entrepreneurial, early on.  Mind you, you can still make a decent wage, just not as much as you might have otherwise.

* To make a lifelong career out of programming, you have to be able to do more than just program.  You have to be able to write well.  You have to be able to explain things to management without being condescending.  You have to recognize that other folks aren't stupid, they just have different areas of expertise.  You have to recognize that he "Peter Principle" is NOT universal.

* To make a lifelong career out of programming, you have to develop a reputation for being reliable.  Five years of delivering on or ahead of schedule are forgotten as soon as you miss one self-proclaimed delivery date.

* And, perhaps most importantly, to make a lifelong career out of programming, it has to be FUN.  Once you admit that it's become drudgework, it's time to get out, otherwise you WILL burn out soon.

I've been fortunate enough to have always worked for organizations that have recognized that programming is more than just knowing syntax.  Much more.  Each has recognized that maturity and a broad base of experience count for a helluvalot - and they've been willing to pay for it.  The unofficial job description I've had for the past eight years with my current client is "think up of useful things and do them".

A small collection of Cook's aphorisms...

* The hardest programming language to learn is your second.

* The hardest OS to learn is your second one - especially if your first was an IBM mainframe.

* Once you've learned several seemingly different languages, you finally realize that all programming languages
   are the same - just minor differences in syntax.

* If you didn't deliver when you said you would, it's YOUR fault.  You should have allowed for equipment failures,
    lying vendors, and others not coming through for you.

* Although one can be quite productive and marketable without having learned any assembly,
   no one will ever have a visceral understanding of computing without it.

* Tell them what they need, but give them what they want.  Make sure the check clears.

* Debuggers are the final refuge for programmers who don't really know what they're doing in the first place.

* No OS will ever be stable if it doesn't make use of hardware memory management.

* Low-level systems programming is much, much easier than applications programming.

* If they crab about your two hour lunch breaks, you're not working for civilized folk.

* The programmer who has a favorite language is just playing.

* Write the User's Guide FIRST!

Cook's Prime Directive (aka, Aphorism #1):
Policy and procedure are intended for those who lack the initiative to perform otherwise.

Mike McCrackenSenior Consultant
Most Valuable Expert 2011
Top Expert 2013

cookre - Your style and comments ring a bell.  Did you once work at USAFA?


No, but, I would hazard, close in spirit.  

My formative years were spent on the System's Staff at a university computer science center (IBM 7094 and Univac 1106 & 8) under the tutelage of a chain smoking, fiery tempered irishman who could swear non-stop for three hours without once repeating himself or uttering a single parliamentary phrase.

 I got my start in the real world at NASA Goddard in the early 70's doing device diagnostics on Univac, IBM, Xerox, Burroughs, and CDC mainframes and uplink software for M642Bs (a civilian version of the Squids' AN/UYK-7).

Programming at such places was still very much a black art that required independant thinking, originality. and a huge squat pot full of intuition.
I am not an experienced programmer, but I want to say something here. I think this affects me also as a programmer.
Most companies prefer to hire younger employees than old ones in any field, not just programmers.
Young programmers don't have a real life yet.. they didn't start a family and they are free.. companies prefer the employee that can stay for "sometime" after work hours..
after some years.. you have responsibilities and want to make more money to insure your family has a good style of living.. you want to leave programming and become a team leader or project manager or company CEO.. this means he/she is not an old programmer.. but an old ex-programmer..
after many years in programming.. you either have blood pressure or become mad.. speaking of myself.. i became more nervous than i ever.. i feel a shake in my eyes and sometimes wonder why am i shaking my leg..
Programming is something i like very much.. but i think it impacts our lives very much..
i am not worry.. i try to learn from older programmers.. keep up with new technology..
and hope for the best..
yasser_helmy -> Don't forget to excersice. The human body was not meant to be sedentary. Programming can be stressfull on the mind but also on the body. I know countless people who have problems related to repetitive strain injury (or disorder). Proper posture, and work habits will keep yo a lot healthier. You'd be amazed how much strain you put on your back, neck, wrists and arms. I problem is too that you work 8-10 hours a day in front of the computer and then go home and sit in front of it surfing the net or playing games. A good workout routine will balance the muscles out and reduce a lot of stress. If you leave it too late you could end up disabled for months or even years unable to type or use a mouse or sit in a chair for any more than 10 minutes. I guess that's another way a program becomes an ex-programmer. I would talk to your doctor about your issues as soon as you can.

Yasser, I suspect what's kept me sane is that programming for me is still fun - and I usually find some way to turn each progrram into a puzzle to be solved.  

For example, our network engineers asked if I would write them something that would silently change the primary and secondary WINS servers on W2K workstations to values from the command line.  Realizing they were just beginning to react to impending changes to our network infrastructure, what I gave them was a program that worked on 9x, NT, 2K, and XP, determined the WINS based on the workstation IP, and would deal with multiple NICs and NIC teaming.

They were happy because they wouldn't have to come back to ask for enhancements and I was happy because I had great problem solving fun for several days.
Fortunately there are many different markets out there for programmers. There is definitely a market for young bloods who'll work for nothing (or share options) and put in stupid hours until they burn out. On the other hand, any software company that has to sell high quality, reliable software to customers that expect this, has to have a little more stability.

As a forty+ professional programmer, I have to admit that the fact that I once wrote PL1 for a living is pretty much irrelevant nowadays. The fact that I have proven experience in dealing with the life-cycle without burning out is worth something, and the fact that I'm still learning new stuff every day and I know how to manage that and keep doing it, is also worth something. I'm still learning the people skills too, after all this time. Nowadays if my manager says to me that he needs me to be an expert in technology X by next week, I'll say that next week I can tell him how big a job I expect it to be.

There's no need to worry that your career needs to end at 30. You probably need to get a bit more political than the young bloods, but that's only fair, because you're probably asking for more money than they are. If you get good enough at the politics, there's a great career for you as a consultant.

Now that some years have passed, how did things turn out for every one?

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial