Study Shows Programmers Get Better With Age
mikejuk writes "It's a prejudice the young and old both share, but with opposite conclusions, of course. Young is best or old is best — most have an opinion. Now we have some interesting statistics ingeniously gathered and processed by Peter Knego, 'big data' style, that 'proves' older is better when it comes to programming, at least!"
Claims of agism always seemed funny to me in the context of programming (or really most industries).
Someone with 25 years experience is far more employable than someone with 5 years because they... have more experience?
It's not like the "olden days" where how many years of service you'd get out of someone mattered. Now people are lucky if they have the same job for 5 years. Manpower requirements fluctuate so much in today's industry that the days of "get a job out of school and stay there till you retire" are long gone.
And there is value in young blood as well, but you really need a mixture of people out of university with new ideas and people with experience to make them work (or who understand why they won't). Even if a person loses touch with current technologies, it is worth having people around who have seen a lot of shit fail and know the warning signs.
This of course assumes we arn't talking about someone who learns to program at the age of 40 or something.. then all bets are off I guess.
A guy where I work is retiring in two months. We have known this for like a year and we are _still_ scrambling to get all the info out of his head (we maintain some very old systems... and he was around when they were _designed_). If I retired tomorrow no one would give a shit. "Just hire another c/c++/java guy with a little asm". Obviously this more more related to knowledge than skill.. but still.. that's value!
Also.. interesting (yet pretty thin) way of getting the stats! And I can't be the only one who was pleasantly surprised not to find some huge 50 page report at the pointy end of that link.
Unfortunately the data might just prove that good programmers continue to older age while their less skilled kin get promoted out of it. I also hold the opinion that older programmers who were typically maths graduates are far more skilled than the younger "computer science" graduates (I include myself in the latter group).
I believe that. The older programmers that I know have a better sence of what is neccessary, what works, and what doesn't need to be done. The young guys out code them by number of lines, the old coders write much more code that survies for years and doesn't need to be rewritten six monthes from now.
I like to think you need a mixture of the extremes.
You need the "fresh outa university" types who want to re-write everything in executable UML and shift to SCRUM. That's where a lot of your new ideas come from.
You also need the guy's with 25 years experience seeing this shit go wrong to keep them in check.
You can't change your development paradigm with every graduating class.. and you need the old-timers to keep things moving in the right direction. That said, I wouldn't want to have a whole company of them. We'd still be using COBOL.
"Bad programmers get fired, and do not continue to have reputations as programmers once they are taxi drivers 20 years later". Programmers who don't get fired, after years and years, have more respect. The same curve would show up with race car drivers and bagel bakers. People in their 20s outnumber other new applicants, and as someone who hires a lot of people, most applicants are not qualified to begin with. I'm a budding codger, but sorry guys, this is data trickery.
Gently reply
I've been in the industry for over 30 years now. I've witnessed first-hand the transition from COBOL-based systems from the 1960s and 1970s, to C-based systems of the 1970s, to C++ applications of the 1980s, to Java systems of the 1990s, to C# apps of the 2000s, to today's web apps.
Users today are worse off than they've ever been. Web apps, especially those hosted externally from an organization, are among the most inefficient, ineffective software systems ever created.
Ask any long-time computer/software user in a given organization how software has helped their productivity. They will immediately tell you that the software they had to use was much better when it was actual native applications, rather than the web apps they have to use today.
Native apps are always better. That's why smart people still use real email clients, rather than GMail and other webmail systems.
You can always add network connectivity to a native app. You can't add quality to a web app.
You also need the guy's with 25 years experience seeing this shit go wrong to keep them in check.
Yes, but you need the right sort of guy with 25 years of experience. You don't want the guy who says "we tried that: it didn't work." You want the guy who, as somebody above said, says "This is why it didn't work last time. Can we find a way of dealing with that this time?" The other thing the right guy with 25 years experience might be able to do is spot connections: "You want to do that? Hmm, that seems to tie in with this thing I worked on 15 years ago. Maybe some of the ideas from that will help."
Quidnam Latine loqui modo coepi?
Experience definitely counts for a lot in programming. I certainly think I'm a better programmer now than I was ten years ago. I've learned a lot in that time!
On the other hand, I do think there's some truth in the suggestion that better programmers are more likely to stay in the field. The best programmers are the people who love doing it, who come home from a day of programming at work to spend their evening doing their own programming projects, who are always learning about new subjects and techniques just for the fun of it. And those are precisely the people who are most likely to turn down that promotion to management; who, if they get laid off, don't even consider switching fields because why would they ever want to do something else? Mediocre programmers leave the field as they get older, leaving only the better ones.
"I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
I look at code I wrote a few months ago, and I cringe. I look at code I wrote years ago, and I feel like inventing a time machine just so I can slap past-me in the face for being so stupid.
I mean, seriously, why did I use #DEFINES so much for constant variables? And goto... I still have nightmares about some of my older code. And I'm sure that 2 years from now I'll look back at the code I wrote now and feel just as ashamed.
Programming skills don't really age. Some of my best code styles have come from looking back at ancient stuff - LISP in particular, but I have style quirks I picked up from almost every language I know. Sure, I write everything in more-or-less modern languages (C++ is still modern, right?), but that's just syntax. If you know the heart of programming, you can only get better as time goes on.
That neatly describes new, young, callow graduates coming into their first job. It doesn't describe many people over 35 with family commitments, a good network of professional contacts and an impressive array of successes under their belts. Hence, companies are not very likely to rate "experience" highly as it tends to make employees who will question decisions, undermine authority with "suggestions", know what their employment record is worth and have developed the ability to promote their skills.
Never mind that experienced people can produce better results. The quality of their product is ultimately defined by the quality of the design decisions - good implementations don't matter if the underlying basis of the product is rocky - either from a technical point of view or that it simply doesn't address any needs that would make it sell profitably. Companies would argue that it's better to have fast workers, doing 60 hour weeks with no time off and get a shaky design out the door quickly, since then the failure comes to light sooner. That the young workers also get paid a lot less helps too as it makes the failures even cheaper - though it does make them a lot more probable, too.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
Yeah, but then you still have the web app that kicks off the wget. It's web apps all the way down!
JOIN US FOR PONG!
I'm 50 next year. My programming ability gets better and better all the time, and has done since I started in 1980. When I look back at stuff I wrote in the 80s, it's cringe-worthy and an embarrassment. I'll probably say the same about the stuff I'm doing now when I'm 70.
What has changed for the worse though is my energy. Back then I could code like a demon, then go out and party half the night and carry on next day without feeling any the worse. Of course, I was pouring my energy into a lot of bad code, but it often ended up working by brute force. Now I find it hard to stare at the screen for long periods at a time and overall my work rate is much lower - but its effectiveness is much higher.