Too Old To Code?
Weyoun writes: "Mercury News has an interesting article up about age discrimination in the Valley. As a 23-year old software engineer, I'm doing great right now, but I'm terrified about what will happen when I hit 40 or 50. Software is the only industry I know of where one's marketability is highest right after college and decreases geometrically thereafter. Any ideas for a second career?" Better yet, is this only in Silicon Valley? Only in the United States? Talk amongst yourselves.
At least you don't become obsolete as fast as the hardware you work on. Now that would be scary.
One time I threw a brick at a duck.
I think that maybe they're afraid of people who are going for lower end coding jobs and who are older because older people just getting into the industry are less likely to do well in it. I'm sure they'd take highly experienced coders for higher positions? Just an idea.
:)
As a person just entering the industry (im 18 and gettin outa high school) I'm wondering what kinda jobs I'm going to be able to get and how to STAY marketable. I duno, wish me luck
which planet are you living on?
your experience is not at all common. you're worth more with more experience. right out of school, you have no experience, so obviously you're worth less.
not sure where you're getting this info from..
--
--
"It is now safe to switch off your computer."
Turned 22 last week - feeling old already.
My two cents: us young guys/gals in here now, are like the "baby boomers" of the IT world.
I think I'll have a job for another 25 years. Then who wants to work after that anyway - time to retire.
I used to discuss "when we turn 50" plans with co-workers regularly.
The network admin is going to open a "cyber-cafe / bar" in a college town; the mainframe sysprog is going to open a key duplicating kiosk in a mall, and I'm going to run a B&B somewhere in Michigan.
And we're all in Chicago.
Yes, that's really my e-mail. Don't change a thing.
Teach.
I seriously hope not! I'm 23 myself and am attempting to get into programming.. Its hard enough trying to get good without the fearful prospect that its all in vain as no-one would be willing to employ me at 25!
Sure, if you don't adapt you'll not do well. There are great people who've endured since the beginning. Wozniak (sp.) is old, for instance, but he's managing.
Also note that old languages are still in use, too. (Just cause something's deprecated doesn't mean it's not used!) COBOL is still in use, probably APL, too.
I think ageism is just as bad at the other end of the spectrum. I'm 15, and while I'm no Kung Foo master, I've been frequently doubted as per my coding ability. Just cause I lack experience doesn't mean I'm bad at coding. I was best in my class (a class I took at IU), but the social dynamic was often that of condescention. It's just as hard for us little guys, I'll have you know.
Mike "e-mail me for more" Greenberg
http://www.yourmothernaked.com
The porn industry shares the same feat, marketability decreasing with age.
.jpgs...
(Except for fetish - some people luv'em saggy.)
Now where did i put those
I think something nice and relaxing like the french fry machine at Mc BurgerThing would be a step up.
134340: I am not a number. I am a free planet!
At the same time, that isn't entirely true. I've found in my experience that I learned very little from classes that I didn't find out by looking around and exploring on my own. That older programmers can't dal with the new technology just seems to be a stigma associated with the field.
Can you teach an old dog new tricks? Maybe. But who teaches the young dogs new tricks?
Myrr.
Jake
Dating: while( 1 ){ call_girl(); get_rejected(); drink_40(); } return 0;
After you become useless for coding maby you should go back to tech support.
Ahh. Remember those old high school days?
-----
If my facts are wrong then tell me. I don't mind.
Well, I'm a webmaster, and have been since before I was twenty. Been doing it for awhile now, and I havent really seen any web programmers over 30. Although, at my current job, there's nothing but database programmers who are over 40. I havent seen one younger than 40 yet. But all the techs, web programmers, and newer technologies go to the younger guys. I guess it could be that we grew up doing nothing but sitting in front of a computer screen, but I've learned almost everything I know either from self teachings or by an older coder showing me the ways. I ain't one fer' that fancy book learnin'. Hopefully the ages will naturally balance themselves out over the next decade, or I'll be out of a job soon :)Sharkey
www.badassmofo.com
It's shocking to see how much effort these trolls put into their posts. I mean, who typed all of that out? Most people wont even read it. Geeze, copy paste I guess :)
By the time you are age fifty, you will, most likely, have found other things that hold your interest in life. Even if you haven't found that certain something, you will have spent a lot more time in the field than the new kids on the block, and will probably be able to keep up on a lot of things in the industry if thats where you stay. In addition to finding something along the road, if you continue to work in the IT industry, you will probably (depending upon your investments and spending habits) have enough money to retire before you are 50 anyhow, in which case, it doesn't matter so much what you do. :) Just make sure you enjoy what you do, since 40 hours a week is probably close to half of your waking hours in that week ;)
-- 'knowledge is power. power corrupts. study hard, be evil.'
I feel computer programming is an apprenticeable skill. Indeed, it's similar to writing (as in English). It takes 20 years for a naturally gifted writer to reach the proficiency of a master, and only a handful of years for an apprenticed writer. We need something similar to a Master's of Fine Arts.
Programming isn't just algorithms, it's mostly heuristics. They can't teach those heuristics in academia.
As a young programmer, I know I've learnt more engineering skills by glomming myself onto master programmers than from textbooks that teach only theory. Indeed, I know that no amount of fancy diagrams will make a bad designer good; they may only make a good designer better.
Sorry, I'm ranting. I just wish that finding suitable mentors was easier. If you want a silver bullet, that's it: Share information.
Companies are often interested in older programmers to manage projects, not to to do plain coding. Though you may like it at 20, you're likely to get fed up only coding (Hey, I'm not even 25 and I don't really like coding anymore). There's no need to worry about that. People working at Mc Donald's are rarely over 25, yet does that mean someone who works there has no future after 25? (the analogy is not perfect, but you get the point)
Opus: the Swiss army knife of audio codec
I'm lucky. I'm 31, and essentially "chief programmer" where I'm at. Which means that, although I wrote much of the original code of the project, I haven't written any in months. But I do decide what code needs to get written (frinstance, what services need redesigning), who should write it (based on experience, etc..) and what priority the project should take. If I want to code, I can - although sometimes I have to make the case that it really is better for me to write something in a day than it is for one of the junior coders to write it in 2 weeks.
Don't worry, it's not painful. Part of my job, based on my experience, is to know anything and everything I can about the field. Which means that I pretty much get to do whatever I want for a certain percentage of the time. I hack java, but I also contribute to an open source game, and I've recently started playing with PalmPilot coding. Do I hack 10 hours a day anymore? Nope. And honestly, I can't say I miss it that much.
By the time you read this YOU too will be out of date.
Devilish
--------Irc.destructor.net--------
--------The Geek Network--------
Devilish
www.sci-fact.com - From Fiction to fact -
Your one stop science news and discusion site.
It could be. I think there are many people and managers out there who go to school, graduate, and then don't bother to keep up. School is not enough. School is there to teach you how to learn....that's it. Once you leave, it is an ongoing process. Most, unfortunatly don't understand this. If you keep up with the technology, and do your best to stay current, you'll never be out of a job. Learn to learn without school, otherwise you are doomed.
BTW, I'm 22 years old with a grade 9 formal education working as a programmer in Canada making more money than I'd ever dreamed of.
I think this proves, at least to me, that paper will only take you so far....
Check Out Knexa.Com
Check Out Knexa.Com
KNowledge EXchange Auction
There is some kind of optimality going on here... a cost-benefit analysis which goes from very experienced and expensive to very green and cheap. Usually companies want someone in the middle.
Age breeds wisdom. I work for a defense contractor, and though I'm only 26, my boss and mentor is in his 50s. He has knowledge, relevant today, in the field of radar video and electronics that still can't be matched by any of the "young upstarts". His knowledge can only be built by the years of experience that he has.
Even more importantly, Nigel knows how to bias a 12AX7 into distortion. (Look that up if you're into tube guitar amplifiers.)
As the computer industry matures, if you keep your skills up, I'm sure that there will be more and more positions available for those of us who were on the Internet before Yahoo.
Besides, by the time you're too old to code, you should have already socked away a nice portfolio of mutual funds and stuff. New Viper every year?
Fire and Meat. Yummy.
I know a guy in his mid-50's who is/was pursuing a PhD in CS right up until a year or so ago, when a company essentially recruited him out of the program. He is supposedly working on his dissertation while holding down the job, but it looks like they have put him on hours and pay that make it hard for him to stay interested in his dissertation.
This may merely reflect what others are saying, namely that it is the currency of your skills rather than your uptime that matters. If that is the case, an obvious strategy would be to work for top dollar as long as you can compete with the young'uns, go back to school for a couple of years, repeat until dead.
--
Sheesh, evil *and* a jerk. -- Jade
Well, maybe not, but my friends dad who is a good 50 or so still makes a fair amount of money working java/javascript and database interaction for Unisys. He keeps telling me about the joys of Win2k. I keep telling him about the joys of linux. He says IE, I say Netscape, and his son, my friend, doesn't care. Anyways, I think it is quite possible to make a living programming even if you are 80, as long as you have the nescesarry madskill. The end user doesn't care who the programmer is generally, just the quality of the product.
The glass ceiling come into play in lots of technical fields. What you were taught starts going obsolete as soon as you graduate, so many employers look for young blood with the latest knowledge. Its especially obvious in computer science because thats a new field (compared to say civil engineering which has been around since the Romans). But its also present in engineering where computer analysis is quickly replacing a lot of older mathematic techniques. Old engineers are having trouble getting jobs too.
The key to a long life in engineering is basically getting far enough up the ladder to get into management. After that you really aren't judged on your technical experise anymore. Its also good idea to jump from the sinking ship early before it drags you down with it.
My dad was basically a lower level engineer for most of his life, mostly due to being in the wrong place at the wrong time when layoffs hit. As he got older it got harder and harder for him to find work as an engineer. He ended up teaching.
So far I've gotten all my Karma from telling people they are wrong... :)
Programmers and the like have about as much job security as the rest of us. Their situation is nothing special really, we ALL get screwed:(
This is something I've started worry about myself lately. I'm 30 now and wondering if I can keep up. One of the major reasons I left my job at id Software was to find new challenges and learn more.
I've been programming in C for like fourteen years now and it seems C is starting to phase out. C++ and other languages are starting to become more widely used and I was starting to fear that if I didn't learn C++ quickly, I'd get phased out.
The other problem I have is that from over a decade of work in C, it's taken me a period of adjustment to switch to a different methodology such as C++. Sure I understand the semantic differences in changes from procedural to an object based design, but I felt lost for the first while in applying those theories to real code.
I've found that in order to stay competitive, one must never stop learning. That may even include changing jobs in order to successfully find the training you are seeking.
Due to how fast technology changes, I think it will be rare for a person to stay at the same job for more than a few years in the computer field. You just usually can't get enough variation in the job to get all the training and skills you need to keep advancing your knowledge and your career. If someone does find a job that does provide this, they are pretty lucky.
/// Zoid.
I'll agree that there's a high demand for fresh graduates. They want to grab you while you still have energy (it's ridiculous some of the stuff recruiters will give away to grab our attention around here... like a BWM last semester) and burn you out.
But I know plenty of people who are older and get fine jobs. There was a 45 year old contract killer to whom we outsourced database programming at the company I worked for last summer. He had a great time working 15 hours a week and getting drunk every night and arguing with us about programming languages (until he died of liver failure last year, heh).
If you don't think you'll want to program for 30+ years (I can believe that), skilled managers, system administrators, and teachers are always more valuable with experience.
I've lived in three states during my adult life (I use the term adult loosely), and I've seen pretty much the opposite. Because I'm in my mid-20's, I'm not taken seriously at a new job site right away. It usually takes about a month or two for senior management to understand that I do know what I'm talking about and that I'm experienced and capable of running medium to small IT departments.
By the same token, I tend to work in non-computer companies (i.e. marketing firms, industrial manufacturing, etc), so it's a different world. Perhaps it's not regional, but dependent upon the industry you're in.
-Jer
I'm 29, I've been coding on my own on and off (mostly off over the past few years) while I pay the bills doing the tech-support thing (which FUCKING SUCKS). I'm getting ready to finally go back to school part-time this year, hopefully full-time by next year, so I can learn all the theory/style/background I'm missing. Problem is, I'm experienced enough to know I don't want to work 60-70 hours a week for some might-or-might-not startup; I want to have a life and work somewhere that's past its gotta-make-it-to-the-IPO stage.
/or WebObjects (hey, I'm a Mac geek, what can I say), it shouldn't matter how old I am, and my tech-support background is an asset in terms of useability consideration and the like. But is this really the case in the develpment world, or am I screwed before I start? I haven't been able to find an answer one way or the other.
I figure as long as I learn something useful like Java, C++, XML, and
Just one more thing to worry about, I guess.
I use Macs for work, Linux for education, and Windows for cardplaying.
I find that I learn better now than I did 5 years ago. Maybe it's just me but I'm more effective at learning because I'm now more disciplined about it.
I'm pushing 30 and I work in the IT dept of a bank. There are lot's of people older than me. If you're in the Web industry and don't see a lot of 30+ers it's because they've already streamed into different areas and don't really have a need to move.
I hope I can continue to learn. One of the greatest things I fear is the loss of mind. Inability to learn would be a sure sign that things are going down hill.
Oh well, no point in steering now.
Slashdot Poll: I am
Now, keep in mind the obvious results of this poll (assuming everyone tells the truth of course), and re-read the posts attached to this article. Am I the only one who thinks that these posts are rather funny, given that the majority of Slashdotters are not in category (4)? :-)
Poll Mastah
The moral of this story, it is all about experience. What you did on your last job is more important than how old (or young) you are and what college you graduated from.
CP
Well I have not yet gone to college but I thought the code was for more than the money.
I code for fun. I know people need to support them selves but there is plenty more out there in the IT industry(sp?) then coding. Stuff like sys admin that pay well enough. Please correct me if I am wrong. I'm not 'out there' yet.
-----
If my facts are wrong then tell me. I don't mind.
Being a 31 Netslave the thing I keep telling myself is that I must learn more things and stay in an environment which is optimal to my survival. Sure maybe you coders in the valley or NYC face the peril of becoming Solient Green or going on a weekend trip with Logan's Run... but last time I checked the midwest is still brain dead when it comes to techies. I could if I wanted to jump ship night not at 11:36am and find another job in my field within an hour!
when they ban enctryption only criminals wi$21*J *#JF$%!@#$':
I'm 26, and I'm the opposite situation right now. I work for a local University as a SysAdmin, and I've been here for almost 3 years. This is the place I want to work from when I'm 40 to retirement. Becuase it's a university, where older standards prevail, the agism works in the opposite direction, even if this seems contradictory to some of the the technical employees. I am working with new technologies and all the newest toys, it's just sometimes the younger employees aren't recognized for what their work because they aren't "experienced". Maybe they're looking for someone with 15 years Linux experience, I don't know...
A lot of the young guys are leaving for greener pastures (A University will only pay so much). My wife and I are waiting for a second child (OK, so I'm not a typical young employee), and the job security is maximal, which is great.
It's very odd to be presented with a situation where I could work at the same place in a technical position until retirement. But the benefits are great, the pay is OK (for Canada), my skills aren't dying off, and I enjoy the work. I've worked my way up from Jr. Programmer to SysAdmin in about 2 years... So that's my advice...
I can only speak from my own experience. I got my first programming job at 29. I'm now 32 and I think I still have a lot of opportunities ahead of me.
I live in the midwest and work in the IS department of a major university. I'm pretty sure you won't find any age discrimination in academia. Of course, I'm not making the same money I would in the private sector.
It's my impression that Silicon Valley is somewhat different. I wouldn't worry about it though. If you have 20+ years of experience, there will be opportunities. If worse comes to worst, there's always management.
A dyslexic man walks into a bra.
If I ever have to commission someone to set my VCR for me, please don't hesitate to shoot me, okay?
Oh, and use a big caliber, right? I'll want the job done properly.
Fire and Meat. Yummy.
I interviewed as a UI designer for IBM never thinking I'd actually get the job.
I was 23 years old with an Information Science degree and ~18 months experience doing all manner of tech jobs jobs.
When I was offered the job I asked my new manager why they were giving it to me. The answer was basically age and relative lack of experience. My manager hoped that I would bring new ideas to the lab as well as more likely to "be moulded into the IBM way" of doing things.
I bet the fact that they could pay me 15-20K less helped too!
my blog: good times, man, good times
don't believe it! fight the power. As long as you can think, you can create! Don't allow school to get in the way of your education -Mark Twain --coldfusi0n
Perhaps I'm too cynical, but I think the main appeal for hiring younger workers is that you can get them for peanuts (relatively) and they'll work insane hours for months at a time because someone in management keeps telling them that they're having "fun" at work -- Oh! And they get 'free' Coke and pizza ;-)
Older workers have been there before and know it's bull. 80 hours work with 40 hours pay = 40 hours working for free (and away from your wife / girlfriend / kids / pet fish / Quake) no matter how you slice it.
The secret to staying employed AND keeping your hours to an approximate 9-6? Make sure you USE your experience and move up the ladder to team leader, project manager, pointy-haired boss, etc. etc. and develop into a flexible, effective asset to any company (no matter what the language, O/S, etc. -- they're all easy to obtain after you've picked up a few and worked on a variety of projects). You don't necessarily have to stop coding as you're promoted (though you may grow tired of it after a decade) but a person who stagnates in a given position over a period of decades is often the first to get fingered when the layoffs come -- especially if they're in an easier-to-replace position (like Programmer) and can be replaced by 3 recent grads at half the price.
Its the nature of man to discriminate..
But then again, that saying goes hand and hand with:
People suck.
Personally I think there are two particular issues here:
:)
1. Its hard to stay current, young people start off with a different viewpoint that often helps them, whereas older programmers have to constantly relearn, some people can do it, some people can't be bothered. Take the whole swing of Visual* stuff at the moment, definitely not my scene, the concept of designing a piece of software like that makes me cringe, but a lot of people are doing good stuff with it, if thats the way the future goes, I might end up obsolete out of pure stubborness.
2. Its damn hard work sometimes, long hours coding, hard debugging, caffine and coke and pizza diet, maybe I'll be sick of that stuff by the time I reach 40-50. Maybe I'll start writing books like a lot of other older programmers have, beats all-night slugfests with gdb.
but I have one consolation, one little guarrantee, if I still wanna be in the game when I'm that old, in about 2038 all the unix boxes are gonna need recoding to solve time(); issues, ressurgence in C system programmers? I think so
You can't win a fight.
Lot's o' good comments so far, but the main thing I see is that when I was 20ish, working 80 hours a week was 'cool'. Now that I am thirty-ish, I still do it, but only because I work for a company I have an equity stake in ... and every day, I think about how *nice* a 40-hour a week job would be.
... because the gonzo coders are better at saving really badly managed projects.
I can easily see that when I am 40, I'll tell some manager to shove it if he thinks he is getting more than 40 hours out of me.
That's what I see the carreer threat as. Companies will be more willing to pay for some young guy to work gonzo hours and have no life than for a seasoned vet who will screw up the schedule by "only" working 40-45 hours a week
Look at the gaming industry; exclusively young gonzo types working for companies without strong management skills. They work in an industry where nearly every project involves lots of research, and research doesn't manage well.
-- "Vote Democrat. Because the current crop of conservatives are just bugnut crazy."
I have not noticed such discrimination myself. I am in my late 40s. I was a C++ programmer, then Java and now back to C++. For the first time in 2 years now I am not doing web stuff.
That said I have noticed one thing. Most programmers very soon get tired of programming, why I don't is a question I can't answer. But I have often seen programmers burn out, or just decide sysadmin or business analyst etc is better than what they are doing. Once you're out of the coding loop you tend to stay out.
I have never had trouble at my age switching jobs, it has been in fact ridiculously easy. My bet is that in 10 years you'll think coding is the last thing you'll want to be doing.
But me I just drool at the thought of learning more Python and using GTK+, and hoping MFC dies an ugly death.
Pete
Bitter and proud of it.
At least, here in Raleigh it is.. The really, really high paying jobs are still those for people with 7-10 years experience as a programmer/admin/project manager - and companies looking to fill those spots usually want more mature people.
--
blue
i browse at -1 because they're funnier than you are.
I have an uncle, 46 IIRC, doing COBOL coding at Proctor & Gamble in Cincinnati (btw, he thinks C is nothing special, been around in other forms for ages, etc) so there'll definitely be a market for you as you age, doing exactly what, though, is questionable (I'd hate to think that C/C++ will be looked upon as useless old crap in 20 years)
If you keep learning throughout your career
and keep you skills sharp then there is no reason you easily shouldnt be coding for a long time.
I have seen way to many people get comfy in their
careers and stop learning. Those who keep learning
usually end up managing the lazy ones. I would also suggest that as you age you work towards managment. Techs come and go but managers are tougher to get rid of. Not that they would want to since you are keeping you skills up right?
Malice95
The smartest people I know and from whom I've
learned the most in my 3 years in Silicon
Valley have all been over 40. They all command
the big bucks and most of them are millionaires
many times over. Many of them dealt with the
age issue by becoming consultants past the age
of 50. None of them have gone wanting of
work.
The complaints in this article are nothing new.
A perusal of the Bill Gates biography "Hard
Drive" reveals many of the same complaints arising
from the early days of Microsoft. Startups are
a game mostly designed for the young. Microsoft
went out of its way to recruit recent college
graduates so they had few preconceived notions
about work and so they'd have plenty of energy
to burn out in the ensuing years of labor. Things
turned out well for them, but I've met a lot
of bitter wreckage from companies doing the
same sort of thing but which didn't experience
Microsoft's success.
In summation, if you come here, you're taking
a chance much like the people who came here
150 years ago in search of gold.
Unless you are "high and mighty", any young promising software developer would jump at the chance to pick the brain of an experienced programmer. There's no doubt in my mind that it's one of the fastest ways to learn new techniques, ESPECIALLY the ones they don't teach you in school (imagine that, the school's don't know all).
:)
These are the guys that could attract new talent by offering to accelerate their learning process early on, introduce them to the other company stuff and otherwise make the new guy's life easier.
To many people, this would seem like giving up, but face it: You can't keep up a supreme hacker's pace for 20 years without having multiple heart-attacks. Relax. Play golf. Teach a kid.
On a related side-note, if you are a young developer and you can get into a co-op or internship program, jump on it. You'll be glad you did.
----- rL
Yuck.
I'm currently experiencing this -- I'm 18 years old, graduating high school this year. I am also a very talented coder -- both C/C++/etc and internet languages -- html/javascript/etc. Unfortunately, I can't get a "geek" job anywhere. Why? A few reasons:
Believe me, getting the good geek jobs NOW, even though I am highly qualified, is insanely difficult.
.- CitizenC (User Info)
Luckily, by the time you get 'burned out,' you'll probably become a project manager or some position in management, or possibly just become a yuppy in marketing (yes, cringe).
Anyway, there's always something else to do even if you do become 'obsolete.' Bottom line, just keep current and make sure you have plenty of options opened. Yes, I know it's scary thinking about not jumping up every morning not wanting to code, but just don't worry about it until the time comes.
I'm 30, so I've not hit such problems yet, but I can see it coming. The problem (at least in the companies that I've worked for) is not one of age discrimination, but a strange combination of the pace of technology and a sort of peter-principle-corollary.
/. As one friend of mine once said (of getting a social life), "my .emacs has gone to shit."
First, there's the fact that the technology is changing so fast that the mature attitude that helps in most industries is a killer here. For example, if I look at new things like Zope, PHP, mod_perl, XML and other Web technologies and say, "I have real work to do," then next thing I know I'll be obsolete. One (or more) of those will certainly become critical to my job within the next few years. I actually have to take time out of my career to go learn about them premtively.
As for the Peter Principle, there's several odd pulls on one's career. I'm being slowly herded toward management. I could continue to do what I do best, but there's just not as much of a career path in wrangling ugly networks as there is in managing the people who do. So, as I move into a role that's not my primary skillset, I have to work twice as hard to be successful, and that means that all that time I used to spend reading RFCS is gone. I'm not contributing to USENET. I rarely check
So, given all of that, what happens when I'm 40. It'll be twice as bad then, and I won't be able to fall back on what I learned when I was 25 anymore.... 50 is just downright scary.
In the end, the only real path for me is to get involved in starting a company. Sometime in the next 5-10 years, I'll find a good CEO and a few other technical folks who are hungry for the same sorts of things I am, and we'll set about creating the kind of company where we can happily work for the rest of our careers, shaping our own futures.
Until then, I'll keep sweating.
I must say, though, that in terms of outright age discrimination this is probably one of the best industries. If you can demonstrate competence with the technology that we need, we'll take you. If you can also demonstrate applicable experience over the course of decades, we're going to lock you to the chair until we can get the offer letter drafted.
One thing that many people forget is that the computer industry is very diverse. Different parts of the industry require different skill sets and experience levels.
For example, I'm in the avionic industry where experience is highly valued. I regularly work with people in their 40's and 50's.
To contrast that, most network admins that I know are in their 30's. And most web designer that I know are in their 20's.
Lets look at this, most 20-25 year old are out of college with SOME expeirnce, but they have some advantages over gurus.
1) they are 20 some, they can work 16 hours staight 5-6 days a week with nothing more than a case of mountain dew per day, sure you CAN do this at 40 years old, but it is more difficult.
2) they have the newest and coolest buzzwords on their resumes.
3) they will work cheaper.
4) they ussually don't have a family to support and are more likely to re-locate.
All of this is based of my Stero-typical sixth sense, the above points MAY not be true, but this is what I found.
Seriously, most 20-25 year olders without a family will be happy if they can have a cool car, pay rent, play a game of quake when they get brunt out. Most companies are cool with this.
"`Ford, you're turning into a penguin. Stop it.'" -THHGTTG
Most of the same principals apply. With micros, people just are sloppier. But they should follow many of the same practices.
Even with this programming shortage, employers discriminate against older people. Or they demand exact skills, but then they ask for increases in the H1B visa limit.
Some information on it is at the Programmer's Guild.
Petition to Abolish the H1B.
Fight Spammers!
As far as keeping up with current trends and computer technology, I don't think programmers would have that much of a problem. I know a few programmers over 30 that have kept up with the times (one of them is a big Linux fan). Especially the programmers now, where we're growing up used to a world where change is quick and constant especially with the Internet, and you just naturally learn the habit of keeping up with things all the time and accepting changes. I'd think you'd have to be able to do that to be a programmer anyway. I don't think it's that big of a deal--if you stay productive and continue to be a valuable asset to the company, why would they give you the boot?
I'm not 40 yet, but I can vouch for experience being worth far more than youthful exuberance in actually getting something done. Perhaps a few employers prefer those with less experience and more energy; but when it comes to coding, experience and knowledge can mean orders of magnitude higher productivity. Also, experience gives you a much broader knowledge base to draw from; perhaps not as exciting as your first specialization, but well worth putting up with a bit of aging.
;^)
One final bit of advice: the only sort of older employees that look bad in the hiring process are those who don't seem to have made much of their time. Don't be afraid to rest when you need to, but don't just sit around -- keep aggressively learning and doing, whether directly related to your work or not. And contributing to prominent open-source products can look pretty good on your resume too
DCN
Employeers at businesses that regularly demand extreme hours from their employees are going to be wary of older people.
n ish-by-the-deadline treadmill by not employing someone who has been in the software field long enough to bring real, solid engineering discipline to the company. Most of the "young Turks" fresh out of school don't have that kind of know-how, nor the experience to know how to apply it. Thus, the company burns through its people, never really able to break out of that vicious cycle.
Which is too damn bad, really. The way I see it, these employers miss a golden opportunity to get off the 80-hour-a-week-have-to-sleep-under-the-desk-to-fi
Tsk, tsk.
Windows is the Acme of computing -- in the Wile E. Coyote sense.
(Ok, bad joke. But my eyes are changing again and I need new glasses. *sigh* Aging sucks.)
My own experience says that the industry and location you are in has a lot to do with it. I've been doing the code thing for over 20 years now and I couldn't get a job at a web company if I had to: kids don't hire old farts, they want to be surrounded with people like themselves. The fact that I'm current with C, C++, Java, etc. is irrelevant. On the other hand, getting a job at a manufacturing company or something like that would not be difficult; I get calls all the time. And hey, Linux may be cool and WinX may suck donkey donuts but the AS/400 is still a killer box (C is a bit doggy, tho'.) REAL easy to debug.
Once you've gotten too old for the new media crap (or more likely based on the people I know, burned out,) you gotta start thinking out of the box if you want to stay productive.
Trust me on this: after a certain age, a family is more than adequate compensation for missing those 20-hour days!
If/when open source doesnt catch on, I hope after people retire they dont forget you can allways code, just think no job, and lots of free time. just think after 40 years worth of experince, to actualy do something productive and not centered around money. Sort of a hopefull in my opinion.
You say tomato, I say collage. Leeme lone. =)
.- CitizenC (User Info)
Well by the time you're 40 or 50 you should have climbed up the ladder far enough--or have gotten your stuff well enough together--to be sitting your big ass behind a big marble desk in a big leather Lay-Z-Boy recliner telling other college grads what to do while you play around with software and visit porn sites, right? :p
............ no.
The scary thing is the option: Management.
Oh, yeah, it's the same think...
Bodrius
Freedom is the freedom to say 2+2=4, everything else follows...
BUT these are people that have grown up without computers. So the next generation of "Old" people will most likly be more clued up about computers and be more capable of doing the job.
Interesting. But what makes you think that computers will be anything like they are today? If you don't evolve like they do, you are screwed.
(Will SOMEONE please help me with this 3D virtual toaster?!?)
----- rL
I believe this has to do with late baby boombers thinking whether they can handle going into such a complex field normally swamped by young fresh college grads. As soon as the current programming population ages, it'll all start to balance out, you'll see.
Frankly, as a 21 year old with no current job prospects, what worries me the most is that by the time I am 40 or 50, I will have been relegated to the status of "useless" by some faceless government agency, and that my body will be thrown into a vat where it will dissolve, leaving only my internal organs to be snapped up by some illuminatus.
Don't worry about the future since you have no control over it.
Hopefully I didn't put any [] around my words.
Working as the lone Java programmer in an entire company of RPG programmers, my perspective is that the amount of discrimination depends on the skill set as well. If you're looking for someone fluent in RPG or COBOL, you're not going to look for people just out of college (unless you can't afford good programmers). However, if you're looking for something that's new, really new, there's going to be a disproportionate number of younger people with skills in that. That's not age discrimination, that's just the talent distribution. However, because of that distribution people tend to look exclusively at the young guys (and almost all of them are, unfortunately) for this stuff. Young dudes in college have time to learn and play with new stuff like Java, XML, Linux, and all those other happy buzzwords that the marketroids love so much. For the older guys, the ones that have been programming in an old language for 15-20 years, it's harder to find time to learn the new stuff. It's not that they can't, but it's harder. Plumbing goes bad, the lawn won't wait, and the kids are coming over this weekend, and there goes all that time you were going to spend learning NT networking. Other than that, I haven't personally seen an age bias. My immediate supervisor is in his 60's, and is always willing to jump technologies for a newer one. That's why he got into this business. He's extremely well paid, and despite having less formal education than I do (he didn't know what a red/black tree structure was), is valued much more by the company than I am (as he should be, for his experience and system knowledge). Software is the only industry I know of where one's marketability is highest right after college and decreases geometrically thereafter. Any ideas for a second career? Weyoun, I want some of what you're smoking. I mean that. :) No experience == scum job if you don't have a degree, or you're not able to snow the interviewer. A degree just means you might not screw anything up really badly while they train you, so companies are willing to take the risk. Five years of experience, and the recruiters won't stop calling. Ten years of experience, and you don't need recruiters any more. 0Wolf0 ......"We also know how cruel the truth often is, and we wonder whether delusion is not more consoling." - Henri Poincare
Well, that and your lack of a "collage" (sic) or university degree indicates that you might not have the patience to stick to a job pounding code for four years. That's a red flag my own company tends to look for.
Don't underestimate the experience you can get from school projects, or the value of a degree. If you believe you're "highly qualified" while at 18 and never having held down a full-time job, you might be in for some nasty surprises on your first real project.
Teach is a nice thought, but not in the SF Bay Area / Silicon Valley.
-TShrew
(completely agast at the state of education in California)
If you are not (or you are a VB developer who does not merely pacify wizards but actually does real development) then you will never be obsolete. Why? Because the IT industry is the most poluted industry on Earth (poluted, not worst). There are so many idiots who have never coded a single decent program inundating and choking it. Their sole reason? Jump on the IT bandwagon and get rich.
For an employer, it means shelling out premium dollars (or other appropriate currency) to hire those who do have a clue. Often (though not always) these premium people are mature, 'Old' developers. So, if you are good at what you do, you will never become obsolete (regardless of how old you are).
PS: This applies everywhere, not just in the valley.
What to do? For one, make sure you are up on new stuff. Subscribe to a few programming magazines, read Slashdot. =) Even if you couldn't give a rat's ass about XML, managers have heard of it as a buzzword, and might be impressed that in addition to your years of experience, you're up-to-date on new tech.
Learn a couple other languages. (Java will never be the C-killer it was once postulated to be, but it's not going away.) Get some certifications. Get involved with OSS!
I'm just talking out my ass, of course. I won't reach that age for a while, and I'm just thinking of what I would do. I'd love to hear from some Old Timers® who ran into this problem and found ways to work around it.
On the other hand, there are plenty of senior project jobs that a whippersnapper would find impossible to get. I works both ways. If you're too old, you're tired and out of it. If you're too young, you're irresponsible and inexperienced. Blah blah blah. There's a little truth in both of those statements, but hardly as ever as much as people think.
---------///----------
This post is not redundant, please don't moderate it as such. I repeat, this post is not redundant.
--
I like to watch.
There seems to be two major problems in job-hunting for older (where older means 35+) IT staff. One is that the recruitment process is often in the hands of people who don't understand IT well enough to grasp that a programmer with 20+ years of experience in a variety of languages across a range of environments will likely have few problems picking up new ones. So older (meaning middle-aged) people often get filtered out because they don't have the buzzword du jour, and the recruiters (consultants, HR departments, etc) are too clueless to realise this isn't always relevant.
The second, and probably more significant factor, is that a 40 year old has a bunch of experience, not just of real-world implementation of theory, but dealing with business. A 40 year old is harder to screw than a fresh faced 20 year old, and will want a fair salary. Plenty of companies - I've seen 'em in action - like young staff because they are to naive to realise when they're getting screwed, and too inexperienced to know how to look after themselves when they realise what's happening. Young workers are cheap workers. The fact that young staff may not have enough real world experience to delivery as high a quality of work to customers as staff who've been around the block a few times isn't important, since customers keep coming back, right?
One of the things I like about my current gig is that we hire 40+ years olds as well as kids, so we can have some wise old heads who've got the scars and can teach the kids the pitfalls, rather than having the new staff learn on the customer's dime.
The biggest example I can think of is professional sports -- how many football players make it past their 30th birthday? At least a tech worker can count on getting a job out of college.
Actors in movies are another high risk field, I guess. I am reminded of Boopsie from Doonesbury -- she started out doing spring break flicks and wound up trying to get by in roles as mothers.
All in all, I'm not very sympathetic for these people -- it's excellent work while they have it. Then again, I'm not very sympathetic for tech workers in this economy either.
--Jack
I've hired a lot of engineers in my time and I don't think age matters as much as passion and cluefullness.
:-)
I've seen kids (less than 20) who get it and people 50+ who get it (didn't have many applicants who were over 50 so it's really hard to tell beyond that). I've also seen people of all ages who were clueless.
A good age mix is often a distinct advantage in a product team as it lets some of the old hands inject some real world wizdom into things. Better products are the result.
John (Retired at 37
Never underestimate the bandwidth of a truck load of tapes
The only things I look for are ability to code how I need and affordability. I can't afford the most expensive people, and that translates into having a green staff. I've hired folks in their 40's, but they were making a career change and did not have the experience to command the higher salary.
I'm over 30 myself and worry that I am pricing myself out of new jobs. My gut tells me that I will have to become more of a beaurocrat in the business side and less of a developer on the systems side to continue justifying my higher income. (I believe business people grudgingly pay good technologists high salaries but have no trouble seeing intrinsic value in good executive staff.)
...................
...................
...................
To sum it up, I would say that in order to be employable in the technology industry you simply need to understand and master two things -- a relevant technology, and the art of getting a job.
The reason for the first is obvious -- if you don't have skills in a relevant technology, you won't last in a technological job very long. The only real corollary to this is that if you happen to have started out, or landed in, a lasting technology (UNIX, Databases, etc) then you're probably set for a long time. If on the other hand you wound up as a DOS tech or a Matlab specialist or something, sooner or later you will have to either switch to the hot technology of the day like VBScript or ActiveX or DHTML or whatever, or you'll have to move to one of the more stable long lasting specialties (UNIX/DBA/etc).
The second part may sound somewhat redundant ("in order to get a job, you have to know how to get a job") but what I mean is that you have to know how to interview well, you have to know how to network, make friends all over, keep on top of the goings on in the HR industry and figure out if you're getting a great deal or a bad one and figure out when to jump ship and when to stay. All of these choices are subjective, and it is technically possible to keep your career alive through luck and/or brute force interviewing etc, but learning how to play the game will make it a lot easier.
Right now it seems like people in the tech industry have it easier than in a lot of other fields. There may be some places that require degrees, some places where gender-bias is still rampant, etc. etc. but in general most of those typical discrimination problems either don't exist in the tech world or at least aren't as bad.
It seems to me that the biggest threat to the status quo of the tech community is that there are a lot of really bright CS graduates entering the job market. I think this probably means that a lot of the idiots that we all know that don't know dick about technology but still manage to pull down $70-$100k as a sys admin or a DBA are going to wind up getting bumped out in favor of the leaner meaner generation that's coming up the pike. I think they'll still be able to survive, but it wont be as easy for them to command the ridiculous salaries they do now.
If you have half a brain you should be able to stay gainfully employeed in technology for the next century or so.
It is very possible that all programming in ten to twenty years with be done by artificial intelligence engines utilizing genetic algorthms.
You may have to retrain in some new field if you do not make it rich with your new internet startup
There have already been some radical advances in this are that are downright scary. The programs look like nothing any human would right, but they work.
there are plenty of links discussing this here at genetic-programming.org
One big plus to this is that this has real potential to make Microsoft truely obsolete, when everyone can grow their own software.
"It is a greater offense to steal men's labor, than their clothes"
The last company I worked at was composed mostly of people from 27 and up.
I'm 21, fwiw.
Paul
I am getting started in software design and engineering because its fun, I like doing it, its very rewarding, and generally pays pretty well. I'm 24.
However, I don't plan to be doing this forever, at least as a means of supporting myself. I will always have the desire to do it, but even at 24, I am getting burned out on the rat-race. Every one of us has seen the pressure that employers to be better than our coworkers, to the point of back-stabbing each other and fighting for raises and respect that we ALL deserve.
I am only 24, and I already have to fight for jobs with people who are younger than me, and those who are older, yet I keep hearing about this abundance of jobs that is out there for people like me. It doesn't make them any less qualified than me, or more, people are getting into this business younger and younger all the time. Employers are always looking for a way to inflate their paycheck, and if it means paying some college grad 20k/yr less than the guy who is 45 and knows what he is doing inside and out, they wont think twice about it.
Just this last month, I found out that I busted my ass for 10 mos straight only to get a whopping 2.1% raise. My boss just got a nice 10% raise because of all the money he saved in the dept this last year. Imagine that.
I don't plan on being in the business more than 8-11 more years, I want to use what I make now to make some sound investments, get a team of Siberians, move to Alaska, and not have to look at a computer for money ever again.
"See, we plan ahead! That way, we never have to do anything now."
"Too old to X" isn't just an artifact of the software industry, but is true for all scientific and technical skills. Studies done in the middle sixties to late seventies showed that roughly half of all degreed engineers at retirement were working in some area other than engineering.
If you think you are immune, think again. There are many factors that contribute to this, many of which have nothing to do with knowledge or skills. Be sure to stash away some goodies, "just in case," while the good times are rolling.
Octalman
Been there. Done that.
I'm a 33 year old core-nerd with skills in software engineering. That means I know how to write code that keeps on keeping on. That's something the young and enthusiastic just don't know how to do.
They can't keep their hands off the keyboard long enough to do a proper analysis of the problem before diving in and solving some other problem that might be vaguely related.
I'm in a position now where I'm working with one of the more well known web development and design companies and I'll be in a position to help influence hiring, and I'll certainly want to have a group of young and enthusiastic people, but you can be that I'll be pushing for people in their late 20s to early 30s with maturity and experience to keep tight control on the loose cannons.
You may consider this a flame, but it's not, people need to recognise with the greater amount of business-to-business and technology integration that is occurring on the web at the moment that we need to learn from other disciplines and pay more attention to the design of the system.
How much more bad press does this industry need from hiring young hot-shots who leave gaping security holes and couldn't manage performance analysis while they develop "kewl" sites.
Maturity is an undervalued asset at present, and what people need to understand is that old war-horses have fought in lots of battles and understand how to win.
I am seeing the tide turning, and that's a good sign for companies and their customers.
I have been offered 6 figures recently for my > 20 years of experience, so saying that you can't get great bux > 30 years old isn't true in my case (one exception means it "isn't *always* so").
I atttribute my coding longevity to two things:
- Insatiable curiosity, which keeps me learning new languages & technologies;
- Truly *listening* to people of *all* ages and learning whatever/whenever I can.
I'm a part-time college prof, and I am a complete believer that the best teachers/professors are those who can learn from their students. I can't count the number of times I've heard or seen some cool new technology (recent example : Python) from a student who's "really into it". I've had some wonderful hack sessions with this student as well as others I've met through her.On the other end of the spectrum (agewise), some of the best techniques I ever learned came from a mainframe (IBM) systems programmer who was in his 50s at the time I learned from him.
I'm not trying to brag overmuch here .. just want to pass on some hope to those who think > 30 is the kiss of death both financially and technically : it ain't necessarily so *if* you can maintain your enthusiasm & curiousity.
I'll only stop coding when I want to stop coding; I won't use age as an excuse for stopping.
In many situations, one doesn't have the financial or time luxury required for formal training, and you do the best you can. But don't kid yourself about its advantages.
I'm 33 and I think I have more than a few years ahead of me. Perhaps by virtue of having gone back to school a bit er..."later than usual" I have no qualms about applying for jobs that list a maximum age of 29 (yes, age discrimination is alive and well in Japan, folks).
;-) ) and more importantly, to enjoy what you are doing. If you love your job you're not likely to burn out doing it.
:-)
I think the trick may be just to keep current with new technologies (see? reading slashdot and arstechnica doesn't *have* to be a complete waste of time
That being said, I think I'd like to put some cash aside over the next few years and if/when I eventually reach the burn-out or non-hirable level, open up a restaurant in Tokyo and enjoy watching people lining up for an hour and a half to dine there.
In that short time frame, we sometimes ask BIG companies to help us with their product and send one of their experts for 2 or 3 days. They call that a senior consultant. The guy we get is always either a god-damned genius, or a politically-correct looser. Chances of getting one or the other are usually even.
I said "politically correct" because those 9am-5pm consultant can always answer your questions... but only if they have a phone nearby or a XYZ Messenger running in the background.
I can not believe that their managers don't know they are out of the game. I'm pretty sure those big companies are willingly keeping them in their "expert" pool. Even if some customers are not happy with their performance, this brings too many dollard$ every day.
So, if you like a 9-5 schedule, are good at slideware or colorful object diagrams that you don't pretend to implement, and have an address book full of junior consultants who know a lot more of what is used nowadays, aim straight at a Senior Consultant carreer in one of those BIG companies.
Sorry. It had to be said.
I remember reading once that "experts" (that nebulous phrase) only allow for the existence of prodigies in two fields: music and math. That is, young people (espec. children) can only be as good as adults in those two fields. Perhaps we should add programming to that list. Of course, that depends on how much you think programming is independent of other skills that we can only learn through growth and time and maturity.
Ceterum censeo Microsoftam esse delendam.
Ubiquity, an ACM magazine/forum, had an article titled "As A Man Grows Older" by a Ubiquity reader. The story is somewhat chilling. Here's the opening sentence:
)
"In 1991 at 50 years old I was laid off. At the last section meeting (with my supervisor) the statement was made that 'There is going to be a layoff. The younger members of staff do not need to worry.'"
(url: http://www.acm.org/ubiquity/views/u_reader_1.html
As a young person, I am worried about job security as a grow older. I am heavily leaning towards majoring in something other than computer science. Programming is almost always multi-disciplinary anyway. I plan on being an expert not only in the programming field but in another; able to get jobs in both fields.
khaladan
while i have seen the age of coders make a difference, you are never too old to be and admin. anyone whose been dealing with these f***ing silcon nightmares for over 20 years can get a job as a sys/network admin in the blink of an eye.
we speak the way we breathe --Fugazi
When I was in high school, I took an unpaid co-op placement at Southam (they own lots of newspapers in Canada). That lead to a (paid!) summer job at KPMG. My Shad Valley job was at Dofasco, a big steel company.
I'm now an undergrad at Waterloo, studying CS. I'm on my sixth and final work term, and I've worked for school board, a university, a tech company, a web dev house and a startup, the latter two in SF.
My point here is if you have the skills, people will hire you, regardless of your age.
If you're going to university ("college" to you US folk), look for one that has a co-op program, internships, a "professional experience year," or something similar.
Paul
Perhaps they are scared that their wrists will give out if they employ them, and face a lawsuit.
Perhaps an office of unknowing fresh graduates under the iron grip of a bloodsucking corporate manager and other management-types in cahoots might also find out what they're missing if someone who knows the score in the industry shows up at work.
Perhaps I read Dilbert too much.
In short; what will make you valuable when you are old and slow? Your ability to go back and fix your own arcane crazy bugs that only you remember from the first time around. All my old geezer freinds have brick walled themselves into job security.
Good coders are what people want. People who can learn, people who can apply previous knowledge to new problems, people who can be creative. :-)
If you can demonstrate this objectively surely you should get snapped up by some smart company somewhere?
To use Slashdot's favourite hacker as an example, can you imagine Alan Cox going for a job coding C or device drivers and getting told "Sorry you're over 30 and you're no good"?
Of course not, because he's got proven skill in his field.
Learning needn't become impossible as you get older. Yes it may take a bit more time, but really good coders aren't just automatons, they are people who apply themselves diligently and consistently. No-one wants a coder who shows flashes of brilliance but is unreliable.
Since when have diligence and consistency been attributes only available to those under 35?
Of course if you want to really get into the big money in a sure-fire way you'll be in management by the time you're 40, but hey it isn't everyone's bag.
What a crock. The problem isn't that old coders aren't worth anything, its that any old people who were/are coders have either JUST entered the field, or left the field for upper-management jobs. Thats leaves an 50 y/o coder still in the job with shit pay because he's probably not worth shit. Thats how I see it, in a nutshell.
My university, Oregon Institute of Technology, is well known in the northwest, because students come out of college, ready to work. No retraining is necessary. This is becuase all of our professors have lots of industry experience, they do not come straight out of school. They teach us how to work in business. Very little theory, lots of hands on work. Junior and Senior projects that are treated just like a business would. If we had proffessors that were just out of school, we wouldn't get that kind of education. It is absolutely priceless. Also, the town of Klamath Falls, OR (in South Central Oregon, 45 Min north of Weed, CA) has such a low cost of living that the prof's don't have to be on welfare here!!
------------------------------------------
If God Droppd Acid, Would he see People???
What are we going to do tonight Brain?
Well, when I was 18, I thought I was hot stuff, too. I was pissed that I couldn't get a 'geek job' even though I was well versed in C++, Java, HTML, Javascript, Perl, etc, etc, etc. Then I went to college.
I'm 20 now, still in school, and about to start my first 'geek' job. In the two short years since starting college, I have learned an incredible amount that I wouldn't have known otherwise. My advice to you: Go to school. Don't get cocky when you start programming courses, if you act like you don't know anything, you'll be amazed at how much you actually learn. Even if you don't end up with a degree, do the school thing. You'd be amazed at how it turns an employer's head when you say "I'm a Software Engineering student/ Computer Science student at..."
Anyways, without any college, getting a decent job will be tough because kids who know C and HTML, in my experience, are a dime a dozen.
Gah
High tech is a very competitive field. While one can argue the effect about having other outside interests (like having a life), we do peak mentally in a similar fashion as we peak physically. The human body and brain ages and loses capabilities.
So what is the solution for old geezers? Once again the solution is not unique to the computer industry. One must become a mentor, teacher, or manager. This requires that one realize that younger ppl can do a better job than you at doing the hard nitty-gritty work. An older person can provide much needed guidance and advice. Furthermore, one can succeed if one has the ability to identify the "kids" who have the skills to do the work.
Additionally, an older person can survive by other means. In the computer industry, one such method is called legacy code. In this case, one does not allow for any upgrade of software that is mission critical. Don't laugh. I work with someone that uses this technique to survive. I don't recommend this method.
Finally, while this may be a controversial subject, H1-B provides a conduit for the addition of new talent.
In the valley, certain companies are/were notorious for hiring fresh out of school, burning them out, and going for more. My first employer, (name deleted) Semiconductor, was doing this in the mid-70s, and at last report is targetting employees over 50 for layoffs, regardless of skill. At times, the criteria is how much it costs to terminate an employee.
My SO was unemployeed last year, and at one place (name deleted because I forgot) the HR idiot said "we don't want people over 50, because they'd only retire in 20 years."
In my experience, a company will use layoffs as a golden opportunity to get rid of the people with the 'worst' cost-benefit ratio. This sometimes means that the people with certain key skills are let go. This leads to situations where key systems go down and the laid-off employee has the opportunity to make a killing as a consultant, or to exact revenge by refusing.
It *is* harder to get older employees to work absurd hours. One of my co-workers, aged 23 or so, will routinely work 10 hour days at a minimum, and has been found coding at 2AM. I have a life, pets and an SO, and prefer to get home at quasi-rational hours. I know this costs me money, but screw it; it's my life and career.
I'm only 26, but I think the biggest thing people are missing is the overall concept of the internet boom: cash in quick, early, and young, and get the hell out in as much time. Don't forget to put in 90 hr weeks during that time.
:) ) was everything. At the startup I'm working at now, when we go for more funding, we pitch that one of our greatest strengths against our competitors is that we have more senior management -- and they seem to be buying it so far. I won't even go into some of the problems we've had with client engagenements that were your stereotypical CA startup companies, where the oldest engineer was 22, and didn't know their head from their ass.
:)
That's the way the valley has been operating during the past, say, 3 years. But overall, from every "real" company I've dealt with, experience is a must-have. I worked at DEC for 1.5 years, and experience (on the engineering front at least, not counting marketing
The internet boom is dying: companies with a zero revenue model are suddenly finding zero funding. The stock market, in terms of those stocks, are going belly-up. You talk to the landlords in the valley area, they all know they have only about a year left of charging stock options as rent. As such, it'll only take the valley another year to realize what every other non-CA company I know of already knows: experience counts.
So, in short, if you're over 25, don't go to CA. You'll like the rent better wherever you go as well.
Sorry to say this, but in reality probably aren't as good at programming as you think you are. I took high school programming and I thought I was pretty badass, I could out-code nearly everyone. Then I went to college and found out I had a lot to learn about coding. I also had 3 programming jobs in college; each time I went into a job I thought I was badass and ended up seeing just how far I had to go. When I dropped out of college to work for a local startup, again I thought I was pretty badass. Well guess what, history repeated itself and I have been learning at a breakneck speed. I'm having a great time learning from guys who have been coding for 20, 30 years. I was never a "bad" coder, I just wasn't as good as I thought I was. Unless you're another John Carmack I think you'll learn you aren't as badass as you think you are, either. However, surround yourself with people better than you and you eventually will become great.
.agrippa.
Perhaps part of it is the (stereotypical) lifestyle. Older people "have a life". They have a spouse, maybe kids. They don't WANT to spend 60-80 hours a day living on Jolt and video games. They want to spend time with their families.
I know that I raise this issue up front when I'm interviewing. I explain that occasional OT is okay, but I don't want to work 50-60 hours regularly.
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
Kids on this thread better learn that coding skill is like reading/writing skills in this business. Ie. ANYONE can code. The key is to learn good engineering principles and learn to learn. A colleague of mine is 66 and he can pick up ANY language in 2-3 days. I, myself, am 28, and I picked up object-oriented Perl in 2-3 days and chunked out a beatiful (everyone says so, incl. Perl experts in the team) and HUGE framework in only 6 weeks. Learning Perl:2-3 days, the rest of the work took 5 weeks. The point was that I picked up Perl in just 2-3 days and managed to deliver my project in time. So stop patting yourself about knowing how to code. Everyone knows how to code. If all you know is how to "code", you are in trouble...deep shit...:-) Instead of becoming an expert in a particular language, learn the engineering principles, the hardware/software architectures, learn project management skills, learn how to budget your time, prioritize your tasks, fine tune your communication skills... Once your fundamentals are solid, you can learn ANY language in no time.
Right now, as a coder, you can only see the mountain of code in front of you and your ability to 'make things go'. As your experience matures, you will become more valuable to the company for strategizing, instructing, or theorizing new models, just as combat veterans become more useful to the Army for training grunts or planning battles (rather than pulling triggers).
For me, now at 32 yrs old, it's not my fingers (coding ability) that is valuable to my company, it's my brains.
davejenkins.com |
If you got the opportunity, do it. You might want to expand your bredth of knowledge also.
Programmers are like gold now, experienced programmers are like diamonds. If a programmer keeps up in their area of expertise, while maintaining general knowledge of current professional development, they will only become more and more valuable. The trick is to always learn, steadily. New gimmicks will come and go, some will stick around, learn the ones that do. The fundamentals of solid code, planning and organization never lose importance.
The young guns have a place too, we need someone to pull off those 20 hour days on a diet of pizza.
What is that? Some kind of instruction or order to be carried out?
/. community needs any prodding, nor a direct order...Is somebody recording everything we "discuss"???
We'll discuss it if we like, but I sorta doubt the
This reminds me of a story that an older Aussie programmer once told me...
A young bull and an old bull are on the top of a hill looking down upon a heard of cows. The young bull turns to the old bull and says "Why don't we run down the hill and root us one of those cows down there?" The old bull replies "Why don't we walk down and root them all!"
While I'm certain that in most cases age doesn't play a major role in the skillset of a programmer I'm certain that in many cases it influences creativity, knowledge in cutting-edge and upcoming technology and motivation.
I'm currently working for an 1800 employee IT company who's employees are predominately greater than 30 years old and I'm constantly frustrated with the level of incompetency and responsibility that certain 'technically adept' members of the organisation have.
We are currently still dealing with the 'ILOVEYOU' virus (we have a 6 hour time delay on incoming SMTP mail due to this). My boss doesn't know how to set up a yahoo.com or hotmail.com email account and couldn't figure it out if he needed to. He doesn't use the Internet. He doesn't understand TCP/IP. He prefered having dumb terminals because they presented less problems. The company has no record of internal resources, be that people or hardware. Moving a group of people around the building requires manually gathering phone ports, data ports and updating at least 5 different internal records that are NOT linked to a central database at all. Our firewall that management are proud to say is 'secure' is easily SSHed through to bypass the filtering/logging web proxy.
What particularly annoys me is that (BTW, I'm in Australia) the 'career ladder' in this orgranisation places current part-time university students and graduates well below the more senior members of staff and basically works on the old 'the longer you work here, the higher you climb' mentality.
A company where age is irrelevant and SKILLS provide the basis of rank/responsibility would be a godsent for both of us it seems.
Let's see what social problems we have found in the New Gold Rush:
Domestic violence (as per article in SF Weekly) among immigrants, hard to stop because a woman's right to stay in the US often depends on staying married to a man who works in the US
Age discrimination, which happens -- the anecdotes form a pattern, even if it's hard to study statistically (for the reasons stated in the Merc article). Employers are looking for just-out-of-college youngsters who will work hard and long hours for less pay, cheap perks, and a social atmosphere. They don't want to pay older people more for fewer hours; they foolishly look for specific skills instead of aptitudes (the "required: fifteen years of Linux experience" joke). They're also hungry for more cheap H-1B workers (see previous /. discussions).
Environmental disaster from chip making (see previous /. discussion), plastic wrap using, the paving over of viable farmland, the foreseeable mess that is/will be Silicon Valley urban patterns, etc.
It really is a new gold rush, a hundred and fifty years later. Yes, it has changed the world. Yes, it will have lasting effects, good, and bad. Yes, when people are chasing after money, the unsavory parts of human nature come out in full force. Lee Iacocca said in _Talking_Straight_ (the sequel to his autobiography) that his parents told him not to go to casinos; all that loose cash lying around attracted the worst kinds of characters. He compared Wall Street in the 1980s to such a casino; one could easily move the analogy to Silicon Valley in the 1990s and, if we don't change (due to external or internal forces), the Naughties.
Ceterum censeo Microsoftam esse delendam.
What you're seeing is probably due more to the number of people in your age group who are into computers, than it is to any actual discrimination. For every 40-something coder, there have to be at least fifteen 20-somethings. I can't imagine that someone with 15 or 20 years of experience programming computers would have much of a problem getting a job, unless of course you're talking about a job doing something that they've never done, such as web "programming" or maybe Java. That wasn't what the older guys cut their teeth on, so you won't see too many of them doing it. But that doesn't mean they don't still have jobs doing what they did cut their teeth on. I'm 27 and I've been working on computers, both hardware and software, since I was seven years old. I was already an accomplished technician and programmer by the time I got my first job in high school building and fixing systems. That was almost 13 years ago now. I'm mentioning this because someone made a comment about techs over 40 being clueless. I learned from people who are at least that old now, and the ones I knew were far from clueless. How many techs nowadays know how to do component level repairs rather than just swap boards? Not that you can do much of that nowadays with everything being surface mount and cheap as dirt to boot.
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
Well, if you really think about it, patience usually comes with age. Patience is one of the most important components of a good programmer. I'm rather young, still a student, and I find that there are times when I'd love to just screw a program that I'm working on, because I lack that patience.
With age comes experience with solving problems as well. My dad is a programmer (actually according to Dilbert, he's a consultant... they make more money. :-P) He's well over 50 years old, but he has companies begging for his assistance. He also makes heaploads of money.
If anything, a programmer should get paid more and demanded more with time, like a good wine.
You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
I was in a situation where an up-and-coming IP-telephony company was extremely interested in my skills while I was still being educated. Granted, there are benefits to being youthful...sex and programming are more enjoyable, not to mention can be endured for longer time periods, but it's still the "Old Sage" that would most benefit a company having growing pains.
My point is, I think, that while the industry matures, it perceives itself as still being youthful, and intends to keep that perception by continually pulling younger and younger people into it's web...Young, hip, trendy.....Not the geeks of yesteryear; Wozniak, Gates, etc
"Anybody who tells me I can't use a program because it's not open source, go suck on rms. I'm not interested." (LT 2004)
I do unix administration and some programming, but I have a degree in physics and I'm currently working on my phd in physics. Being young is one thing, but I can say for certain that some of the older guys that keep up with the cutting edge are scary scary good at doing what they do. Being young might mean that your insurance is a little less and that you play well with some of the younger members of a group, but passing over older programmers that know their shit is probably the worst mistake you could ever make.
I think all of this has been over hyped. I am a 19 year old doing the same work, and as good of a job as my 30-40 year old developers, who i must say have a lot more experience. And even 10 years from now im sure those guys are going to be doing really good in programming, or managing programmers. :). You can't code forever.
I think people should just realize, that with age, comes management positions, so get over it
All the best coders I know - the ones who consistently produce high quality, relatively bug free code in short amounts of (calendar) time - are over 40. 80 hours per week versus 40 hours per week is just a factor of 2; maturity and breadth of experience can buy you a factor of 10 to 100.
-- Remember that we live in a world where all the really big decisions are made by people with short attention spans.
The biggest obstacle to getting a new job once you start to make good money is headhunters who don't have any idea what you do working with HR people who don't know what you do. They do word matches on your resume. If you used the Microtech Research compiler at your last job to do embedded programming they aren't sure if the new job that uses VxWorks and the gcc compiler for embedded programming is a "good match". By the time you are my age (47) you should know 100 people at 50 companies that you can just call another engineer that works there and at least get an interview.
-- tom
That, my friends, comes with age/experiance.
---
--
If I actually could spell I'd have spelled it right in the first place.
My dad is in his mid 40's and has been programming for more than 20 years now in the Valley. I have yet to see a younger programmer more "valued" then he is. Not only does he have more experience, but also he really knows what he is doing. That's what it is really all about. No company wants to voluntarily give him up. After a startup he was in was bought-out by one of the valley's long-time companies, he was "valued" much better than any of the other programmers by far (which went in age range all the way down to the low 20's.) He currently puts in well over 40 hours a week, something you wouldn't expect a veteran to do. Another /. post says that when the writer reaches 40 he is going to tell his boss that he isn't going to work more than 40 hours a week. This person is literally screwing himself over (and saying many things to his boss and his company that he doesn't realize.) Programmers are valued because they are veterans, but if you show that you don't care about things, especially the company, you might was well take up a different occupation because you're digging yourself a hole. Dedication and knowledge are the key here. If you have those two things, you're in. Companies really do know who those people are, and they aren't about to not accept you just because you're older.
A programmer's union, just imagine the press the strikes would get.
A couple of observations:
The PC revolution affected people's brains as well as all the little machines. The reason that there's a premium on coders under 30 is because we (well, I just turned 30 so cut me the slack) are the first generation to be brought up with the PC. Like a lot of Slashdotters, I started young, at age 12 on a TRS-80, and later that year on Ataris. I think that's a profound generational shift that can't be overlooked; we are the first digital generation, the first to be brought up in a PC and videogame world, and that's as profound to this Internet age as the baby boomers were before us to the age of activism and rock'n'roll in the 60's. Coders currently over 30 probably learned their craft in the mainframe era either at large, old-economy companies, in the goverment or in academia. That's an institutional mindset, and specializing made more sense when dealing with Big Iron. After all, computing undoubtedly innovated in the 1970's and early 1980's, but the rate of change was glacial compared to the Net- and PC-driven redline of the last fifteen years.
Today's code kids, on the other hand, grew up digital and networked, with Logo in elementary school and Nintendo in the home and on and on. We've watched the technology move up and forward and eight ways from Sunday, and we know innately that it's damn foolish to pick a technology and say it's gonna be around forever. We effectively got a head start before we hit the workforce that those before us could never have had.
The key, I think, to success over 30 is to stay flexible. We get attached to the things we learn, and rarely unlearn them. But willingness to admit that software evolves, techniques change, and favored ways of operating obsolesce is a survival tactic that becomes increasingly necessary in this industry as the rate of progress increases. And the current generation of young, PC-weaned programmers gets that, innately. As they age, I think that the perceived glass ceiling will raise to hold their numbers.
But it's equally possible to argue that the glass ceiling doesn't really exist... when you say "programmers over 40" you can mean novice programmers who happen to be up there in age, or you can mean programmers with 20 years' experience. If it's the former, a 20-year-old novice will have an advantage over him because of the generation gap I mentioned. If it's the latter, though, he'd have to lack an awful lot of common sense to not be able to parlay years of *nix experience into a job in today's economy.
What it comes down to is this: if you evaluate the technologies to make an informed decision about which ones you think are the best and the most viable; if you learn those technologies accordingly in a caring and thorough fashion; and if you never lose sight of the big picture of this network of users and developers, nor the little picture of what it means to move information in bits; then you will probably not want for work in this new economy, whether that work is coding, managing, consulting, design or otherwise. If, on the other hand, you learn from a book or online course which switches to flip and which buttons to press to make a certain application or language do its thing without a certain amount of analytical knowledge (insert MCSE diatribe here), then you run the risk of waking up one day to find that those buttons and switches have moved or that, even more likely, that no one uses that application anymore. That's a much bleaker future.
A career based on a knowledge of how systems work can be long and fruitful and varied. A career based on a knowledge of one OS or one language or one app is a crapshoot. I think today's young'uns know this, and when the kids being born today start coding, it'll be twice as true.
"Luck is the residue of design" --Branch Rickey
Programmers who are now in their 50's were in their 20's thirty years ago. Now think, how big was the computing industry then? How many people did it employ?
Look at it this way: suppose all the software developers who were working 30 years ago, then in their early 20's, still have software development jobs today. In this scenario, it still looks like the developers in this age bracket are in the ``vast minority'' simply because they are a small group of people.
What may be true is that computing is hard to get into past a certain age, or that people are otherwise unlikely to get into it for whatever reasons: having other careers, or believing nonsense about software being a field for young people (supported by phony statistics that fail to take into account the population dynamics).
In other words, the 55 year old developer you are likely to meet today is probably in that small minority of people that started programming a good twenty or thirty years ago, rather than, say, five years ago.
But that is not the problem being discussed; what is being discussed is starting young and *staying* in the job that you love. I think there are no worries there.
When twenty year olds put in 60 hour weeks stressing to meet that deadline - that's nothing new. I'm sure plenty of people here have done it. But when was the last time you heard of a fifty-year-old doing the same thing? The reason that these "elders" have trouble getting work is that they tend to have a life outside of it. Kids, wives, golf, whatever. I, for one, think this a good thing.
But I have to say, many geeks would disagree with me. I'm not passing judgement on anyone who does, but the young people who empathize with victims of this problem are the ones that create it. Everytime you pull all-nighters, work weekends, go on coding marathons, you're sending a message to the company that they can get way, way more work out of a twentysomething at a way, way cheaper price (you haven't had 20 years of raises jacking up your pay). This isn't anyone's fault, but I think it's a big part of the problem. Any PHB would take a hypermotivated employee willing to work for pizza and stock options over a more staid, money-in-the-bank guy with kids to put thru college and financial obligations. Pizza and stock are a lot cheaper than cash and full bennies. That's just simple economics.
--
I think there is a world market for maybe five personal web logs.
I give a link to my original policy on recruiters and agencies in which I say that I will work with them under strict conditions - conditions that they would almost never meet, yet I held out the policy to be fair.
But because of the general ignorance and downright rudeness of headhunters and recruiters, I felt it was time to take a stand and not just stop working with them, but be public about it and encourage others to stop working with them also.
Sometime soon I will write a page for employers about why they shouldn't work with recruiters either and what they can do instead.
Right now though I have a helpful page entitled Market Yourself - Tips for High Tech Consultants which explains in detail how I find good clients without the use of agencies or recruiters, and how you can too. It also goes into further details of the problems of working with recruiters and why I think they're an all around bad idea.
And if you're a recruiter reading this, be sure to read the Word I Live By.
Mike
-- Could you use my software consulting serv
Frustrations of an old programmer:
Many programmers hate the more rigorous languages, because it's harder to get a program to compile the first time. Wrong answer, people. Catching errors at compile time is far cheaper than catching them later. What you want is for the program to run correctly the first time it compiles. I write mostly in C++, but I miss Modula II/III.
Despite this, it's a great time to be a programmer.
Something you begin to learn when you hit 30...
Working over 40 hours a week doesn't prove you care about the company. It just means you don't care about yourself.
I am far more productive working 8 hour days and getting 8 hours of sleep a night, than I am working 16 hour days and cramming in 5 hours of sleep.
Actually I think I learned that lesson when I was 25.
My young friend, please please find an internship. I'm almost 24, and have been programming professionally for 6 years. I started as an intern, and learned much. I have no doubt that you're a talented programmer, as was I (I thought so, anyway) at 18. I don't know what part of the world you call home, but there must some place you can intern...
I'm 18, a college drop out, a big FU out to Miami University in Ohio for wasting 15k of my money on that 1 year there.
:P
I code as a consultant for a consulting firm positioned at Proctor and Gamble for 40hrs a week @ $24 an hour. I run a hosting server that makes a small profit, I do all the database/coding for all my hosting clients. I have several large clients that I code for at $40 an hour, I've probably made 30k+ from independant work alone in less then a year doing this shit.
When I decided to drop out of college I put my resume up on monster.com, the next morning at quarter till 8 my phone started ringing, I was still living away at college and had to drive back for interviews but I had 20+ companies call me and I spent my time reading up on the companies picking and choosing where to work at. Bottom line is I had massive opportunities and chose the place to bulk my resume for shitty pay ($24/hr aint great but it aint beans) at Proctor and Gamble.
I'm a Perl Coder who loves Linux w/MySQL databases, who's had no problem finding work.
I got bored of coding years ago (I'm self taught all through high school), but decided that the only way I was going to make a fortune doing little work is coding. There is nothing easier in the world then this shit.
I made $2k this weekend doing a database application for a client that took me 20 mins because I wrote a program to design all my database systems that is 100% templatized.
Writing the program that wrote it took me less then 4 hours, granted it's not perfect yet, but it did the basic job that gets me the check while I work on improving it with each new client that uses it.
I wonder how you all end up working 80hrs/week, what the hell ru coding that takes so long and is so complicated that it requires this?
On a side topic, why is there such support behind the evil satan language of java?
Perl has interpretters for nearly every architecture out there, thats what I call portability and speed, java is a great concept but show me native speed on every platform not horrible speed on every platform and no native speed on anything.
Just my ranting and raving, I personally doubt i'll be able to still type at age 50, my hands already hurt at age 18 (19 next month), and I've only been heavily typing since I was 14.
I think physically we'll all be half dead before we hit retirement and spend those hard earned fortunes on laser surgery, anyone invent something to fix my vision yet? I'll be blind within 3 years I predict so hurry up with brail monitors
Hey Zoid; don't forget that C++ was born around 1980. You were only 10 then. So you can't think of it as this new stuff that is phasing out C, and giving C programming 30 year olds a run for the money. :)
And anyway, many C++ programmers don't know jack about writing good C or maintaining C programs. They don't understand how to do polymorphism or generic programming unless it's provided by their language. Smart C hackers have been doing this without language support, and thus better understand how it works, and have better intuition about the performance impact of certain C++ language features.
I hated that. Almost as much as someone messing up my cards! Nearly went to jail for homicide once ;-)
I remember booting 8080 prototype boards, with jumpers in octal too. Ahhhh, the good old days!
"History doesn't repeat itself, but it does rhyme." Mark Twain
"Patience is a virtue, afforded those with nothing better to do." - I don't remember
Just because a computer company will not hire you does not mean that you can make money off of programming. If there are a bunch of older, highly experienced programmers are considered unhirable by stupid corporate entities, those older programmers should band together and start their own software company. With all their knowledge and experience (and some decent marketing), a startup of veteran coders could kick compete with and kick the butt of the people who let them go. Agism is part of the old tired economy, not the new internet economy. If you can deliver a better product faster more reliably, and no one will not hire you to do so, you have the opportunity start your own business and do it yourself and wipe out your competition.
I think that the trend we are going to see is that boom of young programmers from the past decade is going to continue to work until they are in wheelchairs. Their longevity is going to make it harder for large, inexperienced saplings to get into the industry, unless the industry contiues to grow wildly to accomodate the new blood. ;)
I predict that as the growth tapers off, there won't be as many opportunities for new programmers. Programming will once again be the profession of bearded old farts.
In other words, in the computing industry, there will be a repeat of what has been recently happening in other industries. The ``internet boomers'' will be prosperous, and have stupid ``Generation-Z'' kids who can't get the good jobs that their parents have.
What do you think?
I think many posters on this topic are in denial - they are not addressing the real question. They speak of what they'll do when they're older than 40 or perhaps 50, failing to note that they'll probably be working until they are 65 or 70!
Only a few of us will have the opportunity to retire early. A few will have the money, health and opportunity to open their own business, such as a bed and breakfast. Of those, only a fraction will be succesful. The remainder will need to "get a job" again. Nor can every programmer become a manager - there aren't that many managerial positions available, and firms are eliminating middle management positions every day.
So instead of skirting the issue by discussing your 40's or your situation at the age of 23, let's consider what your future would be if you were a software developer between the age of 45 and 70.
I am a software developer who is 51 years of age. I worked on minis and mainframes for years, then cut my own path through client/server and then through web software development. Despite the fact that I have maintained "cutting-edge" skills, the job offers become exponentially less numerous with each year after 45.
The reality is that, unless you are truly exceptional, you should not expect to remain a software developer beyond the age of 40. At that point you'll begin to encounter resistance to your salary requirements, and the way you look (older). IMHO before you reach 40, you should already have a bailout plan laid out.
From where I stand, I would not now recommend the field of software development to anyone today as a career. Instead, I would recommend a field where accumulated knowledge is useful and respected and where an expert's judgement is sought. Such fields as mechanical engineering, materials science, and law (if one could stand it!) would be my recommendations.
Voices from the Bathroom
J. Chris
I work for Adaptec on a next generation storage management software project. The project is in Java, with some C/C++ for hardware interfacing. That being said, I'm 25 and the youngest engineer on the project by eight years. My team lead is old enough to be my father, and my manager is even older! So no, age does not matter as much as you'd like to think. As long as you are willing to grow, learn, and take on new challeges (or even management!), you will never be obsolete.
"I shoulda never sent a penguin out to do a daemon's work."
Cat, the other, tastier white meat.
You must remember that software engineering isn't just about programming, though it is often the most popular part of it in youth. I am 24 years old and work as an SW Engr in the defense contractor industry, and I can tell you that, at least here, it is a very small part of the job. Programmers working ridiculous hours do not solve the problems single-handedly if they do not adhere to a software process that helps a company identify issues and resolve them with an efficient use of resources. That's one of the "engineering" sides to software engineering. If you don't follow an established process, how is that different from just being a programmer hacking code? Some true software engineers tire of coding and move into leadership roles where they direct their own projects. Some even become managers. The point is, older software engineers can benefit from their experience by being moved into project management positions where they can guide those young, programming-oriented individuals into a career that isn't just about programming.
There are two sides to this that I see converging, which both lead to the conclusion that you probably wont have to worry too much.
The first is your own technical ability. I've done a lot of interviewing for a few different companies, and the only reason that a lot of older applicants were not hired was simply that they let themself stay in some area that grew obsolete too long. Embedded system programming, C, whatever. I also personally have seen a number of older programmers (40's) who simply did not care to learn anything new (like using a terminal screen instead of X-windows).
The message here is - keep up your skills! At least show an interest in current technology, I personally take into account even just an interest in something done on the side. Keep interested, and enthusiastic! I know that a programmer with 15 years of experience could be really valuable even if it's all in some "unfashionable" langauge, but the thing is most of them project such an air of settlement that I have a very hard time choosing them over someone with three years of experience who really loves what he's doing!
The other side of the problem that I think is being solved slowly is the way companies work. Generally it used to be I think that programmers after a while just drifted into management. Now I've seen a few companies (including my current one) offer a good career path that is all technical - you can move into an architechure role that might involve less programming, but not a lot of HR or pure paperwork kinds of things either - a lot of system design.
I also believe that companies will slowly start to realize how little they really get out of working people 70+ hours a week, and start working more 40 hour weeks with flextime. That's what I do right now, occassionally we work longer hours but for the most part my group works 40 hour weeks, and are very productive. If companies start moving to a system like that, then a lot of older workers will be fine with staying in a technical track as it does not deny them family or leisure time.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I STILL love powers of 2!
But really, it does make sense that older people find it harder to learn... It also makes sense that that's a horrible sterotype... Somewhat akin to not hiring a black person because they all join gangs. Agism is horrible, but hard to stop...
What you will find is technical knowledge, especially in the software industries, provides the least return for your investment.
The ability to organize and lead teams, express thought concisely and coherently, and associate with a wide variety of people is the best skill you can learn.
That might not be what a 20-nothing programmer WANTS to hear, but it's the truth.
Look at it this way, the industry you work for is rapidly making it possible to job out tasks to people in countries such as India or Russia who have more technical education and will work for peanuts. There are literally rocket scientists in Russia who work as street venders to earn money. All a programmer has to offer is, from a business perspective, a technical capability that is easily replaced.
Is the magazine Midnight Engineering still around? I remember starting a software company right out of college. The myth was seductive, I'd make tons of money and life would be wonderful as I tinkered in my home lab. At the time, that appealed to me a heck of a lot more than working with people.
But that's just as much a myth as the fantasies of becoming a rock hero. Sure, some people manage to make it, for a very short time. The extreme few manage to make it work for a long period of time. Those who do are saavy businesspeople first, talented musicians second.
It's good you've taken a critical look at the older people around you who are in the same field. That's what I did. I saw men in their forties who were broke and had crappy marriages (if they weren't divorced already.) Many of them had kids who were hoping to have a future and there was nothing those guys could teach their kids other than how to fail.
Don't misunderstand what I'm trying to communicate to you. I'm NOT saying there is no future in the computer industry. I'm telling you wealth and lifestyle in this industry are NOT in the cards for programmers. Programmers are the technical assets used by the businesspeople. That's not some socialist crap, it's just reality.
Put another way, who at an auto dealership is most knowledgeable and capable about the physical charcteristics of cars? Is that person the one who has welath and lifestyle from the business?
Have you seen the show on VH-1 called "Where are they now?" There are a lot of life lessons to be learned from it.
(I know this might seem a little harsh and I suppose there will be a bunch of flaming replies by people in denial. I'm not trying to push you down at all, I'm trying to help you shock yourself into understanding there is a way you can be involved in the technical stuff which you love, you've just got to make those skills secondary to the skills which will help you build success.)
There are a number of wonderful books that will help you think like a proper businessperson. I'm currently reading "Rich Dad, Poor Dad" and everything I've read rings true. The saying, "the rich get richer and the poor get poorer" is very true. It's also fair. If somebody specializes in thinking and acting in ways which bring success, they should succeed. I wasn't taught that in school or by my family. I was taught to surrender my destiny to somebody else.
I started as a programmer and tried to force that into giving me what I wanted. By it's very nature, programming couldn't give me those results. I've since learned a tremendous amount and now own an equipment sales business and am starting another. Five years ago I flew to Chicago to interview a number of frat brothers. Every single one of them was doing lousy. I talked with maybe thirty-five to forty of them. These are all guys with college degrees, many of whom I fully expected would be incredible successes. But they ALL hitched their wagons to principles of failure, not success. I was stunned. I also knew I didn't want to end up like that. It seems you don't, either. Good for you! If you're from a public school family like I am, best prepare yourself for oppostion from them. My family didn't support me (except for my Dad) because if I succeeded it prooved they were doing the wrong things. Crabs in a bucket and all that. That's a heavy life lesson and, when faced with it, most men proove they're really boys.
My income is more than 4 times what it was as a programmer and I'm able to call the shots. I've also found the analysis and planning skills I learned as a programmer help tremendously. You'll be surprised at the thought skills you already have. Learn to channel those skills towards other ventures while not jeopardizing what puts food in your mouth presently and focus on what it takes to bring confidence to other people. It's relatively easy to duplicate what everybody else is doing because of peer presure but if what they are doing won't get you what you want, do that which will. That may sound corny, but that's what it really takes.
I started doing some research about the I.T. jobs shortage, and found that on the surface there was almost universal agreement that yes there was a shortage and anyone who could put their pants on the right way could get a job in software. Then I went a bit deeper, and came across the work of one Dr.Norman Matloff. In his presentation that went before the U.S. House Judiciary Comittee he argues very convincinly that the only shortage is of young and relatively cheap programmers who are willing to work insane hours. Industry heavy-weights lobby government to allow them to "import" more cheap labour from India, eastern europe etc. It seems that (for once) when the laws of supply and demand are stacked in favour of the prospective employee the prospective employers out there felt they had to get together and change the rules.
I just don't buy it. Originally, there may have been a trend towards older programmers being the people who came to it late. Now, you can see programmers in their 50's who learned to program in their early 20's, and programmers in their 40's who were programming as kids.
:) This industry has *PLENTY* of room for people to get better paid with age and experience. All you have to do is keep learning, and you'll find it quite easy to stay active.
Guess what! They're not so bad. Honestly, I've met very few people who *don't* get substantially better with age.
I think it's just a myth. Ignore it, play with computers whenever you feel like it, and it'll just get better.
:)
For a frame of reference, about seven years ago, I was overjoyed to get a bad-paying contract position with no benefits and crappy work environment. Now, I'm getting reasonable pay, 3 weeks of vacation, full bennies, stock options, full telecommute, bonuses, company-bought computers to play on, and mildly flexible hours. To make it even cooler, this is where I got sticking with my committment to low-stress work.
When I got out of college, I did a programming project for $8/hour. Now I typically charge $100/hour, and I'm not exactly marketing this, I just do it for recreation.
Now, compare this with, say, RMS, who was last seen north of $200/hour. Or ESR's famous millions.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
One bizarre thing I've run into as a 34 year old consultant who is starting to run into this very sort of 'ageism' is that if I cowtow to the stereotypes that most young folks in their early 20's expect from a guru, I'm more likely to be accepted than if I simply walk in and act myself.
What I mean by this is that if I walk into the office with all the latest gadgets hanging from my belt, hair up in a ponytail, and invite the young 'whippersnappers' over to my house or show off a two-seater sports car, they are more likely to say "wow, he must be a really frood programmer" than they are to say "obsolete fossil."
I've tried both: leave the Handspring Visor and the web-enabled cell phone and iBook running PowerPC Linux at home, and I don't have a shit chance in hell of landing a contract. Walk in with all these gadgets, and I'm worshipped as a guru and a as a programming God.
It's a damned good thing I know how to code, otherwise, it'd be very easy to snow the 20-something managers.
My advise is to keep up with the latest gadgets and be willing to show them off at parties^H^H^H^H^H^H meetings--it makes you seem like a hip older guru than some over the hill lamer.
It's stupid, but it works.
last week I was at an internal workshop and there was this guy who was at least 3 times my age (I'm 27), hearing aide and all! ;-)
he was working on writing a client for SIP in Linux. And he was quite capable and knowledgeable, at least for his age
So don't worry, but also don't forget that people change their goals as they grow older!
Seriously though, in my experience, I've seen programmers of all ages and I've seen some damn good programmers in their 40's and 50's. Programmers that could teach many of us a thing or two. I wonder how old Stallman is, and he seems to have new tricks up his sleeve every year.
What's slowing you down as you get older is you tend to get a life and want to do things outside the computer. Once it stops being your driving force, you fall out of that damn good programmer position pretty quickly. So go ahead and choose; a life or top billing on the programming team.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
If you ask me, too young too worry about that :-)
---------------
---------------
JavaScript tutorials scripts
This is probably the hardest path of all. You might think that's it's exciting and high pay and all, and yes while sometimes the paychecks are fat, all too often the clients are bastards and I'm up all night programming on something the client isn't going to pay me any more for and maybe I'll end up getting sued.
I've spent more than one evening searching through the house looking for change dropped on the carpet so I could buy food with it. This because of bad clients. So I don't suggest it for the timid.
On the other hand, it is a better life. I was rotting in my salaryman job. I hardly ever showed up for work more than four hours a day on the last perm job I had largely because I didn't give a damn. But I put in long hours now, because I enjoy it and I'm happy to give the hours when I need to.
It's important to make the distinction between making a hard quality effort and just pushing at the keys all night. I worked a 29 hour day once when I was 23 or so, on my first programming job, and I would never do that again.
On the other hand, I spend a significant amount of time these days, and have throughout my career, studying the fundamentals of my work.
I've been reading STL Tutorial and Reference Guide by Mussel and Saini lately, and I think the most inspiring Slashdot feature since I became a regular reader was the C++ Answers from Bjarne Stroustrup. I'm starting to work in a more thorough way at understanding C++ in a fundamental way, and I believe this will be reflected in my work.
Note that this is different than learning the latest technology-of-the-day, say COM+ or even Bonobo. Sure there's lots of great technologies available for our use and go ahead and learn how to use them, but don't waste a lot of time learning them in depth. Learn the fundamentals in depth.
Even C++ will go the way of FORTRAN someday, but there are some essential principles there that are of lasting value and it is those things that I am trying to glean from my studies.
This is what I advise you to do to.
By the way, I didn't just end up as a consultant. As you might guess from my article Manic Depressive Geeks early on in my career I felt my prospects for a traditional job were poor and I would do better to start my own business where no one could take it away because of my history of mental illness.
I soon found that I really didn't know enough so in the jobs I did get I was very determined to learn as much as I could, and also early on settled on the strategy of always choosing jobs based on what I could learn from them for the future, rather than what they paid or what potential for advancement they created.
Mike
-- Could you use my software consulting serv
I believe that what CmdrTaco has done with his bitchslapping has some good side effects. As much as it is censorship, oppression of funny but inflammatory posters it also allows men like OSM to really show their artistic sides. Without the ability to post stuff all day long without the risk of being banned for downward moderation Taco has created a new beast on /., a new man for the new millenium. He can be truly creative without fear of reprisal, for we can only mod him up. Thank You
Slashdot - contra bonos mores
Man, you sound old. Really old. Grizzled. How many people "nowadays" know how to use a slide rule?
Hands in my pocket
) interface an Apple II to a stopped-flow spectrophotometer, and 2) set up an Apple II controlled robotic system for circadian rhythm experiments /. knew whether those were medical machines or the latest physics experiment?
Ooh. You know big words. Do you think that anybody reading
So we old farts are not necessarily out of date or technically illiterate!
LOL! Wow. You know 8085 and Z80 assembly. You know how to interface Apple IIs. That is amazingly modern technology. I mean, what's a Pentium III when you can interface Apple IIs with the ENIAC?
technically incompetent
Oh, now you insult us. Just because we're cutting edge and don't have the time to memorize the layout charts of the Apple II interfacer or work our way through the rigors of Z80 assembly, in the favor of taking networking courses and learning Perl, Python and Java means that we are technically incompetent and cannot possibly be compared to you. Well, you're right. We can't, because you're too old. You never caught on with the internet age and you're back there interfacing Apple IIs and writting operating systems in Z80 assembly.
like people never got fired for buying IBM
Ummm... the traditional version is not buying the standard, and now IBM is starting to adopt Linux... but I assume that you were from the era when IBM, not MSFT, was the standard.
compared to some list of buzz words
So, technical experiance in the field is worthless compared to your 'general knowledge'? You sound like you forgot to get on the bandwagon with the new technology and you're now complaining that you got left in the dust. Sorry, buddy. Maybe some third world governments still need their Apple IIs interfaced with their Z80 assembly card punchers (watch as you catch that Z80 assembly doesn't get read in on cards). In the new e.economy, we don't need the technically incompetent. We need cutting edge, not tried and true center.
I've been a programmer since 1964. (Hmmm, that may be even more than 20 years . .
These days I'm a programmer in my spare time (trying to play with Beowolf clusters on my home network) because my experience is too valuable to the company for bigger problems than coding a new application. I've successfully transmuted the joy of building a new program and seeing it work right into the joy of building full systems and seeing them work well.
Am I a zillionaire yet? Nah. Am I deeply enthralled with my current assignment? Not really. Would I change any of the choices I've made over the past three decades? Never!
So the question is: how do you go from being a newly graduated programmer eagerly sought after to an older but wiser fart who is still eagerly sought after? And the answer is in four parts:
Never stop learning!
Always be intensely curious about new ideas and techniques!
Never be afraid to make a mistake!
Always be willing to admit that it was your mistake - and learn from it!
----
VP Unmarketing, Product Confusion and Linux Distributions
VP Unmarketing, Product Confusion and Linux Distributions
Megadodo Publications, Ursa Minor Beta
But coding isn't everything ! It's just one piece of my job. I spend time writing specs, doing design, reviewing other people's design, coding, testing etc. Other activities include dealing with customers, leading my team, training the newbies. Raw coding ability certainly helps. However, I'd rather take somebody who spends time doing great design and pounds out okay code, over a talented coder who isn't interested in the big picture (the product I work on is ~5M LOC). In my experience, the more you are ready to take ownership and responsibility, the more you progress in your career. In my company, we never ask people any programming problems. Instead we describe the work we do, the technology we shipped, and the problems we are working on. Then we wait for the candidate to ask questions. The people we choose are those who get excited and ask the right questions. If they are smart enough to do that, they are smart enough to code for me.
I agree with this. The point about the programmers in their 50's are a small group sound right. Furthermore, a programmer in his 50's has a lot more experience than a newly graduated student. This might be a strong point in a jobinterview. I am myself a 24 years old software developer, and i see myself getting advice from the older generation, since they have the experience. As stated in the subject - Dont worry, be happy.
-- Jakob Friis -- SW Engineer, Texas Instruments Denmark
-------
CAIMLAS
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
It's not necessarily true that older coders are
discriminated against, but often is.
The real reason is a contempt for the art of programming among persons who hire. This is even more true of technical managers with coding backgrounds themselves. Most people in management who started with coding jobs aren't very good at it and just viewed it as a stepping stone to begin with. Therefore, they have contempt and fear of older programmers who really do enjoy the work.
It's not true that older programmers have difficulty learning or adapting to new trends. Rather, what is true is that they are less likely to parrot buzz words and are more interested in substance. While it is true that some older workers don't want to adapt, the notion of them all preferring COBOL is a myth.
It is more likely that a younger recruit is just in it for the money and is unwilling to learn much of anything, whereas older coders started when the filed was not regarded as a sure-fire way to make a lot of money quickly as it is today.
Places that hire programmers (not counting very small shops) usually hire in batches. They don't really know or care about what an individual can offer, but do know that statistically out of say 10 recruits 7 will be dead wood (regardless of age) and only 3 will do the real work. So, to make the process of hiring easier (for the company) they use some critera like age, but they will never admit that. Age discriminatin is illegal.
I have seen no relationship whatsoever between knowledge and productivity and advancement in this career. Advancement is based mainly on blaming others when something goes wrong and moving to a different job frequently. Typically,
mediocre programmers advance highy by abandoning a project when the going gets rough and adding the experience to a resume. Usually the three out of ten coders on a project who do 90% of the work and on whom others rely for help do not advance highly. They tend to have a sense of loyalty to a project to see it through, and this only hurts their careers as often as it helps.
By the way, you are expected to lie about your knowledge and skills. Employers just want to hear buzz words. Most coders I have known just mimic what the few really knowledgeable members of a team do (code by template) and can do well enough to contribue something with close supervision, but these are the very ones most likely to move somewhere else and never stay at one place long enough to acquire any really useful skills. They just keep moving on and padding their resumes until they get a management position and never have to code again.
In closing, there are exceptions. There are some very knowledgeable coders who see projects through who advance very highly in the industry, but these are exceptions. The main reason is not that age is discriminated against (it is) but that you are not expected to enjoy coding and if you do enjoy it you will tend to help others and help the project as a whole instead of concentrating on stabbing other team-mates in the back to advance yourself into a management position.
There is no industry I have had any experience with in which there is a greater emphasis on buzz and superficials and less on competence and knowledge than the software industry. You are advised to look for situations where knowledge and helpfulness is respected (even if the pay is somewhat lower there) if you want to start your career off in the right direction while young.
The other issue of stress shortening the lifespans of progammers would require a whole book. It is a real issue - to avoid stress, code if you really enjoy it, not for the money. You can make a decent living in less stressful work and even make GREAT contributions to open source on your own time instead of having a high paying coding -> management career that contributes nothing whatsoever of any value to society.
The market is way too tight. Anyone who wants to get a job can get one with a few catches: 1) You've got to learn new Web skills THOROUGHLY and get into that market 2) There are stylistic differences - 20-somethings with goatees and earrings aren't going to groove on the Brooks Brothers suit, Chester. 3) Mental rigidity is the least welcome feature of 40-50 year old programmers. Lose it. 4) 10 years ago it was possible to dabble. Forget that stack. Prepare to read constantly for the rest of your career. It's now a professional job. The biggest whine I've heard from older programmers is that they don't want to read the fucking books. I mean, Jesus, then get another job. 5) If you were a shitty or mediocre programmer, then, yeah, you will have a tougher time getting a job - their smarter about sniffing out the wannabes now 6) get certified in a skill - a modern one. No one cares about your COBOL certification, post y2k. Believe me.
I majored in Computer Science. I learned nothing but theory and UNIX programming in C/C++ in school, couldn't have told you a SCSI card from a network card from a video card. Didn't know anything practical. I started by working tech support, I learned hardware and more about different operating systems. I did Java and Windows programming tasks on the way. I went from there to doing mostly teaching Java programming. I had to troubleshoot network problems in front of a class full of people, which means very quickly. I had to answer questions from people who were used to windows, unix, novell, os2--people who were mainframers and had no concept of OO programming--I had to learn about why SmallTalkers consider themselves superior to Java programmers, and why the most important skill to a really good applet programmer is trigonometry. Every year I get better. When I graduated, I was making $20 an hour. I felt lucky, like I was pulling off some kind of scam. Every year since I've doubled that amount, and I'm still amazed at how much I don't know. (I just turned 26, by the way) The long and drawn out moral is that experience is what you make of it. I've never rested on my laurals. There's a copy of "The Essentials of Linear Algebra" to the right of my laptop right now, and a folded-open copy of Larry Wall's "Learning Perl" on my left. I work as hard as I can, the more my employers see fit to pay me, the more I feel that I should work to earn it. If I don't learn something new today, I wasted the day, and that includes _every_ day. That's what life is for. You don't take a break from learning--LEARNING IS FUN AND GOOD FOR YOU!!! anyway, I'll not rant anymore. I've had a bunch of beers and I'm ready to pass out now. (hey, nobody's perfect!) -t.
Being a relatively old fart in the industry (I learned FORTRAN back in 1974), I disagree with your prognosis. First, programming used to be more of a master/apprentice career. With literally hours between runs/compiles, one learned at the feet of the master. While there are still things to be learned from the masters today, the amount of raw computing power at our fingertips tends to preclude having (or at least taking) the time to learn from each other as much as we used to and instead firing off a debugger or the next compile.
Second, employers want someone who knows the latest stuff and isn't bound into an out-of-date paradigm. Students fresh from school are seen as fitting this description, dinosaurs (like myself) aren't. Every current IT hotshot who doesn't reinvent themselves constantly and stay on the bleeding edge will be a target for replacement. The only exception to this I am familiar with is organizations tied to legacy systems (read government, especially DOD, whom I suspect still have PDP-11's hiding somewhere). And if they are ever upgraded, the people who used to work on those systems will have a hard time getting intro postions.
I'm seeing two discussions here--one about computer science and the other about programming.
Programming doesn't require a formal education, and sometimes it's a hinderance. As mentioned, companies don't want good code--they want fast code.
These types of programing jobs may be best for the (relatively) young, as experience and understanding are not as valued as current technical knowledge and energy level.
By contrast, you usually can't consider yourself a computer scientist until during your MS or PhD. Computer science lends itself to solving very different problems than programing. (I look at it like math and mathematics, or performing and song writing.)
Things generally change very slowly in computer science, as opposed to the rapidly changing implementation side of things (programing). In CompSci, the issues are deeper, and often take much longer to understand so one can use them in a useful way. You end up specializing, and (often) that area becomes your field of research.
This explains, I think, the frequent complaints (including my own) of CS students regarding "book" and "real world" knowledge. The "real world" is usually interested in implenetation, which is usually based on Computer Science that's 10-30 years old.
So, I think programers are valuable at any age, but there's probably a larger market for seasoned computer scientists.
Don't worry. I cut my teeth in 1979 on an Apple II. Now I am 52 years old and have no difficulties keeping up with new languages like PHP or XML. It becomes somewhat harder to remember new details, but I have a computer to check them, don't I?
Excuse me, macros/preprocessor instructions _clean_??? *cough* The way C / C++ handles this is one of the absolutely weakest points of the language. It's only useful for hacks, you can't really morph the language in a proper way. There exists languages that do that, but C / C++ is not one of them. Forth comes to mind, it let's you extend and morph the language as you like. (Btw, morphing a language is not that good if you don't have a meta-language to convert between the dialects automatically)
There are many others reasons to put OO concepts into the language:
1) standardization, readability, compactability
2) portability, abstraction from the hardware
3) reusing objects in a controlled manner, clearly defining the interfaces
4) hiding data, more robust channels
5) avoid nasty pointer-bugs
6) faster to program and understand once you grasp the concepts
Btw, "if else if else if else if else if else" is huge, static, cludgy and non-scalable. It's certainly not generically faster than switch() or vtables.
Yes, you have to sacrifice a little execution speed for all this. However, with todays CPU- architectures you won't probably notice the difference anyways. The CPU impact is not so much of inefficiency in the C++ language, as it is that compilers are rather constrained how "good/hacky" code they can produce. Especially concering dynamic libraries, but the benefits of these should be obvious as well.
- Steeltoe
http://www.debunkingskeptics.com/
``As a society I think that we do subconsciously prejudge people if they have wrinkles,'' Papp said.
Before I read the article, I wondered how much of this was a Vally-specific problem. After seeing the bit I quoted above, it makes me think that the values of Southern California (LA/Hollywood's obsession with image) have migrated North.
I live and work (program) in New York City, and I haven't seen any evidence of age discrimination in the industry. Then again, I'm 32; check back with me in 8 years.
When new people come out of college they are fresh and full of energy. They may have to learn skills, but that is easier then UN-learning bad habits.
The problem is that schools teach bad habits, too.
A few years ago Minsky divided Computer Science education into three periods of about 10 years each:
First period: The schools had no clue what to teach. So they taught the students how to re-invent everything that had just been invented. (For instance: Every grad was expected to be able to write his own compiler.) There was an excessive focus on mathematical skills (at least partly to simplify rationing of the limited number of enrollment slots, due to the limited availability of computer time).
Result: A 4-year degree was actually a handicap - because it took longer to convince the newgrad than a non-grad that there was something else he needed to know to be productive.
Period 2: The schools got their curricula organized and produced people with useful skills.
Result: A 4-year degree was more useful than not. But work experience - about two years of it - was still necessary before a grad became really productive, and getting that "break-in" job was sometimes difficult. (You also needed a contiguous two-year stint to prove you would stick around until a project was done before you could start job-hopping.)
Period 3: The schools got too heavily into formalisms - to the point of religion.
Result: Again students needed to be cracked loose from a mold before they could start learning what they really needed, and a 4-year degree became a liability.
Particular problems are graduates of Ivy League and other big-name schools (at all degree levels) and PhDs (from all schools). One thing Ivy Leaguers learn is conversational gambits that let them shut down those who disagree with them and/or later appropriate credit for their ideas. Grads from big-name schools often think that if it wasn't taught in their classes it isn't importand. PhDs sometimes suffer from that as well, and also are heavily invested in being right whenever they open their mouths.
To program or design effectively you have to accept being wrong occasionally, recognizing it early and backing out quickly before too much effort is wasted. You have to learn not to back out too often. You have to learn that an adequate but standardized and well-documented design and/or style is more effective than burning cycles hunting for the "best" design/style. You have to learn to work in a team - letting others be expert, too. You have to learn that knowledge is teritorial, not hierarchical - often the person with the right answer is not the person with the highest certification. And you have to learn to learn - that you come to any job with only SOME of the knowlege needed to perform it, and you must know how to pick up the rest as you go.
But by period 3 a new generation of management was loose upon the world. And many companies would only hire people with the degrees - and sometimes only degrees from certain colleges. So the degrees became necessary for entry at many places, regardless of their actual lack of predictive ability Re job performance.
Also, a slew of management fads came in by that time: They each have their own buzzwords, but this is what they amount to: Age discrimination (new grad to late 40s). Sex discrimination. Race discrimination (for US upper-to-middle class Anglos, East Indians, Orientals). Handicap discrimination.
And a convenient myth was created: That there was a "talent shortage" in the US. So lower-paid immigrants could be hired to replace higher-paid US workers.
Of course this is gross mismanagement. And it hurts the companies that let their administrators it - by limiting their potential recruit pool and leading them to pay a premium for non-job related employee "features" while ignoring the actual work-related skill set. They get away with it because the added value of HiTek is so great that mismanagement can piss away an INCREDIBLE amount of resources and still keep the company in the black - for a while.
But the myths work to the advantage of those with skill and experience, and the little startup companies that are willing to hire them. Because there's a large pool of very skilled labor available, to those who are willing to hunt it down and pay for it. And there are challenging and lucrative positions available to those with the skills to fill them.
As you become more experienced it takes longer to find a good fit - because there are fewer jobs that actually require all those skills.
I was educated in Minsky's first period. I worked my way most of the way through college, got to all-but-some-distribution-requirements, then let my consulting practice expand to full time and never got that degree. By then I had the "equivalent experience" that once appeared on the job reqs. I've accepted holes in employment - once nearly a year long - rather than let my salary or billing rate drop from monotonic increasing (though if I had it to do over I'd take a stop-loss consult about 4 months into that long break. B-) ) I've avoided becoming management, yet have pulling down six figures for a while now as an individual contributor - even salaried.
But my current job will probably be my last: Thirty years in the industry - mainly in software - got me the one thing it was all intended to get me: in the door of a startup at the right time as it was putting together the right product. The startup was collecting the experineced industry experts, and now I was one of 'em. We've already been bought out for enough that I could retire on the options that have already vested. But I won't yet - because I expect the thing I'm co-archetecting to expand the bottom line until the shares' current value will seem like peanuts - and there's three more years of vesting to go.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
#include
I am 46. I make more as a fulltime employee (well into six figures) than most of the twenty somethings make as consultants. I have no dearth of offers to change employment when the time is right.
Frankly I think the age discrimination thing is a huge myth. Really good software design and engineering talent doesn't magically appear right out of school (at least very seldom). In case no one remembers there is a very serious shortage of good software talent in the industry. Any place worth working for knows that. If they simply want a code monkey gulping jolt colt and throwing shit together then they will get precisely what they asked for (and usually do).
when you get too old to code, or don't feel like it any more, do as I did: 1- form your own consulting company and steal all the best coders from you current project. 2- recruit some fresh meat from the co-op programs. 3- train your new meat in your "methodology" and hire them out at 4 or more times their base pay. 4- spend all your time schmoozing new clients telling them how great your "methodology" is. 5- retire to a tax haven with a beach when your bank account gets to a comfortable level.
I've worked in South Africa and the United Kingdom, and I can definitely say that age does count against you. And it's not got anything to do with being brighter or better. It's got to do with being more exploitable. Every job ad I've seen in the last year has said 'young programmer' or 'young sysadmin'. When I was leaving my last job I was helping them replace me. I was a sysadmin there. And they _WOULD NOT_ look at anyone over 25. So it's there even in sysadmin.
;-) But we let companies do this to us, and they know that they can get away it. They couldn't with an older person or a person with a family. Why do you think they always want to know if you're married at the interview?
I believe that the current crop of geeks are doing this to ourselves. I was working 14 hours a day there, and I was on standby the rest of the day. I was also on standby all weekend every weekend for 6 months. No partying. No getting drunk. No going anywhere that I couldn't get a phone line and jack in to work should the need arise. Mind you, my perl got a lot better during that time
So for those of you who are taking solace in the thought of quitting the coding and going sysadmin when you get older, make other plans. I figure I've got till I'm 30 at the current rate. And then I'll put a bullet in my head.
Somewhere along the line I got a circular slide rule that I still have. Don't have much occasion to use it these days, but I still know how.
And while I write in mostly C++ these days, I still know assembly code, and one way I optimize my C++ is to compile the C++ to assembly rather than machine code, and modify the C++ code while observing the assembled results. Not a lot of kids these days can do that!
Mike
-- Could you use my software consulting serv
Just because we're cutting edge and don't have the time to memorize the layout charts of the Apple II interfacer or work our way through the rigors of Z80 assembly, in the favor of taking networking courses and learning Perl, Python and Java means that we are technically incompetent and cannot possibly be compared to you. Well, you're right. We can't, because you're too old. You never caught on with the internet age and you're back there interfacing Apple IIs and writting operating systems in Z80 assembly
Shrug. The basics of interfacing hardware (which you sound rather frightened of in your tirades, hmm?) or of programming in general haven't changed that much since the days of the Z80 and Apple II, nor has the value of wisdom and simple problem-solving when faced with the real world;
My experience includes watching "cutting edge" people come to a dead halt trying to load a simple linux distribution when their experience is pure Solaris, or trying to string a simple ethernet connection between two buildings. It doesn't matter how many neat scripting languages you know if you don't have the problem-solving ability needed to detect and work around a small discrepency between the INSTALL file and the actual package's behavior, or how many protocols you know if you haven't learned the simple concept of a ground loop.
Or properly documenting your work, making tradeoffs to meet real-world time and resource limits, choosing the right hardware or software tool for the job, not reinventing the wheel, and actually doing the job rather the one you would prefer to do instead. In reality, there are only a few types of computer languages, and any truly experienced vs. "took the course" programmer worth his pay should be able to use a reference manual or some decent examples produce what is needed without that much skull sweat. Only the raw neophytes need to have been trained on "the latest version" in order to handle it - and their stuff is less likely to have been written to the official guidelines rather than taking advantage of quirks and 1137 experimental features, so it's likely to run in the next version too.
It seems to me that some of the reasons that older programmers might have problems getting jobs are ones that aren't exclusive to the software field. Younger employers are much more willing to work ridiculously long hours, while older people have already been through that sort of thing. Also, if you're older you may be thinking about retirement. Employers don't want to have to deal with paying for someone's retirement. Chances are, if you hire someone at 22, by the time they retire, the company won't even exist anymore.
That's almost the same (with a little difference in the age range) here in Germany. Being a programmer when reaching the 40's simply means, that you can't do better. I strongly recommend to take your time programming and then start of to managing others. This can be fun, too...
Hello,
I know alot of programmers around the 50ties. The main point is that all programmers who didn't educate themself in new programming paradigmas (OO is a cute example) become more and more obsolete. Most of them are just tired to learn again and again new things.
The other ones who has the flexibility to always learn new things and combine this new knowledge in the right way with the existing experience are the most worthful and powerful programming people in a firm.
Of course, this aren't alot. But I think to say "to be obsolete with 50" is at the end an own decision you'll do in some ways yourself...
Cheers
Boessu
"You're never too old to code when you're... too young to die..." SCNR, (A)
A recent study in Denmark (Europe) showed that the average age of people leaving the IT industry is 29. Main reason for leaving is too much work, too much stress. This way, your value increases with age, if you still stay on top.
Over here, a typical wage at age 20-25 is $2500 a month (before taxes). At 40 it is $5000 a month. Good people get more. Free-lance programmers typically get $8000 a month, but then have to pay for their holidays themselves.
Interesting comment about Minsky's 3 periods (hadn't heard it before).
I guess my Uni/dept. of CS is now on the edge of 2 and 3, hope they don't move into period 3 too fast.
Over the last months (while working on my master's thesis) I have experienced a lot of what you mentioned about getting stuck in a swamp of trying to do things too perfect and then getting nothing done.
Hopefully I'll mess things up just often enough (and pay enough attention) during the rest of my graduation project to learn to accept the world can't be perfect, and neither can my work be.
Thanks for the insight.
Tijn
Gee... will this mean that after graduation I only have 3 years left before the old (27+) folks' home?
The big problem with older, experience programmers is they're less likely to go along with boneheaded management techniques they've seen fail a half dozen times already. This makes them difficult to manage, and therefore less desirable.
Here's what I've found is the average template for project managers:
- Severely underestimate the time to completion in order to get the manager job.
- Use up 1/3 of the project's time hiring people.
- Cut out design time from the project schedule because you're already behind.
- When the project is due put all programmer's in a big room with glass walls, and then mandate they stay in their for at least 60 hours a week. Parade upper level management by every week so they can see "how hard you're working".
- Ask the programmer's every week if they're "done yet." All the inexperienced programmers say "yes". All the experienced programmer's say "no".
- Cut out writing a test suite because there's no time.
- Take twice as long as the original estimate to deliver code that will have to be thrown away and redone by a different team.
You may laugh, but I've seen variations on this more than once. The managers in question greatly value youthful enthusiasm and ignorance because they can brag to their management about "how much work they get out of the programmers". Of course, if upper level management was smart they'd only care about results, but hey, if you haven't got any results, I guess bragging about exploiting workers is the next best thing.There is a lot of research that shows that there is most often 1-10 difference in productivity, sometimes even as much as 1-100 between good and poor programmers.
...
If an experienced programmer can be 10 times as efficient as a rookie, why should it then matter how long a rookie works???
We are not laying bricks, serving burgers or doing cleaning where the amount of time worked roughly corresponds to the amount of work accomplished.
I am not exactly old yet (35) but I have seen so much absolutely BAD code from these young hotshots.
Often a client asks if we cannot reuse some code they have bought from another company. I have never seen any code that could be reused. Code and presentation is mixed, magical values everywhere and cut'n paste code.
It's so pathetic.
Apparantly some managers think that because some 18 year old can do something that they cannot themself, that they must be geniouses. Well they are not.
Get a good experienced coder anytime and pay them double salary, let them work 40 hours a week and still make 50% more money
Max M - IT's Mad Science
another reason young programmers are cheaper; most of them have no experience with 50 ways that an employer can screw you contractually. older programmers have probably already been reemed a couple of times :(
...vividly encapsulates that post-Watergate/pre-punk/coked-up moment when you could trust no one, least of all yourself.
soon loses its appeal when you have a house, and bills, and a car, and kids, and a social life - all things which suck up money at an alarming rate.
You can enjoy coding and even code for fun but #1 priority has to be the support and care of yourself and those around you.
--
Peter
Like it or not, programmers are on an intellectual production line: Read the specification, put some code together, and send it down the line. 10 years from now, the programmer's still there doing roughly the same thing. Sure, he or she has some spiffy new tools but the job is essentially the same.
The problem with production line work is that the experience curve is so shallow. The more experience you have the less it benefits you, until in the end it may work against you, as many others have said here. Clearly one should be looking for jobs where the more you do the more you are worth, a form of increasing marginal returns.
What provides an increasing experience curve? At this stage I suggest two things: people and business. Someone with 30 years' experience with people is usually more effective at running a team than someone straight out of university. Similarly, someone with a record of running a business is typically seen to have a better chance at running a company than someone who's straight out of B-school. (I'm speaking in generalities here - I'm well aware that there are plenty of exceptions.)
I hate to say it, but overall, this means that the best career path for programmers is to go into management!
Well, first of all the article is about a lot of assumptions. I've heard a lot about the assumptions, but very little in real life.
I'm in Ohio, which actually has several cities with good IT employment, and I haven't seen any age discrimination per se. The young newcomers tend to get split into the overpaid "prodigies" and the appropriately paid "entry level people," but older programmers seem to do pretty well.
What's interesting, however, is there is an emphasis on moving older programmers into management to use their knowledge. I've had offers to go into management - there seems to be an assumption that, at some point, a programmer must become a manager.
One thing I have found compaies discover the most painful way is that experience also brings business planning and skills that you just can't get in school. I have seen new programmers put in important positions and leave utter disasters - becasue they were inexperienced, unmentored, and unsupervised. The "stick in the cheap new guys" philosophy is a blueprint for disaster - and then the new guys take the blame after doing their best.
Maybe some folks want to discard the experienced to save money. I wonder how much they'll spend in training, overtime, lost contracts, and lawsuits.
"The Sage treasures Unity and measures all things by it" - Lao Tzu
Of course there is age discrimination in engineering-- especially in software engineering. This is a well documented fact.You can find an in-depth study here . Why would a company hire a very expensive, very experienced engineer when they can source the project to a consultancy (Andersen et. al.) which will simply human wave the problem with indentured H1-B visa employees? Even if the project management is really bad, the programmers totally demoralized, and the project majorly screwed up, they can usually produce something that pretends to work. For internet software, that's all you need.
According to the Programmer's Guild (PG), U.S. industry has already reached its quota of H1-B visas (a program that allows non-resident/non-greencard foreign nationals to work in the U.S. for 6 years). This, despite having last year doubled the size of the program to 115,000 visas annually.Because IT salaries are totally out of control now, having risen to a whopping $54,000, U.S. industry has put the full court press on congress to dramatically increase the quota or eliminate it altogether.Congress, responding appropriately to the huge campaign contributions from big biz, will most likely pass such an increase, according to the IEEE One particularly interesting point about the leading bill winding its way through the senate is the name: "American Competitiveness in the 21st Century act". I guess that congress does not think the current crop of American born programmers are very competitive.
I'd like to know what people here think. Will a million new "guest workers" in the next 5 years help the quality of U.S. software engineering, thus expanding the pie for everyone? Or will 1 million new indentured servants allow IT management to continue many of their screwed up practices because they know that engineering can't complain.
Sure, if you're a Master CNE or a MVP or a CSIE then you're highly qualified, but you have no degree and you don't state what your actual qualifications are.
:). Show employers that you have the capacity to learn.
I work in a software house, doing *big* projects. You are in for a massive surprise if you think (a) you're very talented and (b) you're highly qualified.
My advice? Get a degree. Any old how. Doesn't matter what it's in (although CS/IT/SE would help
Does the USA have anything like the Open University in the UK, where you do a degree (or Masters. Or PhD) via distance learning, and pay on a per-semester basis?
--
Peter
"...one's marketability is highest right after college and decreases geometrically thereafter..."
At 33, with my masters and 12 years of experience, I will take on ANY recent college grad interms of technical ability, all around knowledge, and I'll play paycheck poker with them. I'll win on all fronts.
Don't fool yourself kid - the only reason you'll ever be chosen over a more experienced (read: older) coder is because you are cheaper.
I am very small, utmostly microscopic.
This morning's program has a perfectly relevant discussion of new 'net companies hiring older/new people in coding/management positions. Check it out @ npr.org.
Not me... In 2017 I'm going to take an axe to my keyboard and open up a bike shop :-) Frankly, though, I'm not worried. The need for developers will continue to grow, and the educated US population will start to level off -- after all, those of us with good jobs are all too busy to procreate, right? I think what will happen is that our salaries will show as a bell curve, with the peak for most of us in our mid-30's and then starting to taper off after that as we lose the "marketability of youth". We'll still all be employed though... p
I'm 25 right now, and I'm already starting to get this sense that I'm getting old. Why? Not because I can't burn the midnight oil anymore, but because I've got other things competing for my time. I'm married now, and scarily enough, I want to have a life outside of my career. So, I don't spend all my free time at work and I don't put in 60 hour weeks (usually).
Really though I think this mentality has a lot to do with the state of the economy right now. People are focussed on time to market above all else and so people who slavishly work 60-80 hour weeks are valued. In a few years when the pace of innovation has slowed a bit and a lot of this becomes old hat, companies aren't going to pay for people who can do hack and slash code til all hours of the night. They'll focus more on people who have experience, who know how to manage code properly, etc.
Just think, was this focus on youth really that strong until a few years ago? My impression is no. It seems like a cyclic thing which will happily go away when the economy cools a bit.
---
This sig has been temporarily disconnected or is no longer in service
It used to be just women who lied about their ages. Get ready for the Programmer who is 23 with 18 years experience.
--------- Beware the dragon, for you are crunchy and good with ketchup.
Wrong.
You want to have a job when you are 40? Learn the fundimentals. Learning the latest thing is wonderful, as long as you also learn the history so that when the new latest thing comes along, you have the ability to pick it up quickly. If all you know is the latest thing and nothing else, you will be sunk when it ceases to be "the latest thing" and becomes old-hat.
Also, if you think that because you are studly in some area you don't need a college degree, I have a phrase I want you to learn:
A degree tells a potential employer two things:
Notice that I didn't say a degree means you are competent, nor did I say it means you will be able to keep up. But it does tell me that at least you aren't some punk who will never be able to do more than one thing.
Breadth, Breadth, Breadth!
www.eFax.com are spammers
*clap* *clap*
An example of what this gent says is all the non-portable, Linux specific code out there.
The 'old timers of Uniux' would write portable code, code ment to run on more than one Unix form.
Mentoring is key. But the 'young turks' have to get over themselfs to realize this.
If it was said on slashdot, it MUST be true!
Those of us with 30+ years of playing with computers seem insightful because we remember screwing-up doing what the newbie is proposing. I would love to get a well paying job writing PL/I, BAL, COBOL, ALGOL, Jovial, etc., but those are now commodity skills and high-paying positions are given to people who are "perceived" as knowing or having some "special" skill.
Verbal and listening skills are more valuable than technical ones. Knowing how to conduct a productive meeting is an essential skill. Power is what you can delegate, not what you have. Your appearance and presence should meet or exceed the buyer's expectation.
Like every skill, the abilities of those who practice it can be mapped to a bell curve. Know your place.
Before I start ranting, allow me to pass on a few lessons from an over 50 programmer:
No matter what they say, it is a people problem;
You can have cheap, perfect and fast, but only two out of the three; and
Never start a sentence with the words, "That change could never..."
As a programmer coming out of college, you shouldn't be worrying about what kind of job you can get at 50. You should see what's available to you now and in the next 10 years, and set yourself up for success regardless of what happens. How? Save and invest. If you are coming out of school now with a CS degree, and if you do it right, you should have no trouble retiring at age 50 with several million dollars in the bank.
But, instead, you'll buy every new toy that comes out, you'll rent, you'll party, you'll piss it all away, and then you will have something to worry about. You don't even need a great job to be able to do this - just average computer-tech jobs. If you are a CS major, you know some math - go do some and you'll see what I'm talking about.
If you do this, then you can look forward to contributing to the world's open source software, and to all our freedom in general, instead of managing some proprietary project.
First, make it work, then make it right, then make it fast, then, make it bloated!
Writing scripts for tv shows, adverstising and marketing is a worse industry to be in for age discrimination. After you pass age 26 or so, they won't hire you anymore because they don't think you can speak to the younger generation.
I had seen this on a documentary once(60 minutes), where a 32 year old lied about being 19 and was flooded with job requests. She took a position writing for a teen show and wrote quite a few good scripts. She was quite successful.
Then people found out how old she was and the network tried everything it could to squeeze out of the contract. The calls and job offers stopped almost instantly. It really is incredible. Merits, loyalty or even actual skill or education have practically nothing to with getting the job!
It truly is sad to see people have these kinds of prejudices. I would have thought that they might not exist in the software industry, but perhaps I was wrong. Perhaps too much experience is a curse rather than beneficial(at least that's what it seems like).
-----
"I will be as a fly on the wall... I shall slip amongst them like a great
Higher Logics: where programming meets science.
Quite honestly, the reason the software industry looks for young 'uns is because they're too naive to realize what's going on. For example, why do companies insist on developing huge projects with little planning in a lowish level language like C++? "The Mythical Man Month" was published over 25 years ago; the problems here were well-known.
The 40+ year old programmers are the ones who know when a project is a bad deal up front and are writing code using tools that get the job done as painlessly as possible, be it Lisp or a RAD environment.
A lot of the age discrimination in computer programming is due to the inclusion in all standard college psychology 101 textbooks of the results of some intelligence testing done on people of all ages. These tests show that "fluid" intelligence (which is what is needed in math and logic, for example) decreases markedly starting at around age 40 or so. These texts are read by all these MBA types. Andy Grove, the famous hi-tech CEO type, was even known to remark that programmers were washed up by the age of 40. Of course, considering the current trend of worshipping people such as Grove, this remark was taken as gospel by many wannabe hi-tech management types. However, along with the findings on the negative correlation with age to fluid intelligence scores (basically a logic test), the psych. texts also say that in contradiction to the findings on fluid intelligence, there were studies showing that fluid intelligence DID NOT decrease markedly when the same people were tested after X number of years. Meaning they tested some people at age 20 or so, and again at age 50 or so, and found that fluid intelligence had declined only slightly (BTW tests show that crystallized intelligence (knowledge) increases with age). Also, adding to this perception is the fact that many of the major math/science discoveries throughout history were made by people in their 20s. So, what do we make of this? I suspect that the tests of older people on the studies that showed that fluid smarts declined markedly with age are flawed. What kind of person of age > 40 is going to get into such a university study? I see ads in the employment ads for such studies all the time. Theyu pay money, though not much. What kind of person > 40 is so desperate for money that they must participate in these studies? Complete losers! Stupid people, to be blunt. Probably ex-convicts, dull normal IQ-types, and junkies! And this is the type of person who represents the over 40 age group! No wonder! As a personal contradictory anecdote, I offer myself: I am 43 and hope to graduate in one year with a BS in Computer Science. My current GPA? 4.0. I also tested for LAw School and Business school at age 40, competing against the brightest 20somethings in the world, and scored 94 %tile on the LSAT and 96% on the GMAT. Take that, weenieesque MBA types....
eat shiat and bark at the moon
Is age discrimination the problem or just a symptom? I remember when programming was taught as more of an art, and the implementation language was fairly irrelevant. Good programmers could conserve space and increase speed by making smart data structures, wisely choosing algorithms, and optimizing implementations. Design and documentation were part of the development process, just as debugging and profiling were required skills. Tools were just that, tools. They helped the developer do his craft more efficiently and more accurately. However, our tools have become so easy almost anyone can use them and get something to happen. When interviewing, I see 'senior' people with 2 years of experience, usually all academic. Few candidates have impressive problem solving skills these days and instead depend on brute force and trial-and-error to produce solutions (most which need to be revisited). It frustrates me when a "C++ expert" doesn't know the language and can only program when there is a wizard writing the code and a drag'n'drop environment for prewritten components. Change the IDE and the programmer becomes helpless. While I'm not knocking reuse here, the barrier to learning a new language and using it effectively seems to be mentally digesting the colossal sized libraries. This is evident with Perl, Python, C++, Java, etc. They're not hard, it's just big. Given that there are so many languages cropping up, with so many libraries, not to mention the terminology changing, it can be difficult to keep up without an excessive effort. When faced with the economic decision between hiring a recent graduate who knows the libraries, but is weak in 'real' programming versus an experienced developer who's looking at retirement benefit packages and needs a month to ramp up... many companies are taking the cheaper route. Flash sells, and while the experienced programmer can write a device driver in half a week, the one that can get an IDE to crank out a quick GUI in 2 minutes wins. This makes as much sense as when companies in the early 80's laid off expensive development staff to replace them with kids based on their PacMan scores. Unfortunately, since speed and space conservation aren't taught as a way of life software consumers are left with bloated applications that run slowly and crash intermittently. Educational facilities aren't doing anyone a favor by producing a breed of programmers that require crutches to get by. Meanwhile, if the aging developer has the skill to write a coherent English sentence, they usually end up in the elephant graveyard of technical writing.
Why work 80 hour weeks when you're not getting paid more for it, when it's taking up your life, when it's draining your ability to do anything else or interact with other people? Is it really "for the company", or is it just blind misdirected greed?
Folks, when you get tired of the pressure in Silicon Valley, come to Pittsburgh, where we can't find enough tallented programmers of any age. The companies here are falling over each other trying to recruit, and the city is a wonderful place to live.
;-)
The steel city has completely changed since the mills closed 30 years ago. It is clean and beautiful, and cheap to live in, especially compared to the isane prices in the valley. There has always been a number of quietly successful high-tech start up companies here, and now there are more than ever.
Night life, a world class symphony, parks everywhere... Come on out and find work!
This commercial for Pittsburgh brought to you by a recent new resident
Heck, I started in the industry as a software engineer when I was 38. Now I'm 41 and I'm doing great. Companies that expect to survive can't do so if they base their hiring decision on age (or race or religion or any other irrelevent factor) instead of ability to do the job.
kiku wa ittoki no haji kikanu wa matsudai no haji
I agree, mentoring is the best way. Not because of the things they can tell you, but because of the questions they can ask you. You'd be surprised how far a bright kid can go if you ask him the right question. That and finding people with the knowledge that WANT to mentor is a pain in the ass. I, a lowly undergrad, no more Perl and C/C++ than the overwhelming majority of my school's programming proffs.
---
"Elegant, Commented, On Time; Pick any Two"
-- Crutcher --
#include <disclaimer.h>
Yep yep. All the stuff we love to hate. But design is a necessary evil, as I'm learning the hard way. :-)
I'm 32 now, and am working on a research project with people (I think) about 5-10 years younger than myself. I've noticed a few differences as I've got older, and these differences show up between me and other people at work:
;-), but when I was their age, I was doing all-nighters.
- I down tools and go home after my 37.5 hour week, and I've noticed that my colleagues often work evenings or weekends (actually, so does my boss, and he's older than me). If I happen to pass through on an evening or weekend, I suggest to people that they go home
- I seem to have lots more non-programming things on the go. This is a good thing.
- I've lost the burning desire to learn about everything that I used to have - I tend to focus more on a few things that really interest me. In particular, learning new languages just for their own sake is not as much fun anymore, and I (with help) only minimally maintain my Linux box, rather than learning all the ins and outs of Linux like I might have done 10 years ago.
- On the plus side, I've often encountered problems before, and I think I sometimes have a broader way of looking at some things (My Slashdot reading colleagues might want to write in and disagree).
I think that as I get older, I'm getting better at coding than I used to be, not because I think faster, but partly because I have more experience, and mainly because I have been finally bitten enough by my sloppy coding and commenting that I'm learning to find ways of doing things right the first time, even if it is not as much fun as hacking. (Actually I think my colleagues are ahead of me on this). However, my motivation has gone down - I do much less coding in my own time nowadays.
Part of these differences will be because when I went to university, Computer Science wasn't worth doing as a major (no Honours course), so I did Mathematics instead. That means I'm a largely self-taught programmer, with lots of maths - this tends to give me some poor coding habits, but a usefully different perspective on problems than those around me who did Computer/Information Science.
I think I've got a lot of useful years yet, but I'm finding a shift to being interested in design rather than the nuts and bolts coding. I still like coding for the really hard problems though.
I'm not saying that you're wrong -- companies may indeed prefer two for less the salary of one, but the economics are against them.
Two employees for $30,000 cost substantially more than one employee for $70,000. First, you have the overhead of an additional employee: desk, telephone, space, social security, pension, accounting. Second, you have the communication cost. You now have to people to manage, and two people to communicate with effectively. Remember Brook's law: adding people to a late project makes it later.
I know I am much more productive than any whippersnapper straight out of school. Why? My breadth of experience. I've written compilers, interpreters, games, assembly language, microcode, embedded systems, CGI's, OO C code, heck even OO assembly code.
Yeah, I charge a lot. But I also get a lot done.
-russ
Don't piss off The Angry Economist
That must just be a US problem. Up here in the great white north (Calgary, Alberta, to be specific), my marketability as a student fresh out of college is almost nil. Unless they want me to code, in which case it is absolutely nil. The real problem up here is that they are looking for phenominal ammounts of experience, which just doesn't work, because anyone with more than two years coding experience goes to the States to get more money. I'f I don't have a degree and five years coding experience, I can't get a job to save my life, so here I am, working as a network administrator for $10.50 and hour in a small company because I can't get any experience coding because I can't get work coding because I have no experience coding because I can't get... Get the picture??
The chains are broken
Loki is free
Ragnarok is at hand...
I found age discriminiation kickes in at 30, often. I was recruited at age 32 (didn't apply; they knew me and asked me) for an internet start-up and told "We want to hire you, even though you're a bit older than we usually hire,". Said as if they were doing me a favor. *sigh*
And then there was a grad school fellow who told me my PhD application was rejected because I was too old. I was 28 at the time. They wanted folks "right out of college, with no work experience, that they could have focus solely on their professor's work".
One job I work at prefers to recruit folks right out of college because they can hire them cheap, as the newly graduated don't realize what a low salary is.
And don't even get me started about the rejections after I had a kid... being on the 'daddy track' is the kiss of death in the hot start-up world.
Ironically, I have a great job with NASA and do cutting-edge work with satellites and tech and AI. Who would have thought gov't contracting would be able to retain skilled workers better than trendy net IPOs?
In my opinion, people that hire based on a demographic (age, race, alma mater) are really short-sighted.
Cheers,
Sandy
sandy@rpg.net
Never be satisfied. Never rest on your laurels. Never assume that you know something better than someone else, or that what you know is more important than what they know. Never pass up an opportunity to learn a new language/API/OS/technique because it's "just a fad".
If you can maintain and cultivate this curiosity, or restlessness, or flexibility, or perfectionism, or humility, or whatever you want to call the intersection of all these things, you will continue to see your career progress. The reason so many people look askance at older programmers is because so many older programmers have become ossified and arrogant and complacent. Any employer in their right mind would gladly pay top dollar for an experienced programmer's skills combined with a younger programmer's attitude, and many actually do so.
Slashdot - News for Herds. Stuff that Splatters.
you shouldn't be coding unless you love it. and if you love it, you'll figure out how to make it work. besides, when you get too old to work at that startup, you can be a consultant or a freelance coder.
Or, really I should say doing it with a lot more experience. if you get up early enough, and look around you as you drive up 101, you'll get a glimpse of wizened contractors on their way to 150 - 200 dollar per hour gigs. But the deal is, you have to be good at programming and you have to be determined enough to keep on top of your skills, and to go out and get top dollar, not wait for somebody to find you
Currently the only way for a teacher to make ends meet is to marry someone with a better paying job, like a programmer. Personally, I find it sick that my wife quite literally earns 1/3rd what I make as a coder to teacher children to read.
(34, and still coding.)
The cake is a pie
(This is not a flame or a joke, really.) I'm 32 also, and of course I want to still be programming in 20 years. How could it be possible to "advance" beyond programming? What else is there?
You don't really mean management, do you? Good grief, I would quit immediately if I ever got "promoted" to that. Sure, you'll make more money, but you won't create anything anymore.
IMHO, there is nothing beyond programming. Creation is the only thing worth doing.
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
I work at a large ".com" and one of the lead programmers is an ex-biologist who is almost 40 years old. Another person in my group is close to that same age, though he's been programming in the aerospace industry for his whole career. I think the discrimination is based on the likelihood of a 40-50 year old willing to work 16 hour days versus a 23 year old. You just need to find a company who isn't stupid enough to work it's most valuable asset 16 hours per day and you've found one that probably won't discriminate based on age.
Another issue that comes to mind is that 23 year olds are perceived as being more creative and "wiz kid" like than a 40-50 year old. I would venture to say that this is probably true. The issue is that there is a place for both. Most (but not all) 23 year old hot shot programmers doesn't know didly about CM (configuration management). 40-50 year old programmers have been in it long enough to know why CM is the biggest part of the project.
I think the best thing is to strike a balance between youthful enthusiasm and old age consistency. Too much of either one spells disaster for any project!
--
Quantum Linux Laboratories - Accelerating Business with Linux
* Education
* Integration
* Support
*Condense fact from the vapor of nuance*
A 50 yr old developper has tons of experience and probably respect from the younger folks as well. The key is never to stop learning.
The real hardcore guys that develop specs and new ISO standards are rarely young people.
Besides, after 25 years in a company, if you're not up in management ladder, there is a problem.
http://www.logient.com
15 years ago I was highly in demand because I knew Fortran and I was a Civil Engineer. 10 years ago, I was highly in demand because I knew C and Oracle and Xt. 5 years ago, it was C++ and Motif. Now, I'm getting job offers every few weeks because I'm an experienced Java programmer. Probably next year or the year after the demand for XML or something else will be ramping up, and I'll be there.
But I'm not valuable to my employers because I've followed the trends, but because my engineering degree and 18 years of experience acts as written proof that I know how to solve problems. And that's what it's all about - solving problems.
--
A "freaking free-loading Canadian" stealing jobs from good honest hard working Americans since 1997.
The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
Among other things, you got your causality all wrong.
Most people who kill their great-grandchildren are over 70. Why? Could it be some biological factor that turns senior citizens into murdering menances?
No. If you aren't 70, you probably don't have great-grandchildren yet.
Similarly, marketability problems are typically related to obsolete skills. There is nothing about 40+ types that make them less likely to update their skills, it just takes that long for skills to because seriously unmarketable.
In the past year, I have interviewed around 30 people, with ages probably ranging from 19 to 50.
I have had to pass over some older people people with obsolete skills. But when I see a resume that starts with Fortran on VAX and ends with Perl on Linux, I know I have someone who knows how to stay up to date, showing adaptability a college kid will have a hard time demonstrating.
I'm in a position to hire, and I haven't seen anything like that down here in Houston as far as development goes. Sometimes I see the opposite--People want to hire 40-50 year-olds instead of kids fresh out of school because they assume an older person will have more maturity and will take less time to get settled into a position.
I think it depends on which industry you'd be working in. Each industry, for the most part, has its own personality, and chooses its employees accordingly. I can see how a company in Silicon Valley that develops software might aim for younger employees. (They might think that a younger person would be more able to work longer hours for less pay, etc.) However, a company who's developing software for internal use might have a different viewpoint.
Down here in Houston, quite a few IT employers are involved in some way or another with the oil industry (except for Compaq, of course). From what I've seen, these guys tend to prefer more mature folks.
Anyhoo, I wouldn't worry about facing this just yet. My gut feeling is if you get passed up for a college kid, you were probably grossly over-qualified for the position, and you might not have liked it anyway.
"Stupid Patty and stupid Selma!"
I didn't get interested in anything other than intoxication until later in life than most of these "kids" so now I'm a 25yr old with a couple of years of school still ahead. Should I just pick another field to work in rather than be snubbed after spending all that time/money in college?
Look at the salaries offered to RPG/Cobol programmers. These skills are in high demand because obsolete hardware does NOT go away just because it's obsolete. And just because Y2K is over does not mean that there's no need for Cobol/etc. programmers. This is a myth. Now that the year 00 has passed, even old two digit code will work just fine again if it does not have to deal with old 99- dates. So if it works, why to blow money upgrading just to end up with normal operations unchanged?
I'm 44 yrs old and started with programming in the late 1970's. After a point, most of us found programming to be limiting and rather dull. The prejudice against older programmers may be based on the type of person who can happily grind out code all day for 20 yrs - and not against age per se. I've found consulting to be a good stepping stone. I spent 7 years with one of the "Big 5". They really grind you down, the politics are evil, but you do gain valuable training on project management, customer relations, business analysis and the like. The experience also looks good on a resume. Longer term, thing to work on (1) Braedth, in understanding not just code, but what the codes does and why; (2) People skills, learning to express yourself well verbally and in writing, understanding on a gut level how to manage people and keep you customer satisfied. Not just administration, but sales/marketing support, even teaching are good things to pursue; (3) keep your technical skills up to date. There is nothing worse than being an expert in yesterday's technology. Take classes in your spare time, volunteer yourself for cutting edge projects, and if your employer won't provide them to you, find another employer. Lastly, understanding why and how code can help an organization is just as challenging as writing the code. Most design problems have not changed that much since the late 1970's. Understanding the types of problems programming solves will aloow you to adapt to any technology that may come your way.
I'm going to reply to this because I think it's a wonderful story ;-)
;-) So a fresh college grad doesn't have the same value as someone who is seasonsed.
I'm a hiring manager in the silicon services business, i.e. we provide consulting services to people designing chips. I prefer to higher people with 10 or more years of experience doing chip design.(For those who don't know - chip design is now basically a software job with hardware under-pinnings. )
As for the value of people right out of school versus 10 years of experience there is no contest. Someone right out of school doesn't have the knowledge base to do chip design from start to fin ish. They can acquire it - but then it's called experience
Seasoning usually also implies working smarter. You can work 70 hours and still fail as illustrated by this story. Other "olsters" in this set of responses have mentioned pulling out their "bag of tricks" to get work done more efficiently. They don't carry it all around in their heads because they've "been there, done that" so many times that now they know where to look to find the answer quickly, and don't have to re-invent it.
Give me a 10/20 year veteran who really knows what he's doing over a fresh face any time for pulling the heavy loads. Give me the fresh face to be mentored by the veteran and I've got the best of both worlds!
Have you compiled your kernel today??
Oh, please. All this discussion about the issue being based on experience, skill, or train-ability is garbage.
Several Slashdotters have hit on some of the issue, that being payscale. I believe th crux of the issue is lifestyle.
It has, certainly for me, become increasingly more and more difficult to spend over 40+ hours at a job. I want to spend more time with my family, not at work. Young bucks and buckettes are able to devote endless hours at a job for a variety of reasons, and this is the stuff that companies (especially startups and pre-IPOs) want!
Gimme obsessive-compulsive youngsters or "kids" who want to be hip and in the IT industry for a decent wage. Give me excited newbies who want to play with the latest tech and get paid for it. I'll pass on the parents who would have to contend with going to a soccer game for their 6 year old when I have a deadline.
Engineering is one profession that you simply can't be "just good at" because experience is such an incredibly essential aspect of it. A kid might be a good hacker, but they could never come up with a good design.
and I've never had a problem finding a job. For 15 years I had my own consulting company, but got tired of being away from home for 6 weeks at a time, when I didn't need the money any more. I now work at a state agency programming in VFP6. Three years ago I got tired of my box at home crashing all the time (Win95) so I installed a Linux distro. Last January I removed Win95 from my box and run only SuSE 6.3. I have learned & used nearly a dozen languages and am using KDevelop to learn C++. Most of the folks in my department are less than 1/2 my age yet I am the one preaching Linux and they are too scared to try it and afraid that if Linux gets in here they won't have a job, as if networking under Linux was hugely different than under Novell or WinXX. I plan to continue programming until I'm 70, then decide if I want to quit or go on. Why? I'm having too much fun!!! If I quit, what would I do around home except surf the net? mmmm... on the other hand.... ;-)
Running with Linux for over 20 years!
41 years old. Just quit a $92k/yr job for one paying $105k/yr and 20k shares for signing up. Three weeks vacation a year, 40-hour weeks. Granted, I'm a manager, not a code kid, but anyone who thinks coding skill is more valuable than leadership doesn't deserve more than minimum wage.
--
I moderate at +3, Highest Scores, and I always mod down.
If you don't like it, vote me off the island.
Move to a second world country, by then there will be companies that will love having an educated seasoned person to code for them and help them "catch up". Actually they'd love you there now as well. Of course you'd have to risk your pad in suburbia, oh the horror.
-- taking over the world, we are.
you're over the hill as a gymnast if you're 18. someone already mentioned the porn industry. actresses are only now beginning to get recognition past the age of forty (bar a few exceptions). most any sports player is over the hill by 30 or 35.
this is yet another area where WE ARE NOT UNIQUE!!!! (i really think those of us in the high tech area should repeat that mantra every few hours. force yourself to look at other fields and how they solved or dealt with similar events/problems/opportunities/models/etc - that way we have less of a chance of repeating the past with the high speed assistance of our silicon friends).
US Citizen living abroad? Register to vote!
If you want to keep coding, no problem. Keep up with technonogy. At 40 or 50 you can be a senior individual contributor, and get your share of influence and respect. But not if you are stale, and not if you can't think clearly and state your opinions clearly and crisply. Big equity positions in start-ups go to 40-ish technologists that have their shit together. OTOH, the stale and the feeble-brained will not find much market for 20 year old skills and random, inarticulate thoughts.
:-)
Mom was right, you should worry more about yourself and less about what other people think of you.
-dbc, age 43, and all non-stale, sharp thinking, 40 and 50 year old programmers and hardware debugging gunslingers should send me their resume's... I'd like the recruiting bonus
Another factor in the discrimination against older job applicants: people want to hire applicants with no experience because there is always the chance that the untested applicant will be fantastic. The experienced applicant, on the other hand, is boringly predictable.
I'm soon 37 and a senior SW engineer in Silicon Valley. I make good money and is in high demand. I think the secret for getting here is to constantly jump for new technologies when they arrive. I was a C++ expert, but when Java arrived I decided it was the future, so I studied on my free time to become a Certified Java Programmer. I'll dump Java whenever I see something that is even cooler, but right now I don't see it coming anytime soon.
What do businesses want from a programmer? Most cost-effective. That means someone who will work for the least, and get the most done.
The opinion that many companies hold is that if they have a few experienced people in management positions, everyone else just needs to be able to code. They view programming as a fairly straightforward task that is mostly related to how many hours you spend on it, much like picking grapes in the field. Who will pick the most grapes? The person who stays the longest.
Fittingly, on my drive to work I see a lot of migrant workers waiting on the sidewalk for people with vans and pickup trucks to pick them up and pay them sub-minimum wage to work the fields.
Why is this fitting, you ask? Because of the two groups that are most sought after as programmers. Recent graduates and people on work visas. Recent graduates have lower salaries and will work 60, 70, 80 hours a weeks without questioning it. So will people on work visas, because if they get fired, they might not be able to renew that work visa, and will have to leave the country.
Historically, this has been a cost-effective means of obtaining employees, known as indentured servitude. The experienced locals know too much. They want shorter hours, they charge more, and they're liable to organize at any time. The new ones-- well, they'll owe their souls to the company store.
It's funny that older programmers are having so much trouble finding jobs. Isn't there a work shortage in the valley? Congress is debating between two work visa bills-- one to drastically raise the cap, and one to eliminate it. Surprisingly, most are against the bill eliminating it-- because it requires companies to pay the new workers at least $40,000 a year. Yes, that's what they want to reduce programmer salaries below-- $40,000 a year. Good luck renting an apartment in the valley for that.
Age discrimination? Of course there's age discrimination. There's still racial discrimination, and discrimination against women. Fight it. Make people aware of it. Talk about it. And if you are in a position, or ever promoted to a position, where you have significant influence in someone's hiring-- make SURE you aren't contributing to the problem. Do you like that younger employee better because he's a better fit for the "culture"? Or is that just an excuse? As many people have pointed out already, the "young 'uns" aren't experienced enough to know how badly they're being abused.
The software industry is rampant with low quality bug ridden code, and bad practice. You'd think that those with actual _experience_ would be very valuable. I'll be turning 21 in two months, and although some of the people I work with may not be up to speed with the latest whiz-bang languages and devices, their experience makes them VERY valuable. When you're young you can run fast...but you can also run fast down a blind dead-end alley.
It's 10 PM. Do you know if you're un-American?
C++ was barely a blip on the radar when I graduated in '87. I certainly had never heard of Perl. And HTML didn't exist. I use them all now.
Don't ever fall into the trap of being the sole expert on a dying technology. Read about hot new things and be ready to jump on them when they come your way. Better still, be the local expert on things that are technology agnostic as well as having skills in current technologies. Those will carry you on to the next technology that supports what you do.
Maintain your network. This includes both inside and outside the company you work for. And don't assume that a network includes only other programmers.
Your company will train you for its own needs, when it trains you. Good companies train you for tomorrow, not today. You need to train yourself for the day after.
The net will not be what we demand, but what we make it. Build it well.
On the other hand, look how much larger the defense industry was thirty years ago and think how many BOFHen that employed.
k.
--
"In spite of everything, I still believe that people
are really good at heart." - Anne Frank
"In spite of everything, I still believe that people are really good at heart." - Anne Frank
Not that I expect many folks to read a post this late in the day...but...I can't *believe* all you assholes who seem to think that age has anything to do with coding ability.
I went back to school for CS when I was 29, got my first programming job at 31...and I'm 51, now.
Now, admittedly, I'm weirder, and *far* more flexible than most of y'all seem to be, since I started on IBM mainframes w/ punch cards, and JCL, and PL/1 and COBOL, and CICS, went to pc's and compiled BASIC, back to mainframes and COBOL,
then back to pc's and C (learned on my own), and Pascal, then UNIX and C, and these days, sysadmin in UNIX and C, w/ Linux at home. Oh, and I've left out all the stuff I've done all that in...and if y'all want, let's spec something out, and I'll write *better*, more maintainable code then most of you.
The reasons a lot of companies like 30 isn't because they're smarter, or better coders...it's because:
a) they're cheaper, which is what the vast majority of management cares about (most of whom have never heard the phrase, "there's never time to do it right, there's always time to do it over"), and
b) HR people, who disregard experience, and only look at degrees, and costs (30 also tends to cost less for benefits, as well).
Finally, younger programmers also have been so beainwashed that organizations like unions are SO BAD, and to believe that they'll be RICH by the time they're 30, or maybe 35, that they'll do *anything*, including put up with management's idiotic demands for a schedule that has no relation to reality, and the companies that treat y'all like consumables (as several 20-something friends of mine who *used* to work for Andersen Consulting agreed...including the one who once did 119 hours in *one* week, while I was working with him...).
Then they call us "geeks", and claim that we don't have a life, anyway, so they're not really abusing us....
mark "been there, done that, got a lousy t-shirt...and still programming"
I went through the same process, so probably sharing my experiences may help (?). At some point I've been doing lots of coding, was happy as a clam. Then I've met my old school buddy who became a scientist, doing some fundamental research, told me most of his work is done with a piece of paper and pen. That made me think a bit and realize that being a 'bleeding edge techie' is cool for a while, but after 10 or 15 or 20 years (or sooner) you probably would get tired of chasing the technological changes. Since I've never contemplated to become a managerial type, I've decided to go back to school - even if I already have MSCS (on a part time basis while working) and polish up my math, probability, and statistics, take more advanced courses, and try to refocus on computer, network, and application performance analysis (and capacity planning). THis is where I am right now. A world of math (and statistics) is such that some fundamental ideas (discovered even a 100 years ago) are still valid, the trick is to figure out which one to apply to a particular situation (but this is where creative aspect of performance analysis comes in), and most of old, all this type of knowledge is systematic, the longer you learn the more you know, and the older you are the more experienced you are. I am really happy with the way my career is moving (but I've always enjoyed math anyway). Some recent advances in statistical analysis (as pertained to analyzing network performance) are rather striking. To me is like encountering the whole new world.
I'm a 29 year old Unix sysadmin. I work with old folks (40+) all the time. It seems to me that Unix system administration is one area in which age and experience actually helps. The longer someone has been in this career, the more knowledge, problem solving, solutions, and war stories this person has under his belt. Unix systems have changed, but if you think about it, they really haven't changed that much. They aren't even suppose to in many production environments. Unix is not like NT, which changes whenever the M$ sales and marketing people say so. The same experience and practices you use in SunOS 1.1 or whatever can help you (with proper porting) in Solaris 8. And a sysadmin fresh outr of school is usually no help. And if they are hacker types, would you trust them to run the machines of your corporation's main production database? Are they responsible enough? Raw talent is not enough. You need be highly responsible, attentive and have good judgement to be a good sysadmin (unless you are the hacker/sysadmin at work for an ISP ;-) ). Anyways, I like working with old guys (and gals) 'cause I learn valuable practices from them. Its kinda like if you needed heart surgery, would you go to a doctor who is just out of med school with only a few operations under his belt, or a doctor who has had years of experience? IMHO, age and experience is an advantage in Unix system administration. If I was a Unix systems manager, I would see age as a plus, not a minus.
I think that the reason that the computer industry is so full of younger people right now is that due to the way recent computing history has unfolded. It is fairly true that right now most of the expertise in the highly marketable skills is concentrated in people under 30. Right now employers are looking for people who are expert in paradigms that are in their infancy. Java, XML, HTML, common object paradigms, network programming, even C++ are skills that have not been the focus of degree programs for very long, if at all. For that matter, they're not really the kind of skills that are so overwhelmingly useful that old school hackers feel the need to spend their free time learning them. The people who know these things well are those that have had the time to learn them in the last 6 or so years, mainly people who are just now out of college. The olders hackers are more set in the business world application development niche. But this shift in skills is mainly because of the reorganization of the computing world around the internet. With luck, the standards and tools that drive the industry will settle down after a while and the industry will become less "trendy", and programming as a career might be a viable option. If not, well anyone becoming a programmer now can't be too surprised by the need to continuously reeducate oneself. As we, the hackers who take this for granted age, the industry may learn to value our experience over the cheapness of the pups.
At least you're not a professional athlete. You've probably got some education and could become middle management, the average 50-year-old football player isn't getting any new endorsements, and they blew all their money on coke and women back in '86, their best hope is to become a gym teacher in their home town.
I live in Silicon Valley, have been a programmer here for 20 years. I used to read the Murky News, but it rarely corresponds to the reality I am in contact with.
My friends and I are all in our late 40s/early 50s. We are mostly consultants. We have no trouble finding jobs in embedded systems and Unix or NT internals. Our rates are quite a lot higher than people with less than 25 years of experience.
Lew
"The Constitution, the WHOLE Constitution, and nothing but the CONSTITUTION."
The young geeks are willing to work 60-70-80 hours per week and the mature folks with a life aren't ... yada yada yada ... But don't we have Labor Laws in the US (at least) that are supposed to prevent employers from demanding such hours?
Wherever you are, leverage what you have already to get toward where you want to be. The trick is that you need to plan several steps ahead and aim one step ahead at a time.
I will also attest that a constant willingness to learn is mandatory. If you're afraid of picking up a new language because you're afraid that you'll loose your "guru" status, then you're going to get lost to technological Darwinism.
Grab a hold of a new technology, play with it on the job (as part of your daily work), chalk it up on the resume once your good at it, and move on to the next job/technology. Not only do you get paid to play with toys, but you'll just keep getting paid better and better (up until a maximum, of course, although I haven't found it yet).
Obviously, working 80 hours a week is not conducive to having babies, and old folks have fewer babies than young folks.
But as the birthrate falls, the population becomes more geriatric, which means that an ever larger proportion of young fertile people will be drawn into the software field, resulting in more falls in the birthrate.
In a few generations, the Earths population will spiral down to zero.
One can only hope that the softeware industry dies from a lack of customers before it wipes us all out!!
I bragged about my Karma at a job interview but I didn't get the job.
Seasoning usually also implies working smarter. You can work 70 hours and still fail as illustrated by this story. Other "oldsters" in this set of responses have mentioned pulling out their "bag of tricks" to get work done more efficiently. They don't carry it all around in their heads because they've "been there, done that" so many times that now they know where to look to find the answer quickly, and don't have to re-invent it.
Give me a 10/20 year veteran who really knows what he's doing over a fresh face any time for pulling the heavy loads. Give me the fresh face to be mentored by the veteran and I've got the best of both worlds!
Bingo!! At 38, I'm already considered "old" as a programmer. Yet what many older people bring is:There's more, of course, but you get the idea. The best managers I had when I was younger had grey hair. They showed me short cuts, taught me how to plan, and how to respect and work with others who aren't as smart as I am.
use Sig::Witty;
Design is fun. IMO, a project with no design is just a code jumble -- the thousand monkeys thing.
If I had to pick between doing only SW design and only coding, I'd pick design. A properly designed project can be coded by nearly anyone.
use Sig::Witty;
The way to get a job has changed over the last ten years. Prospective employers receive hundreds of resumes for a job posting. It is much easier for an employer to go through a head hunter. Get your head hunter turned on to you, then it is their job to sell you. Contract if you enjoy that also.
Don't waste your time trying to sell yourself.
Why not just share it here? Sure your karma will dip cuz of an off topic comment but hey. Sounds like a ploy to get some valid email addresses so you can retire at 30. I'll pass.
I think you can be productive for more than 8 hours a day, but you really have to enjoy the project that you're working on, and you have to have a good working environment. In my experience (albeit less than yours), the dumb mistakes have come in when I no longer care enough to really concentrate on what I'm doing. However, I've been able to get up to 14 hours of productive time on some projects. After that point, the physical fatigue sets in and I care more about sleeping than making sure what I'm doing is "smart".
I always hate arguments that start: "If you look at the case studies". If you look at the case studies, every family also has 2 1/2 children... but we know that this is not true for everybody. Individuals are different, and we shouldn't use case studies to portray everyone as "average".
BTW - I think the reason it took you three days to find that bug is because you had to wade through a year's worth of worthless timestamp comments in your source... I'm guessing that decision was made after-hours as well. (g)
Ironically, I used to worry about what my future would be about, as a programmer. I have been hacking code professionally for 18 years now. I started writing video games, and now I do web applications. Along the way, I picked up skills that were directly and indirectly related to my work. I have worked as an employee, and now have my own small consulting company. I am no longer worried about the future. There is far more need for experienced developers than ever before. Currently, I lead a team of developers that are ALL under 25. I feed off of their energy, but I make sure that they are all taken care of, as well. They NEED me, especially when it looks like the code will NEVER work. They need the experience to say: "It's OK. We are intelligent people. We can figure out a solution, or at least tell the customer why we shouldn't do it, if it is not feasible". Here are some tidbits to remember: "How much you get paid is directly proportional to how boring the project is." I found out that doing the same old, same old boring database work pays the best. The most boring of them all (in my humble experience) is Oracle Financials. However, I can pull $1K per diems for Oracle Financial work. However, the cool Java Web development applications pay significantly less (currently). This may change, but the rule has been stable for 15 years. I started out as a high school student earning $5.50 an hour in 1982, but I was writing VIDEO GAMES. The sexiest of applications, and a good thing to do when young, because they still don't pay well for good games developers. "Products come and go, but the technology changes slow enough to adapt" Linux is great, but it is essentially UNIX. This is NOT AN INSULT to Linux. It is what makes it endearing to me. I have used QNX, Solaris, HP-UX, SCO Unix, Xenix, even Mark Williams Unix (remember that?), and even more, but this would be a long list. However, they all share the same basic philosophy, and thus, it is easy to move around between them. However, products come and go, even microsoft's. However, C, C++, SQL, and Java will for a long time to come be core technology, because not just one product vendor supports it (ok, Java might need to be taken of that list someday, due to Sun's desire to control it) In short, if you're gonna worry about the future, worry about yourself, not the rest of the industry.
I just wanted to point out that the major difference between programming and most other technical fields is that in software most you your knowledge is completely replaced every few years or so. There is very little chance to build up your experience over the long term because most of the knowledge you had 5 years ago is mostly obsolete today. Although you could argue that becoming a great programmer takes time, very few people have the chance because they are constantly forced to learn new tools, languages, whatever. By the time most programmers reach the middle of their career, they have had to re-learn the same thing over and over again just to do the same job. Most older programmers that I've talked to are simple sick of learning new things over and over again. Don't get me wronge, most of these people don't mind learning things if the things they learned would just stay relevant. This is why most companies prefer younger programmer because they don't initial mind this constant up hill battle. And the fact that they are willing to work an 80 hour week also helps.
Compare this to other technical field like chemistry or electrical/civil/etc engineering. The physical laws of nature never change (well, almost never). What a chemist learned in school 50 years ago is, for the most part, still relevant today. Sure these fields progress, but the basic knowledge is never replaced. More and more knowledge is just constantly added. That is why a 65 year old consultant in these fields is actually worth something.
Anyway, I not hacking programming as a trade. I just think we all need to be realistic about our future prospects. Think of it as a temporary licence to print money.
-pcb
'Men never commit evil so fully and joyfully as when they do it for religious convictions.' B. Pascal
I think that we are missing the reality here. Let's face it. Today's computer industry has nothing to do with good product or helping anyone doing anything, it is all about making money.
Many of us have gotten a job and worked our asses off to help the "company". At some point when you are nearing complete collapse you look around and realize that there are all these cube rats who sit around and surf porn on the net all day long. Funny thing is that your manager likes them a lot better than he likes you. He is afraid of you, because you really know what is going on!
How many .coms are there today with no product. With nothing. Remember, first to market wins. Doesn't even matter if your product works, hell nobody even expects software to work anymore. The important thing is to get your vaporware out there before the next guy.
If you are pre-IPO, then you don't even need vaporware. Just a business plan and some suits to sell it to more suits.
These companies keep putting that carrot in front of your face. Hey man, I am going to hit "retirement money" with this gig. Oh sure, sometimes those stock options pay off and there are some new millionares. Hell, somebody is going to win the lottery to.
So, there you are hacking away for 60+ hours a week. You don't have any other life. Your brain is fried, your probably not happy. Hell, the product sucks and you can't make those insane deadlines that the suits keep making anyway. So, you keep plugging away, you do your face time. Hey, Bobby was here 80 hours last week, what have you been doing you 60 hour slacker! Never mind that Bobby has been playing the latest net game for 70 of those 80 hours and you have been trying to get all those bugs fixed before release!
The problem with hiring more experienced people is yes, they want more money but they also don't take all the bullshit as well. They have seen it all before. They look at the highest paid member of the team (the one who got hired last) and think you don't even have a clue what a stray pointer is do you? Do you have any idea why global variables are generally a bad idea? (Is my old timer C showing? :^) )
When the venture capitalists walk into the office do you think they want to see a bunch of old guys? Hell no, they want to see all these young , vibrant, coders with new and novel approaches to this brave new world of the .com. What the hell is a .com anyway? They don't know. All they know is that they can get the next cool pokemon trading card (also known as stock options).
I have had enough. I am tired of making the suits rich. I am tired of having to deal with crap code that will never work. I am tired of trying to tell people that this system they just paid six figures for doesn't really work and probably never will. I'm checking out. To hell with the money. Maybe I will start writing open source code or something.
enjoy,
SigKill
Not only am I still programming at 42, after starting in my twenties, my Father is still programming at 65 after starting in _his_ twenties.
Yes we have both spent time in managment, he even did a stint in sales. We much prefer programming.
The greatest geek that has ever lived is quoted as once having said this of knowledge and teaching: "If you can not explain it to an eight-year-old, you do not truly understand it." Unless you somehow leapt out of the womb with all of your knowledge already in place, you owe everything you know to someone that got the information to you, that is, a teacher. Be it Mrs. So-and-so from jr. high band class or the writer of the man page for grep, a teacher gave you all the knowledge you have. If it were not for teachers allowing us to build on the shoulders of giants, we would all be discussing the latest beta test of fire while scratching our hide-covered club-swinging selves. Until I read your post, I had thought that the people of the Neander valley had all died out.
You can be obsolete at 25, or non-obsolete at 65 - it's an attitude thing.
A decade or so ago I was commuting (weekly) by train from Jersey to a project in DC. The old guy across the table from me in the dining car had the smallest laptop I'd seen (which back then was about 6 pounds, only available in Japan), an alphanumeric Skypage (those were cool back then), and a cellphone which was small for its day (but still couldn't get a signal while we were crossing the Chesapeake.) We started talking, and it turned out to be Dave Farber from UPenn, who'd just helped start the EFF (I was working on EFF stuff as well). Dave's now the new technology consultant to the FCC, and still running the Interesting-People mailing list and going to technology conferences around the world.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
You may be able to find a better job on your own, but college co-op jobs are an excellent opportunity to get some real-world work experience while you're still in school. It's a way to get into high-tech and also medium-tech companies that would otherwise ignore you because of lack of work experience, gain some perspective on what the real world looks like that can help you direct your education, and even if you don't end up working there after school, you've got a lot more on your resume than some kid who just studied, or studied and hacked. Having a few well-defined projects you've succeeded at looks good too.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
In the meantime, I have encountered morons who I wouldn't hire to shine my shoes. Not because they're underskilled. But because they're *STUPID*. They lack curiousity, and they lack the ability to learn new things swiftly. One thing I like to do, in employment interviews (the few that I've conducted :-), is find out something that the prospective employee does not know (but that I do know, and happen to have a book on), point them towards the book, say "I'm going to be back in a few minutes, why don't you take a look at that book and tell me what you think about technology 'foo'?", then go take a coffee break. If I come back and they have the book on their lap engrossed in it, I give'em a brownie point, and another one if they can tell me a little bit about what they've read. If, on the other hand, they're sitting there twiddling their thumbs, it's time to show them out of my office...
BTW, my bosses don't let me interview potential hires too often because I scare them (potential hires) too much :-).
-E
Send mail here if you want to reach me.
Us babies out there in the industry are, in some cases, more skilled than some of the 35 year old "gurus" out there. I'm 18, graduating high school in 2 weeks (yay), and have a full time job as a web developer at a startup company in Northern Virginia. I started here a few months ago, and I'm a little less than impressed with some of the supposedly highly qualified staff members. I've taken 2 years of C++ programming in high school, classes in AI and computer architecture, and classes in graphics and supercomputing numbercrunching (mmm...big words that dont mean a whole lot). I'd like to consider myself moderately skilled, but I'm only getting like 10 bucks an hour, which is 2 less than what I had originally asked for to underbid myself. Anyway, the point I'm getting at, is that even if you're young, experienced, knowlegable, and capable of functioning in a mature work environment, you're not always looked upon as fresh-grad gold. And to all you folks older and more experienced than I am, all respect and gratitude to you all, you've done a hell of a job shaping the industry into what it is today, good luck to all of you having trouble finding jobs, as Idont really see what it matters.
I'll be in the news by the time I'm 25...one way or another
A number of my friends are Smalltalk enthusiasts. None of them are under 40, and while there aren't a lot of places using it, they seem to all know where to find customers who want their environments radically transformed and highly productive. Age has a couple of effects - some of it's perspective from years of experience, some of it's having been around back when Smalltalk was a fad, before Java became the fad, and some of it's the old value set about knowing lots of programming languages that C/C++/Java replaced.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
AC,
You have some good ideas here. I understand your hesitance to hunt down a prof at a university as a mentor. I would like to point out that many of the academics (professors) you run in to may surprise you with some of their experience. My mentor at the university I attend just came to the University two years ago from his home in South Korea. Before he was a professor there he worked for Motorola and wrote one of their main compilers, one that was used for five years. He left the industry and went into academics. He gave me the best advice. He said to do as much as I can in my twenties because that has traditionaly been when people have done their most creative work. He said that I should work on my "BIG" project now.
My point is that academicicians can make great mentors if you look for the right ones. Don't just select any old professor for a mentor. Mine gave me a lot of insight into the industry and helped me learn to deal with my current job. I'm 22 and project technical lead on a number of projects in a medium size software company. I'm the youngest person in development, yet am considered to be a "senior" developer. In fact, I'm still in college. Its all about amibition, thats what I learned from my mentor. Go out and get what you want and use whatever tools are necessary. Relevant goals are important. He taught me to be concerned about my career early and not get stuck in something I didn't want to do (I learned this from my father as well (engineer).) Know where you are going, at least know how to steer yourself away from unpleasant ends. I do this by not concerning myself so much with immaculate code but rather with honing my SE skills. It is also important to learn when to utilize someone else's skills (team member.) A good mentor should be able to teach you how to survive in the industry, not just how to code, unless of course you want to be an academic, maybe then it is important to learn to survive in that industry.
Random Task
"I can hoist a Jack. I can lay a track. I can pick and shovel too. I'll do anything you hire me to." - John Cash "Legen
Watch out. Your employer may well think all you code is his and only his exclusively. Quit. Go work someplace else, and pull code from your bag o tricks, and your new company gets sued for "stealing proprietary code" from your previous company. And spawned lawsuits make you look a drag on the new company.
Just look at my mother, hasn't had a permant programming job in 10 years. They will only hire her to program as a temp.
TastesLikeHerringFlavoredChicken
TastesLikeHerringFlavoredChicken
This ageism doesn't exist everywhere. It's only entrenched in the internet startups, and sporadic outside of there.
Where I work, Acuson, the average age for a developer is 40. We've got developers over 60. I don't know their exact ages, 'cause I don't ask. We can't afford the inexperienced because when our software fails, it's not just a website going down, it's medical (life and death) equipment.
It's amazing what we see while recruiting. Guys taking their first programming class ever applying to be a developer. You call them the next day to say they're not needed, and they shrug telling you they already got a job with the latest startup.
We're doing stuff that makes the industry's idea of cutting edge look old hat. We don't do webpages or handhelds. We save lives and improve the world.
A Government Is a Body of People, Usually Notably Ungoverned
Start yourself a college fund.
IF you ever have a hard time getting a programming job later in life, take a four year vacation and go back to school. Learn WHATEVER you want.
OR
Learn a trade - furniture making, culinary arts, car mechanic. People will always need those things.
This is all covered in The Mythical Man-Month (Frederick P. Brooks, Jr., Addison-Wesley, ISBN 0-201-83595-9). It's this book that coined the phrase (page 25) 'Adding manpower to a late software project makes it later.' It is much better to have a few junior programmers attending a good, senior programmer (generally speaking) than it is to have 4 junior programmers all hacking at a task they don't have the "tools" for. Put another way, if it takes one person 10 minutes to dig a post-hole, then it should take 100 people six seconds to dig the same hole. Wrong! (Add another ten people to manage the hundred, staff meetings, coordination overhead, etc. ...and I guarantee it'll take the whole day.)
Especially for the new dot-com's trying to make a living on the 'net, programmer experience is critical to ensuring stable, secure, bullet-proof code that can at least survive script-kiddie attacks. I can't tell you how many times I've seen blatant, well-published holes wind up in fresh code made by HTML jockeys that think they're programmers because they can create a complete <TABLE> by hand. Web programmers have a deservedly bad reputation for this very reason. The people I've seen put together ISPs and dot-com's often don't have a clue about security-- they simply put up a badly configured firewall that can do nothing about programmer errors leaving the barn door wide open.
Weinberg's Second Law applies: 'If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.' This law has been weakened somewhat is most areas of programmer endeavor, but the Internet is attracting wannabe programmers in droves. Not that I have anything against wannabe programmers; I just think that people should consider the ability and experience of their lead programmers before staking their futures on them.
"There is a diminishing return on caution."
Because as more and more developers/engineers work from home and remote offices, less and less interaction between the programmer and the Powers That Be exists.
If i'm going for a project on something like cosource.com or the others, then age doesn't come up. It's pure skill and reputation that get you the job. And this is only going to expand as the years go on and the internet grows.
Maybe I have high standards, but for me, you can't say you "know HTML" unless your code passes the validator.
There are far, far too many sites with shoddy coding. Like eBay, for instance.
Paul
As far as the management thing is concerned -- good programmers who refuse to go into management should keep in mind that they're perpetuating the problem of management that doesn't understand or appreciate programming. The only way to fix that particular problem is to colonize the management chain.
One of my Teachers is a surgeon who switched to cybernetics in his 50th. Now he is 85. He is still coding (not only composing algorithms), absolutely hooked to the Net and is very much requested.
Since 17 I mostly worked with older programmers. Now I am 35 and colleagues are in their 40-50.
Of all problems none of us ever worried about being obsolete or switching careers.
My opinions are based on years of close contacts with these highly talented people.
I think the ability to re-learn has nothing to do with age.
Young programmers appear to be more adaptable to changes not because they re-learn quickly, but because they are learning current stuff now.
The stubbornness is as common in script kiddies as in 50-year old mainframe geeks. 19yo Perl wiz who swears never write a line in C++ - is that uncommon? Not to me.
The ability to learn new stuff and adapt to new technologies is mostly drawn from basic education (not necessarily means formal education, although some types of formal education help more than others and CS is not one of these).
Good basic education provides that you can learn on your own, out of your own curiosity, at times you feel the need to. And you know how to learn, where to learn and who to learn from (and you can learn from younger people as willingly as from the elders).
Once you've lost the interest to learn new stuff you are dead as professional at any age. (I am about programming and IT, I can speculate there are some careers where the above is not true).
The process of learning new computer languages resembles learning natural ones. First 3 are hard,
next 3 are fun, the rest X are like reading manual for the some new gadget - you can find something
new only in "troubleshooting" pages.
PS. I definitely dream of 2038 too, it will be great fun -;)
maybe you haven't contracted enough to realize, you don't get a new project back to back that is a choice one like this and there is no reason to strees myself out and work like a dog to finish something when I receive nothing but less payment, my consulting firm looks good which makes me look good but that then begs the question why are they paying so much if it is so easy it took so little time? How about unrealistic expectations for future projects when say I hit problems that do take a month to fix and my firm signed me in for a 2 week timeframe when 2 months would be necessary.
I'd rather make a short term profit, fit in their time frame or less and not over work myself.
PS: Posting as an AC, wtf ru afraid of?