Tech's Dark Secret, It's All About Age
theodp writes "Universities really should tell engineering students what to expect in the long term and how to manage their technical careers. Citing ex-Microsoft CTO David Vaskevitch's belief that younger workers have more energy and are sometimes more creative, Wadwha warns that reports of ageism's death have been greatly exaggerated. While encouraging managers to consider the value of the experience older techies bring, Wadwha also offers some get-real advice to those whose hair is beginning to grey: 1) Move up the ladder into management, architecture, or design; switch to sales or product management; jump ship and become an entrepreneur. 2) If you're going to stay in programming, realize that the deck is stacked against you, so be prepared to earn less as you gain experience. 3) Keep your skills current — to be coding for a living when you're 50, you'll need to be able to out-code the new kids on the block. Wadwha's piece strikes a chord with 50-something Dave Winer, who calls the rampant ageism 'really f***ed up,' adding that, 'It's probably the reason why we keep going around in the same loops over and over, because we chuck our experience, wholesale, every ten years or so.'"
Anyone in the field who hasn't figured this out yet needs to be let go. Programming requires long nights staring blankly at mind-muddling objective languages. Experienced directors/designers have the foresight to be able to properly direct all that youthful energy to the most worthwhile pursuits, rather than just letting them wander aimlessly through some other other geek's code.
When the foot seeks the place of the head, the line is crossed. Know your place. Keep your place. Be a shoe.
who calls the rampant ageism 'really f***ed up,'
Phhhbbt, sounds like something your average old timer would say ...
'It's probably the reason why we keep going around in the same loops over and over, because we chuck our experience, wholesale, every ten years or so.'
Oh, sure the initial steps in the web's client/server model may have had resembled the dumb terminals and mainframes of the days of yore but with HTML5 my generation is bringing in a new original and fresh way of computing where worker threads and local storage give us the ability to distribute ...
*red LED under the skin of eldavojohn's arm starts flashing*
What's this!? What? Wait, no! Nooo! It can't be!
*eldavojohn stands up to run only to be met by two members of the sunset squad holding stun batons behind him*
No, I just turned 28! You bastards, I was supposed to have more time! It's not my time yet!
*as they drag him away, a young acne faced male takes his place and begins mockingly humming "Circle of Life" from the Lion King while tearing down the X-Files poster and MST3K figurines adorning the cubicle*
My work here is dung.
What is that? When I was younger I could code more, but I wouldn't say I coded better. Now I take my time and produce efficent, well documented, fully tested code - which functions 1000x better than my 'mass produced' code. Any *good* programmer programs well - not in volume.
Any 50+ year old programmer should be able to keep up with 25yo programmers, knowing how to program isn't just knowing the ins and outs of the hottest language - it is knowing HOW to program so that you can swap languages efficently. (Yes, there is time to learn differences in languages, etc) But anyone worth their salt can jump where needed and go.
Being said, if your first language was cold fusion and it is all you have done for the last 12 years, you may have a difficult time switching to C!
Ditching experience would be unheard of in medicine, engineering, law, carpentry, pluming, construction, etc, etc, etc....
But only us have the balls to say that youth trumps experience, I wasn't aware kids were born with all computer science concepts from the get go.
How is it that a senior programmer ends up in sales?
Maybe we are not taken seriously because our professional low self esteem.
If managers could pay people in their 50's what they people in their 20's, it wouldn't be an issue. As always, the bottom line is the only thing that really matters.
If you're going to stay in programming, realize that the deck is stacked against you, so be prepared to earn less as you gain experience.
In my experience at a company with 1,300 employees, young people are relegated to support calls. The older people (over 40 years), produce [quality] code at an exceptional rate.
Recently, we had to modify a java function for one of our clients whose client was dealing with money which was worth so little in dollar terms. i.e. 1 US dollar goes for about 2,500 in their money.
All young folks including myself were just fiddling around the code. This "old" man who had never looked at the code only needed about 12 minutes to solve the problem.
By the way, this code would 'translate' 1,234,567,890 to One billion, two hundred thirty four million, five hundred sixty seven thousand eight hundred ninety shillings only.
So I do not agree with that statement entirely. In fact this old man is paid about 2.5 times more than myself. I have 7 years java, VB and PHP experience.
A while back, a friend of mine -- a very experienced software development manager -- was running a development team, and was planning to hire a developer who was in his early 40s. One of the team members openly objected to the candidate because of his age, saying something like, "How could he possibly be up to date on current technology or keep up with the rest of the team? He's so old!" My friend eventually hired him anyway, and the "old" developer turned out to be a superstar, one of the best on the team.
That was about eight years ago. The guy who raised the objection is now about the same age as the candidate he had wanted to reject. I wonder if he's facing the same kind of age discrimination, now that he's "so old."
Building Better Software
I would like to hear from programmers that have been at it for 10 or more years that aren't 'burned out'
love is just extroverted narcissism
as in, arts and crafts: in many ways, programming is an art form, not a science
and honestly, if you take exception to this description, i will go so far as to say you aren't a real programmer. you haven't pored over a piece of code, and, after cognitively digesting it, sat back and thought: "beautiful". that's an aesthetic description. because programming DOES have a genuine aesthetic component to it that really delineates the difference between a creative rock star and a code maintenance bureaucratic functionary
but what kind of art is it, cognitively speaking? and i would say: it is more like a being a movie director than being a musician
but people THINK of programmers like musicians, with a musician's career arc: you are a nobody, then you skyrocket to fame, then you fade and are a forgotten has-been doing greatest hits at the country fair: called in to adjust their COBOL from the 1980s
programmers should be thought of like movie directors, who can most certainly be a geniuses at a young age, like robert rodriguez, but don't really hit their prime until their 30s and 40s, like chris nolan, and are still valuable as greybeards making great stuff in their 60s and 70s, like martin scorsese. and the young hot shot movie directors might be glowing hot, flying by the seat of his pants with tiny production budgets and just his friends to help, like a young programmer fueled on soft drinks and potato chips at 3 am. but the older movie directors are sitting atop large multimillion dollar productions, with a giant staff of cinematographers and key grips and production assistants... more like commanding a battleship than a dinghy. in programmer terms: moving into management
so as for the prejudice of ageism in programming: maybe there is just something about a young supple mind that makes art that is exciting and electric. i mean i had to do a double take just now composing this comment: i described a good programmer as a rock star above. showing that even within my own way of thinking about programming, i am applying the false musician's metaphor for the artistry that is programming, when it is more like being a movie director
programmers are movie directors, not musicians. that's my metaphor and my message, even if i myself can't keep my story straight
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
I leave at 5PM because my experience has taught me how to avoid many of the problem new coders create for themselves. I get twice as much done in half the time compared to when I first started. Looking back at my first experiences as a programmer, I laugh at all the late nights spent working diligently to complete code only to find that I had checked in something inadvertently or forgotten to check something in that broke the build. This in turn wasted many other people time simple because I was too tired to think. The idea that technology has changed tremendously and older coders experience no longer applies is LOL. First the technology has primarily gotten smaller and faster. And coding techniques have improved in some ways but degraded in others. It all still ends up as binary in the end, something many of my younger colleagues don't deem to get which leads to some extremely sloppy techniques. These arguments are mainly bull similar to memes like out sourcing saves money (usually at the expense of time and quality).
The field expanded greatly in the 1990's. When I interview with a tech lead, that tech lead is usually younger than me. During the interview process, the tech lead sees from my resume that I have a lot of experience and knowledge, and then sees from his overly-targeted interview questions that I am not expert on the specific thing he happens to be working on day and night at the moment. Based on a "failed" interview, the tech lead is able to dismiss a potential leadership threat.
This will continue to go on until there is more age diversity in the field, which will take several decades for the dot-commers to mature. Meanwhile, since I started nearly a decade before dot-com, I more or less am limited to those businesses that have people older than me.
I wrote this last year on Stackoverflow. Still holds true this year. Edited slightly to remove reference to another post there.
I'm 49 and I'm a programmer.
Well actually I'm a DBA, IT consultant and Business Analyst too. But in my heart I'm a coder - and I think I'm getting better with age. And I make a nice living at it, thank you - but I put a lot of effort into setting myself up that way.
There has always been ageism in IT. I entered commercial IT relatively late in my mid-20 after being a research scientist (biological - but writing scientific code for analysis). When I went to move jobs at 28 looking for an Analyst/Programmer job one recruitment company told me I was 'too old'.
Ha. Since then I've done a rollercoaster so far as coding is concerned - followed the big corporate trail up though systems analyst to project manager by my mid-30s before deciding I really missed coding. Went to a small organisation as senior developer then morphed into DBA for 7 years - but started writing code at home which grew contacts and income until I started running my own consultancy a little over 10 years ago. I purposely don't grow larger because I don't want to spend my time managing other people, but I do have a large network of other consultants in complementary fields (graphics, management consultancy etc) I can collaborate with.
My clients are nearly all in the SME sector, most I talk to the boss directly and they no or limited development support inhouse. Age in this case is an advantage as experience with systems in business means that people trust me as I can both deliver software, and deliver the right software for the business context. There is something awfully satisfying about being able to go to a client and say 'you need to spend $10k on this hardware and software development to support this' and the client does it because they trust your abilities and the experience you bring to recommend that decision. It helps I'm a complete neophile too and I replace my skillset every 5 or 6 years - I'm currently moving to Python and .Net (and raving about Ironpython for desktop apps)
So I spend about 50% of my time writing code, 25% doing 'business IT consultancy' and 25% general purpose IT to support that - for instance several of the systems I've developed for my clients are web based - and I run the web servers to host them.
And lastly it's a great job for fitting with family life and commitments. I have my office in the house (large room, lots of computers and screens) and I work probably 10 hours a day, but it fits with family. I've been at home when my kids were small and when they've come back from school as they've grown older. I don't even have to be in one place - last week I had to see a client on site at the same city when my son is a student, so I go in, see my client at lunchtime, sit in Starbucks all afternoon coding on my laptop, then take him out for dinner. Perfect mix :-)
So ageism - phah. Ageism is only a problem if you associate with people who are ageist - and as a society we're growing older and many of those older people who do have work going are not going to be comfortable with giving it to youngsters. There's plenty of opportunity for older developers, but you have to play to the strength of the experience you've accumulated and adapt. If you don't learn new technologies and stay excited by what's happening then that's your problem, not ageism.
Myself I see myself coding until I drop. I'm actually looking forward to being more flexible as I get older - when all the kids have left home we've plans to equip a camper-van with all the tech I need and wander around europe nomadically for a year or three working remotely as needed.
Coding is the best occupation ever invented. Who on earth would want to give it up?
The problem at Microsoft is that, once someone has reached a level of experience enabling them to spot flaws in the overall product architecture, they become a burden on management. Questions along the lines of, "Why don't we just fix this crap?" interfere with getting the next release of crap out the door. So its time to move them aside and hire in someone who still thinks Ballmer is God.
It's getting difficult to find such people without having to recruit in the third world.
Have gnu, will travel.
A lot of people seem to think that programmer productivity has something to do with lines of code produced. That misconception gets propagated by uninformed managers, who are basically looking for something that is easy to measure.
In reality, productivity has more to do with achieving required behaviors with a minimum of code-writing. When a fresh-out writes 3000 lines of code, discards or changes 2900 of them, and ends up with a 700 line program that only sort-of works and only remotely resembles the design, after 10 weeks of working 70 hours a week, is that really productive? If an older guy thinks about the problem for two weeks, spends a day or two writing docs, writes a couple pages of code in one morning, tests it that afternoon, tweeks it a little the next morning, spends another day improving comments and updating docs, and has the whole thing finished and solid in 3 weeks, is that really less productive?
Uninformed managers reward the guy who works 80 hours a week and writes lots of bugs. The buggy code needs to be fixed, which then requires heroic amounts of overtime. They reward the overtime, without understanding why it was needed. By contrast, the guy who gets it right the first time, and doesn't need to fix it, doesn't have to work those silly hours. The uninformed managers also do not understand why a program doesn't need to be fixed, and why overtime is not really needed, and so the better programmers are not usually rewarded.
Programming is about function and behavior, not lines of code.
Just for fun, I sometimes run 'uncrustify' on a mess of old code, or change a variable name, before doing a small logic change. My nontechnical director gets a report that counts the lines in each commit.
Granted in my mid-30s I'm not greybeard but I can tell you that you don't earn less as your experience increases. If you do, you're not doing very well with the job hunt. Poeple pay you more for your ability to get things done despite difficulties that will stump an inexperienced coder.
This article is pure drivel. It's advice made to con old experienced programmers to undervalue themselves, put up with shitty conditions and leave the game. It's the kind of advice a used car salesman gives you as he's trying to sell you an old bomb with the engine about to fall out. This guy's either a coder who wants less competition or he's a manager looking to hire cheap.
Oh and one more thing: If you can't out-code quite naturally a college grad after 20 years in the game, you're in the wrong game, or in the wrong job all along. By naturally I mean without spending a lot of your own time learning.
These posts express my own personal views, not those of my employer