34 comments

[ 4.7 ms ] story [ 88.5 ms ] thread
> 57 percent of computer science graduates are working as programmers; at 15 years the figure drops to 34 percent, and at 20 years -- when most are still only in their early 40's -- it is down to 19 percent.

That data is compatible with lots of things besides age discrimination:

* a job description that mostly appeals to the young

* a young and rapidly growing field where most of the 1988 CS grads are promoted to management, so that they can manage the 10x larger 1998 CS grads

* etc.

And a nation in which the average individual changes careers 3 time, for that matter.
NY Times is pretty in touch with what's cool w/ the kids these days. Ie. "the new Java language".
The article is from 1998, Java was 3 years old.
Does that also mean the statistics provided by the author are meaningless since they are 10 years old and closely tied to the dot-com boom?
Since they're backward looking statistics they actually track what happened before the dot com boom. They still might not be relevant given the current marketplace, of course.
I appear to have made a date mistake. sigh
"Employers justify shunting aside midcareer programmers on the ground that they lack skills in the latest software languages."

I don't see what's wrong with that. Clearly, to command a higher salary, an employee has to offer more than someone who gets paid less. And if in fact that employee has less to offer than a more junior person, because their skills are obsolete, it's even more of a reason to let them go.

I guess it's not a very comfortable position to be in- having to always prove your worth to an employer- but I think it's unavoidable, especially in an industry that changes quickly.

True but on the flipside just because someone is young doesn't mean they will provide more value.

One thing that is interesting about this article is that it was written just as the internet/web boom was happening. It is important to note that a whole slew of industries and job tracks have been created since then. It is also very important to note that software development really wasn't a field until the 70's. So what we have is a young industry, thus younger people in it.

The age of someone that started development young in the early days of the web (mid-90s), let's say 1995, would be approx 32-33. Anyone older than that had to come into web from pre-web industries, thus lacking in ability to change and learn to someone coming in clean. But nowadays an industry really was born around the late 1990s that will get older and more skilled, as well as seeing young come in, at least in terms of web based development, game development and other recent web industries.

It would be like when radio started where people getting into it were young, as time went on it wasn't about age but skill and value. Same will happen with software or web development. Young will always be a key factor in software and web development but the position of the industry in time gives it a skew that appears ageism is more rampant. This article was even more lodged into a time where hardly anyone knew the web would change the world and grow fields and industry as much as it did. At this point the people that were going to go into marketing, radio, tv are now all going to the web.

So really, I agree it will be up to providing value and innovating but we will see the industry, especially the web industry, mature to where it isn't just the young running it.

I would say a prime is after someone went to school, and programmed for at least 8-10 years. This is when programmers start becoming efficient and product developers. The earliest that could happen for most people is late 20's early 30's.

Also, the best programmers are efficient and have a business and marketing edge. If you have that you won't need to work as long because you will be creating the companies and providing the programming jobs to old and young, or rather just skilled workers in the newest industry that is transforming all other industries.

An experienced programmer can learn a lot about a new language in a relatively short period of time. A lot of times, the language isn't the issue, understanding the system is the issue.

So I don't think it's the first thing I would think of when deciding to hire someone. If an engineer has worked on cool things, and done cool things, I wouldn't care if they didn't know X.

The article misrepresents what I see happening. In larger companies engineers are treated as a commodity so salaries stay low when compared to a similar level of experience in management, sales or marketing. People leave engineering to pursue higher paying opportunities. In tech companies management sales and marketing are mostly comprised of people who were once engineers. I have worked with many people and usually those in their 40's and 50's that stay in engineering stay because they like it and are willing to sacrifice higher compensation. As a group i believe they are more competent. I have interviewed many recent college grads that could barley articulate what a virtual function was in C++ or Java and how or why you would use it. These concepts are more than 30's years old and have been in common use in software development for the past 20 years.
I don't see anything wrong with that either, but I think the quote is phrasing it slightly wrong. Here's how I would write that sentence:

"Employers justify shunting aside mid-career programmers on the ground that they lack the motivation to develop skills in, among other thing, the latest software languages."

The problem is that this lack of motivation won't show up until the programmer is midcareer.

When they graduated from college/trade school/etc, they were likely trained in some the latest technologies and languages. Based solely on skill set, they looked motivated enough; maybe not as much as some, but certainly more so than the mid-career programmer was just kicked to the curb for not knowing anything from more recent than five years ago.

But they stagnated, because they really weren't motivated or interested in what they learned beyond the predictable payout it guaranteed.. They went to school because they needed that structure to force themselves to learn material they were told would be highly lucrative. Learning more about their field was hard and not at all satisfying, so they made the gamble that they could coast on what they learned in school until retirement.

Unfortunately, technology moves fast enough that their gamble blew up in their face. They wouldn't be able to see it coming either, because the structure they embed themselves in to increase the odds of their gamble would be equally phobic of new advances. The realization would happen suddenly, likely due to an internal shake-up either by new management or the same old technology no longer being good enough.

The problem is that a course in the hot new language du jour isn't enough. The problem is that their lack of motivation is now painfully obvious to everyone. They aren't the least bit curious about new advancements, otherwise they would know something about them. The knowledge they get from the training course will inevitably become obsolete again in another few years, because they'll never supplement or expand upon it.

This is the real reason for the shunting, as I see it. And I, like paulbaumgart, see nothing wrong with it.

Practically, it means there is a lot wrong with programming as a career choice -- for a large number of students, it will have been a poor investment. I don't see much reason to sympathize with the employers, either.
It appears to me that it's more a problem of unrealistic expectations. If somebody else is willing to do a better job for less money, a person's got to either improve/update their skills or start asking for a smaller salary.

I'm not sure I'd go so far as to say I sympathize with the employers, but I can certainly understand the rationale.

The problem is the more experienced you become at some point the "worse" professionally you will be perceived, unlike 90% of all the professions out there that the older guys will ALWAYS be better.
Experienced programmers have many skills aside from "the latest language".

The approach of jettisoning older, more skilled programmers because they cost more and don't know languages with the latest bells and whistles is similar to the general approach of selling poor quality or defective products of all sorts which happen to have the latest marketing bells and whistles.

It is rational for companies to do if they can get away with it. It is rational for us to punish companies harshly for doing if we can.

(comment deleted)
Does the report also analyze pure programming jobs, and not team lead, or management roles which previous programmers 'graduated' into, not necessarily became 'unemployed programmers'?
Or, because programming is a meta skill, did these engineers start companies, products and are no longer programming because they are owners? Or did they pick up skills in other industries that they wanted to get into which was made easier because programming allowed them to peer into it from a unique meta perspective?

Also, sure if you are just working for a big company making desktop applications before the web as this article is from, then I can see there would be limited opportunity. How does the web change that?

Great find! Scary how it's still so relevent...

"High-tech companies save money by shunning most midcareer programmers and focusing their hiring on new or recent college graduates, who are cheaper and can work lots of overtime."

Not just high-tech companies, almost everyone. So screw 'em. If they're too cheap to value the contributions of their employees and don't want to treat them like human beings, they why would you want to work there?

"And the skills issue is a red herring; any competent programmer, if given a chance to learn on the job, can become productive in a new software technology within a few weeks."

Exactly. Like almost anyone here with any drive at all already knows.

If I didn't know better, this doesn't seem like a journal article at all. Seems more like a commercial for starting your own. Still spot on 11 years later.

At the time though the things that were happening with the internet were all largely new concepts. New graduates who had been studying heavily web based technologies would have had the advantage over an older person who may have come from a DOS background.

These day's although still evolving I would say web based technologies are a lot more stable.

Now that's funny. "new concepts". "DOS". Its actually quite amusing for hackers in my age group to watch the kids "discover" ancient programming history (again (and again (...)))
Can we cool it with the New York Times articles? I've noticed more and more of these puff pieces and its lowering the tone.
I agree they can be light on content and oversimplify things to appeal to a broader audience, but they're usually still a pretty good starting point for decent discussions.
That's a fair point, but a balance needs to be struck, at times it seems like every other article is from a large circulation newspaper or magazine and if that trend continues it could spoil HN.
Being a hacker has always meant being a social engineer. NY Times is an excellent window onto mainstream media and how society thinks.
But we can all see this window on the mainstream; where HN is special is finding those whom have synthezised a clearer or more thought provoking picture of the mainstream either through direct experience or a unique perspective.

I think the distinction is between hacks and hackers. They may provoke discussion and grab attention but its just the previous media's generation's form of flaming on an industrialized scale, these articles are without the kind of integrity you get from the truly engaged and first hand experience that HN is so good at fishing out.

Oh christ, get over yourself.
It's from 1998, back before they started writing articles on how Obama should start Twittering.
I suspect the main reason MS or Google or anyone else prefers young programmers is that they tend to be more committed and 'fresh', in the sense that they are not yet bitter, cynical, and hopelessly opinionated. They also tend not to have as heavy a set of personal/family obligations, so can work cheaper, longer hours etc.

And of course on average, if you're too lazy to actually find out from the interviewee, they probably tend to have more up-to-date skills.

OTOH, a seasoned veteran often has a knowledgebase in a specific problem domain that can be immensely valuable. However, it takes a lot of work to find the right person and ensure that his KB is the real thing, is up to date, and that the personality attached to the KB is going to mesh with the culture of the rest of the team.

When things are going gangbusters, it's easier to just ignore these subtleties and hire the lusty, naive young waifs who will work their skinny little asses to the bone for da man before they realize their souls are being sucked dry by evil sorcerers.

Personally, when I started as a fresh young grad happy to put in 2x hours for 0.5x pay I would look at some of the older guys and say 'I never want to end up like that'. I still feel that way. 'like that' refers to a bitter, cynical attitude born of two decades in the cube farm, navigating endless rounds of layoffs, restructuring, business-management fads and other nasties.

The key is to keep your skills up to date and avoid the sticky-trap that is management roles. If you drift into hands-off management, the meetings-and-flowcharts current will swiftly take you away from the technical shoreline and you won't be able to get back. It takes a conscious effort to stay a technical person in most companies, and you'd better be prepared to be looked down upon from other people who go into management roles.

Of the people I started working with as fellow grads, I'd say that less than 10% are still actively writing software of any kind. I nearly gave it up several times, but I'm glad I've stuck with it, because you can be so much more creative in code than with management.

But the point is that you never sure what is the next thing the management will decide to use . Sure if you young you can spend your lonely nights and weekend hacking Clojure or Scala but in the end of day your boss will decide on retarded Java framework bla bla technology and all you hours were just for nothing. And anyways when you have friends,girlfriend/wife and kids it becomes very difficult to spend enough time jumping from one cool tech to another.

Some of my non-comp-sci friends and some programmer friends say that software development is like prostitution the older you get the less money you make until you are discarded , unlike for example accountant who starts low but steadily reaches some status . All of these "rockstars" and start-up founders can be imagined as elite prostitutes who just look better and do it better for more money of course, can retire early and may be score a picture on tabloid with some politician and then make a million bucks (EXPOSURE). In the end we are just slaves of capitalist system whatever we admit it or not ( most of the time our brainwashing won't allow us to do it)

awesome post! for use of "prostitution" and "capitalism"
The silent point I was getting at was not to stay in dead end jobs. Keeping your skills up to date doesn't mean learning new tech in your spare time while pounding out COBOL at your workplace : it means making sure the projects and technologies you're working on are current and on trend with the future. If this means moving jobs every couple of years, then do it. If it means leaving the cube farm and starting out on your own, even better.