Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Technology

Too Old To Code? 432

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.
This discussion has been archived. No new comments can be posted.

Too Old To Code?

Comments Filter:
  • by cowscows ( 103644 ) on Monday May 29, 2000 @05:10PM (#1039152) Journal
    At least you don't become obsolete as fast as the hardware you work on. Now that would be scary.
  • by TheGratefulNet ( 143330 ) on Monday May 29, 2000 @05:13PM (#1039154)
    one's marketability is highest right after college and decreases geometrically thereafter.

    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..

    --

  • by Penrif ( 33473 ) on Monday May 29, 2000 @05:15PM (#1039157) Homepage
    Teach.
  • by khog ( 146409 ) <greenberg.nji@com> on Monday May 29, 2000 @05:17PM (#1039159) Homepage Journal

    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
  • by Carrion ( 2315 ) on Monday May 29, 2000 @05:18PM (#1039160)
    The porn industry shares the same feat, marketability decreasing with age.
    (Except for fetish - some people luv'em saggy.)

    Now where did i put those .jpgs...
  • 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 [badassmofo.com]
  • by Sunir ( 172566 ) on Monday May 29, 2000 @05:22PM (#1039167) Homepage
    I find it bizarre that we excise the people who know how to solve problems. We complain about buggy code, but we eliminate people who know the techniques to solving large problems.

    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.

  • by Anonymous Coward on Monday May 29, 2000 @05:23PM (#1039169)
    If you plan to be coding when you're into your 40's, and also want to take 5weeks vacation and make $130k a year, you'll probably be disappointed. At that experience and that rate, you're more likely to be managing programmers. Which means less, if any, coding.

    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 Devzilla ( 168035 ) on Monday May 29, 2000 @05:24PM (#1039170) Homepage
    By the time you read this YOU too will be out of date.

    Devilish

    --------Irc.destructor.net--------
    --------The Geek Network--------
  • by Mahy ( 111194 ) on Monday May 29, 2000 @05:25PM (#1039172) Homepage
    Many companies don't need people with 10-20 years experience, and people with 10-20 years experience cost more. This is what my Dad discovered when his job was eliminated. It took him 4 years to find a job, because no one wanted to pay him even HALF his previous salary, and they all assumed that if they paid him less he would jump ship at the first opportunity.

    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?

  • by Black Parrot ( 19622 ) on Monday May 29, 2000 @05:25PM (#1039174)
    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.

    --
  • 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.

  • by Zoid ( 8837 ) <zoidctf@gmail.com> on Monday May 29, 2000 @05:28PM (#1039178) Homepage
    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.
  • 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
  • > Teach.

    Or be a paid pundit for Gartner or ZD, where age is as unimportant as knowlege and basic cluefulness.

    --
  • 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.

    I figure as long as I learn something useful like Java, C++, XML, and /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.

    Just one more thing to worry about, I guess.

  • 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.
  • 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 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!


  • by PhiRatE ( 39645 ) on Monday May 29, 2000 @05:33PM (#1039200)
    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 :)

  • by The Code Hog ( 79645 ) on Monday May 29, 2000 @05:33PM (#1039202)
    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.

    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 ... because the gonzo coders are better at saving really badly managed projects.

    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.

  • Teach.

    You're right. My best CS teacher ever taught at a small community college; prior to that she worked in industry for about 20 years. She could really explain what was going on, far better than the CS professors at my college (at least the ones I've had), most of whom have been in academia since forever. Maybe she doesn't know the theory as well as they, but she knows what works and what doesn't.

    Just because companies don't think you know anything doesn't mean you don't, and generally people who know better (ie, proto-hackers and company) are going to be happy to listen to what you have to say. I know I was.
  • by Anonymous Coward
    Yuck.
  • From my experience, you can never get too old to code. However, being too YOUNG to code, that's a whole different story.

    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:
    • I'm only 18 -- Not enough work experience for a company to justify hiring me. (My resume has tons of volunteer stuff, and letters of reference, for the record.)
    • I don't have a collage/university degree.

    Believe me, getting the good geek jobs NOW, even though I am highly qualified, is insanely difficult.


    .- CitizenC (User Info [slashdot.org])
  • 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.

    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 /. As one friend of mine once said (of getting a social life), "my .emacs has gone to shit."

    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.


  • 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.

  • by www.sorehands.com ( 142825 ) on Monday May 29, 2000 @05:40PM (#1039222) Homepage
    Part of this comes from the Micro v. Mainframe mentality. I have run into many people thinking that mainframes are very different from micros.

    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 [colosseumbuilders.com].

    Petition to Abolish the H1B [zazona.com].

  • by xenotrope ( 86854 ) on Monday May 29, 2000 @05:44PM (#1039230)
    My God. Have you ever held a job?

    Companies love the kids. They're the best blend of brains and youthful stupidity, so you get geniuses who don't know any better when you pay them squat.

    A lot of smart people will be willing to take a job at lower-than-normal pay at a great company so they can put it on their resume. Who profits? The company gets great work for peanuts, the kid gets to add a killer job experience to his belt.

    You're worth more with experience. True. Meaning you cost more. A company won't pay one person $70,000 when they can get two for $30,000, experience be damned.

    I've found that if you want to maintain a good wage, you will have to leave the programming areas and move into management. You need to work your way up the food chain, gradually leaving behind technical work and replacing it with bureaucracy.

    Like Bill Gates. Yuck.



    ---
  • I agree...almost..:)
    go back to school for a couple of years, repeat until dead.

    Why? Why spend 3-6 yrs in a program only to have the skills you have learned in that program become obsolete by the time you are done? Why not discover what you are interested in on your own and pursue it and learn it on your own? What is the obesession with a diploma? Most would argue that management wants a diploma of some sort. I say, ask yourself why. I think formal education is great....if you don't have the dedication to learn on your own. Why spend the rest of you life, essentially paying off mortgage after mortgage on formal education when you could actually do it on your own? It costs too much, it takes too much time, and you are damn near obsolete when you are done. Learn on your own. It's faster, it's more satisfying, and it shows much greater dedication. You are doing it because you want to, not because you'll loose $70,000 if you fail.

    Just my opinion..:)


    Check Out Knexa.Com [knexa.com]
  • by Glowing Fish ( 155236 ) on Monday May 29, 2000 @05:49PM (#1039237) Homepage
    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.

    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.

  • 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.

  • by lamz ( 60321 ) on Monday May 29, 2000 @05:51PM (#1039241) Homepage Journal
    You can stop worrying. You won't have any problems finding a job once you graduate.

    After my first degree, I had a bunch of crappy jobs, then wound up working as a trainer for a Macintosh-only software company. After four years, I quit and went back to school to get a second degree, this time in Computer Science. I'm 29 now, I just graduated, and have had no problem getting interviews and lots of interest in my resume.

    I just had a great interview today where they were impressed by my breadth of experience. Even though I don't know any given technology inside out, I have been a technical writer, radio DJ, music reviewer, etc. What's that got to do with computing?

    When people are looking to hire computer programmers, no one is interested how l33t you are. It is more important that you're NOT an asshole, since you are going to be in very close contact with those people, 40-50 hours a week. I know, because in some of my past jobs I have had to interview people, and this is the primary thought in your mind when talking to applicants: "Is this person going to be easy/fun to get along with, or am I going to want to kill them?"

    Mike van Lammeren
  • Teaching is a noble profession. However, in the SF Bay Area & Silicon Valley, it pays only slightly more than working at McDonald's (yes, an exageration, but, sadly, not too much of one). The income of teachers in California (especially Northern CA) is sooo bad the Governer is trying to pass legislation (or has done so, I haven't kept entirely current in the last couple weeks) to give teachers a tax write-off simply for their profession. Also, the city of SF is trying to get former government housing as teacher subsidised housing. In an area where the -median- house price is nearing $500K, teaching is a completely unrewarded (financially) profession. Is it fair to ask someone who has bills & a mortgage on a house owned for years to take a HUGE pay cut after, of course, taking the requisite year(s) of additional schooling in order to satisfy the credentially process (designed to garner a better breed of teacher but instead has bred an expensive industry to train too many inadequate teachers). Someone recently said to me the average salary of teacher in the city of San Francisco (for an example) is amoung the lowest for teachers -in the nation-. The SF teachers aren't paid that much less than most districts in this area.

    Teach is a nice thought, but not in the SF Bay Area / Silicon Valley.

    -TShrew
    (completely agast at the state of education in California)

  • Exactly right!

    Also, it's not just raw coding ability that makes you a good programmer in the workplace (although you could be great!). Good communication and team skills (something most people don't REALLY have at 15) are ESSENTIAL. Also, something that really only comes with experience is good engineering practices. You don't really write highly reusable code until you're REALLY under the gun to do so... Plus, I don't know what kind of programming you want to do, but a few years more math would help you a LOT in the long run.
  • Be careful -- as with all things, you can screw yourself no matter what you do.

    To be a sterling programmer, software engineer, or computer engineer, you definitely need to ground yourself in the fundamentals (as you said you wanted to do), so that you can analyze a problem, design an efficient algorithm, and write a language-neutral implementation before you even consider the implementation language. Once you do that, then as long as you stay familiar with the preferred technologies du jour, you should have no problem switching between languages as needed.

    That said, let me emphasize that you'll need to keep your finger on the pulse of what's marketable, and this tends to be a positive-feedback loop. My father is in technical management for [major defense contractor], and he was telling me about how, now that DoD no longer mandates the use of Ada, [contractor]'s management was considering whether new projects should use Ada or C++. They decided to use C++, not based on technical merit (personal opinion omitted to avoid flamewar), but rather because there are more C++ programmers than Ada programmers. Of course, in making this decision, they reduced the demand for Ada programmers, so fewer programmers will learn Ada, and their decision will justify itself.

    So, my two-cent advice (please email me an IOU for two cents) is to stay current with the computer technology fads (as well as those that will actually stick around for a few decades) so you can market yourself and to ground yourself solidly in theory so you can make best use of those fads.


    Christopher A. Bohn

  • > one's marketability is highest right after college and decreases geometrically thereafter.

    which planet are you living on?

    I assume its the planet earth like the rest of us. The article didn't say jobs in tech support or network design, they were speaking about software programming. The Washington Post had an article a few months back saying the same thing. That most hot programmers are perceived as being young. Some places figure when a guy gets to be in his mid 30's he should be in management already, and not still programming. Its a perception thing that isn't based on good management or common sense.

    There's a new stereotype where all the hot programmers are young guys in their 20's, have a attitude, bleach their hair, are body pierced, and go raving in their spare time.

  • by cyberchucktx ( 111365 ) on Monday May 29, 2000 @06:10PM (#1039263)
    I guess I'm the *professed* oldest member of this discussion so far: I'm 44.

    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.

  • by sumana ( 66640 ) on Monday May 29, 2000 @06:16PM (#1039267) Homepage
    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.
  • 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
  • This story [slashdot.org], posted on the same day even, provides a counterexample:
    In 1996, some 80 more engineers were added, mostly mid-career engineers who had years of experience in the jobs they were to take on for Transmeta. Signing on so many experienced engineers so fast in Silicon Valley's tight job market turned out to be surprisingly easy. "My being old helped," Laird said. (He is 44.) "I've been around a long time; I know a lot of people."
    I suspect that being older helps better engineers (more experience), but hurts others (perceived as not adaptive).
  • by sigwinch ( 115375 ) on Monday May 29, 2000 @06:22PM (#1039273) Homepage

    Hear hear! Engineering is much, much more than just writing code, analyzing circuits, specifying bolts, and similar details. There are things like

    • System architecture
    • Budgeting personnel and other resources
    • Making viable products (that people will actually buy)
    • Working with customers
    • Organizing documentation
    • Bringing multiple disciplines to bear on a problem

    These are the hard things, the things that kill schedules and budgets. And they take experience. That kid right out of college may be able to code the quicksort algorithm in 30 characters of Perl, but what if it isn't fast enough? Would they be able to rearchitect the system to use machine code? Would they even know that custom sorting hardware is possible? If they did, would they be able to rationally determine if it's workable?

    I'm a fairly young guy (25), but I really value my older colleagues. No matter what comes up, they've seen something like it before. Often, they're already analyzing different solutions while I'm still trying to wrap my brain around a problem.

  • by kevlar ( 13509 )

    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.
  • 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.

  • by Agrippa ( 111029 ) on Monday May 29, 2000 @06:35PM (#1039286)
    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.
  • by DuctTape ( 101304 ) on Monday May 29, 2000 @06:58PM (#1039300)
    Confession: I'm in my mid-40s and just started in a startup company. I work 60+ hours each week, and this will go on until about 3Q.

    Like the guy said, it really depends upon what position you're going for. Even more, it really depends upon what position the employer really, really wants to fill. And they're sometimes not the same, and you'll never know the difference until after the interview.

    I interviewed at a company where they said that they wanted Java developers. In reality, they wanted Java hackers that could, pardon the cliche, hit the ground running without touching a book. A couple of the questions included:
    - What compiler error messages will this Java code generate?
    - What was deprecated in 1.2?
    - What container class will solve this general problem? (their preferred answer was: "it depends")

    Another question from another company: would I be able to tell what code is yours without seeing a name? The correct answer: there is no correct answer -- you lose either way. If you say you're a conscientious coder who comments your code and/or makes it self-commenting, you gold-plate. If you say you would adhere to their coding standard, you show no initiative.

    Nowhere in either interview did they ask me to talk about model-view-controller, when to use adaptors, O-O concepts & design, software engineering, or database normalization.

    But I guess the nice thing about such interviews is that they tell you what the shop values most: in this last case, quick hack-and-slash coding that you can go back and clean up in a later release (uh-huh).

    Another thing to watch out for: I've gotten into the habit of putting my most oft-used routines and code snippets in files I drag with me wherever I go. Unfortunately, I tend not to remember the details of what's in those files, and the contents invariably turn into interview questions. E.g., "What is on the first line of a XML file?" Hell if I know what exactly it is... I just copy and paste it, or use it in a skeleton file. So before you go into an interview, bone up on your bag of tricks.

    Another little tidbit for the geriatrics (27+ years-old): if you want to be a developer, do not under any circumstances take a project management position. Or at least if you do, do not put it on your resume when you want to go back to development. I have spent so many interviews trying to convince a prospective employer that I really didn't want to be a manager, and a couple of them rejected me with the reasoning that it sounded like I really wanted a management position. If you have to, tell them you tried selling used cars or that you joined a cult. Just don't let them know you did project management.

    I've come to realize that no matter how good you are, you're never going to really know what a prospective employer is looking for until you hear back from them after the interview. And us oldsters have a few things going against us:
    - perceived higher medical costs and sick days off
    - higher salary requirements due to experience that an employer doesn't think they need
    - time wanted to spend with family

    Bottom line: would I have gone into software if I knew what I know now? Considering the late nights, missed vacations, prima donna MBA grads, prima donna MIT grads, bonehead managers, bonehead customers, bonehead requirements, bonehead office managers, bonehead sysadmins....

    Probably not. But it's hard to pass up the six-figure income and stock options. Party on, Wayne.

    DT

  • by sumana ( 66640 ) on Monday May 29, 2000 @06:58PM (#1039301) Homepage
    The Gold Rush of the last century -- er, the nineteenth century -- had prostitution and almost-slavery of Chinese workers and horrible environmental abuse and farmers getting dispossessed and other bad things.

    Let's see what social problems we have found in the New Gold Rush:

    Domestic violence (as per article in SF Weekly [sfweekly.com]) 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 [slashdot.org]), 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.

  • 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.
  • A programmer's union, just imagine the press the strikes would get.
  • 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.
  • by drix ( 4602 ) on Monday May 29, 2000 @07:27PM (#1039323) Homepage
    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.

    --
  • by goingware ( 85213 ) on Monday May 29, 2000 @07:28PM (#1039325) Homepage
    Well then I think you would enjoy reading GoingWare's [goingware.com] Important note for Recruiters and Agencies [goingware.com], in which I tell them all to get lost - and why.

    I give a link to my original policy on recruiters and agencies [goingware.com] 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 [goingware.com] 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. [goingware.com]

    Mike

    Tilting at Windmills for a Better Tomorrow
  • > I read a Gartner release last week and couldnt believe the predictions they were making, very much out of touch.

    I follow Linux Today [linuxtoday.com] pretty closely, and see lots of Gartner jokes^H^H^H^H^H reports quoted there. I have come to the conclusion that they always "predict" what actually happened over the past 12 months. It's a fairly safe way out, since the only time it makes them look too far off is when things are changing very rapidly. Unfortunately for them, the Linux uinverse has been changing very rapidly lately, so it gives Gartner a reputation of complete cluelessness among Linuxers.

    > The only way you can still be employable into later life is to specialise in something that will always require consultants, ie. Database design... Databases will never go away.

    Perhaps, though that could prove to be disastrous if someone invented a new db technology that obsoleted everything you know. Unlikely, but still a risk to consider. I prefer generality, and I honestly think it's more valuable to companies (at least for the majority of their employees), though I'm not sure many interviewers would agree with me.

    --
  • by Animats ( 122034 ) on Monday May 29, 2000 @07:30PM (#1039328) Homepage
    I'm still programming at 51, more because I want to than because I have to. I've been a manager, I've cashed out of a startup, but I like programming.

    Frustrations of an old programmer:

    • Seeing the same dumb mistakes being made over and over, especially when you've seen it done right. (Examples? UNIX signals and IPC. C/C++ declaration syntax. Attempting to bolt lambda expressions onto C++ via templates. Direct-X. Buffer overflows.)
    • The rise of ritual-taboo programming, or "don't worry about how it works, just follow the example." This is a reaction to having to use APIs that aren't solid; i.e. not all the things that are meaningful to do with the API actually work, so you have to stay within some ill-defined safe subset. Lately, this has reached the point that some programming books contain only examples; there's no rigorous description of what the API calls are supposed to do.
    • Putting up with crashes. Computers shouldn't crash, ever. CPU reliability is quite good, ECC memory works great, disks have multi-million hour MTBFs, and UPSs are cheap. But OS reliability sucks. There's too much stuff in all the major OS kernels. It doesn't have to be that way. Check out QNX. (Incidentally, did anybody ever get their free QNX CD-ROM? I'm still waiting.) It's that way for Microsoft because they use it as a business strategy, but the UNIX/Linux crowd doesn't have that constraint.
    • Unreliable programing languages. All the current fast languages suck from a safety standpoint, and all the rigorous ones (the Pascal/Modula/Ada/Eiffel/Sather family) are essentially dead. Java's not bad from a safety standpoint, but despite all the claims of the Java enthusiasts, it's just too slow. What I mean by safety is that an error in section A of a program should not be able to mess up totally unrelated section B. In safe languages, most bugs are local and have well-defined effects. With unsafe languages, you get unexplained Blue Screens of Death.
      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.
    • Miserable security I used to develop secure operating systems for DoD. I'd expected that, over time, commercial systems would get more secure. Instead, they've become insecure to the point of it being ludicrous. The typical corporate environment now consists of farms of desktop machines with essentially no security, interconnected over a LAN with no security, isolated from the outside world by a firewall with just enough security to stop the dumber script kiddies.

    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.

  • 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 am not a proffesional programmer myself but have plenty of friends that are. They all tell me the absolute opposite is true here. There is all these companies screaming out for staff but they won't touch you if you don't have five years in the field. The only jobs for graduates and the inexperienced they tell me are testers and really poorly paid (*read slave labour*) jobs coding accounting software. As I said this is all anecdotal, maybe my friends are just crap programmers. However, the impression I get is that it is pretty bad starting out if you don't have plenty of contacts.

  • 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?
  • As programmers we face the problem that being highly successful at one company, becoming the guru of all the technologies that make that company successful may not necessarily translate to highly valuable skills outside of that company.

    So we're in the continual position of having to assess which new technologies are not only going to be relevant to our company, but the industry as a whole -- this is incredibly difficult.

    I'm only 25 and I've already had this happen to me also (was C-guru, but few of the jobs I find exciting are using it); now I'm becoming a Java guru (and if you think that's easy, you're kidding yourself).

    You'll never have time to keep up with every new technology that might pan out to be critical to the industry in the future. Can any 40+ developers who feel there careers are thriving provide insight as to what has helped most? Degrees? Certifications? Ability to work with the young'uns?

  • Hello? We're not talking technokarma here, we're talking employability. I doubt if Woz has done a job interview since sometime in the 70s. If he had to re-interview now, he'd really be in trouble. "Let's look at your last project, Mr. Wozniak. Hmm, isn't that disk controller a little more complicated than necessary? Oh, I see, by varying the rotation speed, you squeeze a an extra 100 K onto the disk. But is it reliable? Well, do you have any experience with PCI? Firewire? NUMA? Well, thank you for coming in."

    But to get back to our original topic -- age is indeed a factor. There's a big assumption that the older you get, the more out-of-date your training is. I speak from experience. You can overcome this assumption, but it ain't easy.
  • As long as you're working on relatively simple projects that don't require the kind of knowledge or experience one gains at University, then you may be OK. But what if your company wants you to implement a compiler? A database system? Parallel or distributed computation (this could be a big thing in the future)? Or engineer a system that is designed to have a very long lifespan? Will you have the knowledge, experience and problem solving ability to approach the job and do it properly? I doubt it.

    Being able to learn and stay current is great, and it's something everyone needs to do in this industry. But I have worked with some very good programmers, and about 50% of what makes them so good is innate things like intelligence and work ethic. Howver, only 1% or an otherwise insignificant amount of that is their ability to stay current. The remaining 50% is the knowledge and experience of working with the fundamentals of thinking and solving problems. A good University education in ANY discipline will make you a much better thinker and problem solver. And a computer science degree in particular (from a decent school) will make you particularly adept when those problems are computing problems. This should be obvious. A large part of the process of getting a good education is being constantly faced with problems that are completely new, that you don't know how to approach, but you have the tools to solve. In the real world, if you're faced with a problem you don't know how to solve, you may not even know what the tools are. Inevitably, you will either solve it by mimicking a solution to a similar problem, or you'll try and come up with your own means of solving it. You may end up with a result that's far from optimal, if not simply incorrect.

    I thought I was pretty good before I began University. I was a hard-core geek, and spent many hours writing code, every day after school. I figured I was capable of becoming a software engineer without a formal education. Well, it was a pretty big surprise when I first got a taste of the real world, and realized that there were problems I didn't know how to approach. I discovered that hacking together a solution out of duct tape, using code found online or in books for reference, and doing whatever it took to get it to work is nowhere near good enough. Unfortunately, I was right. I probably WAS capable of going out in the real world and doing a lot of jobs in this industry when I was 16-17. But now I know that I would not have done 1/2 as good a job as I would do now, and would probably have deeply regretted not going to University 10 years down the road when I got bored of whatever I was doing and had aspirations to do something far more interesting or challenging. If you have aspirations to be as good a programmer as you can be, then I think a formal education is pretty necessary.

    I think the bottom line is that it's all about how much breadth and flexibility you want to have in terms of your employability. There are many jobs you can get away without the knowledge and experience a formal education brings. But they tend to be the lower tier jobs. If you ever switch jobs - and you will - you may find that you're quite limited in your options. If you're interested in going into management, then you may be better off, because aside from being paid more, you'll probably be judged with more of a focus on results. The sooner you get there the better. Personally, I wouldn't want to be in a position of betting my career on my ability to learn and stay current.
  • 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.
  • You program algorithms.

    You use heuristics to figure out what algorithms you wish to program.

    Whippersnapper.
  • 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.

    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. :) 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.
  • by w3woody ( 44457 ) on Monday May 29, 2000 @08:19PM (#1039353) Homepage
    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.
  • Why, when I was your age, computers only had 8 bits. We were lucky to get 16K of RAM. And we liked it that way!

    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.

  • One answer to this problem, the path I've taken, is to become a consultant. This way you can keep coding but get more architecturally interesting jobs appropriate to one's greater experience.

    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 [slashdot.org]. 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 [slashdot.org] 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

    Tilting at Windmills for a Better Tomorrow
  • I'm not surprised to see (again!) that "old" programmers are discriminated against. Same thing is true for "old" engineers. In some places! But who do you go to design a system that will take 200 to 1000 man years to finish? Or to find weak points in someone else's design for a billion dollar satellite system? Or to plan the integration and test for a nation-wide communications network? Or to fix a project that's way behind schedule and over budget and has more bugs than a long int can count? Do you go to the programmer with 2 years experience or the one with 20? The smart folks go for the experience, even with smaller projects. The ones who won't pay for experience eventually find themselves up the creek without a paddle, then without a canoe, then without even water in the creek. And the project (or even the entire business) gets canceled.

    I've been a programmer since 1964. (Hmmm, that may be even more than 20 years . . .) Also a designer, analyst, project lead, program manager, systems integrator, instructor, consultant and trouble shooter. I've had the opportunity to work on accounting systems, operating systems, database systems, satellites, communications, device drivers, web sites, compilers, etc. I've seen projects staffed with kids (because they're inexpensive) and old fossils (because they're here) and seen just about every software design mistake possible - several times. And I know how to avoid them (mostly!)

    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

  • If there are any aging geeks looking for jobs, they should try less-densely populated states. Sure, pay might be a little lower, but there are a lot of companies looking for small groups of people (1-3 or so) to run hardware and software for their company. South Dakota, I know for one, is probably going to have a lot of such jobs soon.

    -------
    CAIMLAS

  • 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.
  • by Mignon ( 34109 ) <satan@programmer.net> on Monday May 29, 2000 @09:53PM (#1039377)
    Patients at Advanced Aesthetic Dermatology in Campbell who want wrinkles and other signs of aging removed frequently list staying competitive in the workplace among their reasons for wanting to look younger, said physician's assistant Liz Papp.

    ``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.

  • You seem to be implying that because young guys are willing (and able) to work 80-hour weeks, they are better at saving really badly managed projects than old farts like me (36 years old) who tend to work mostly 40-hour weeks. In point of fact, it was probably those youngsters working 80-hour weeks that got the project in trouble in the first place. It takes them 80 hours to do what I do in 20. And then it's crappy code that probably will take me 80 hours to untangle when I have to make a change.
  • 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.

    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 ;-) 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?

    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.
  • When my dad was in grad school in '76, I saw what a nice slide rule he had, and envied it. Grandpa got me a simple one and I learned how to use it.

    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

    Tilting at Windmills for a Better Tomorrow
  • I wish more people would read Tom deMarcos books.

    There ARE a few studies out there that show clearly: you CAN'T work efficiently more than 8 hours a day.

    I know it from experience (and I've been working for 20 years in this business - makes me feel like a kind of dino). One year long I attached a timestamp to program lines I wrote or changed. The result:

    The most stupid bugs and the worst design decisions I made at the late hours. Sometimes, I introduced a bug after over-working 3 hours that took me three days to find and fix. Now that's a lot of time to waste!

    If you look at the case studies, this is not only me. The productivity of a programmer does not increase after working more than 8 hours. The productivity will stagnate until ten or eleven hours are reached and will then start to decrease.

    But oh, its so cool to work more. Pity that this does not show up in the results.

    The reason for overworking is simple: if you don't finish at that impossible deadline, you can always say: "Look, its not my fault, I've worked hard". Maby you've worked hard, but you haven't worked smart. Maybe you should start to learn that programming is about working smart, not hard.

  • by Allnighterking ( 74212 ) on Tuesday May 30, 2000 @01:38AM (#1039411) Homepage
    A-freaking-men. I've got 4 recent programing grads outside my office, all of them are just a drag on our resources. I've also got two experienced programers who are doing 90% of our companies "real" coding. (New company, one team) Out of these four I think I can salvage one. The other three are either too timid our two green to be worthwhile for another year or so. No it comes down to this, "never trust anyone over 30". We said it when we were in our 20's and it's coming round to bite us in the ass in our 40's. I really believe that the wild west days of the net are over. Soon profitability will out weigh neat new ideas. The value of knowledge will come to bear when this change occurs. The end result? Coders with experience will out do the ones without. Theory is great, in fact, mathmatical theory is the one thing that seems to seperate the men from the boys when it comes to coding. But theory has it's limits and that is all a good school teaches. Experience is something that only time can give any of us. The down side to age seems to be this god awful feeling that we know something. At this stage of the game I have to constantly remind myself that even though I am older and I have been at it longer, young pups can still come up with some of the neatest tricks on their own. Even when they do it takes someone who knows a little more to teach them when is a good time to do the trick and when isn't. The ideal situation is a strong mix of experience and enthusiasm. Like the young bull and the old bull. The young bull wants to run down the hill and get himself a cow. The old bull knows that if he walks down the hill he can get them all.
  • 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.
    --
  • 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!

  • 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 [ucdavis.edu]. 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 [programmersguild.org] (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 [nw.dc.us] 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.

    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 :). Show employers that you have the capacity to learn.

    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?
    --
  • All true except for one thing.

    Long hours won't save the project. Almost all deathmarch projects fail, mostly they never ship at all, the rest mostly crash and burn on the first maintenance release.

    PHBs recruit youngsters because they are cheap, and don't understand how badly they are being abused. Its all driven by fear, the PHBs don't know what to do and are afraid of failure so they employ the only 'management' technique they understand - 'Work Harder!' (but they cannot measure that very easily so they translate it to 'work longer!').

    Its the only technique they know because thats how they were managedd when they were young buck programmers. Then they got older and moved up into management.

    Hiring young, inexperienced developers into roles requiring experience turns your development effort into a lottery. You may strike lucky and get one of the few guys who 'get it' straight off (I'm sure all slashdot readers fall into this category ;-) but how often?

    Rgds.

    Tom
  • You're worth more with experience. True. Meaning you cost more. A company won't pay one person $70,000 when they can get two for $30,000, experience be damned.

    What? I don't know where you work, but my company will pay me 70k even though they could get two other programmers for 30k. Why do they pay me? Experience. My ten years of experience pretty much guarantees that I'll code circles around any two kids they manage to hire for 30k

  • Hear Hear! But let me give you a couple of more things to consider.

    First, my background: I'm one of the principal engineers at my company, and am one of the people that does technical interveiwing of candidates. You want to know what I look for?
    1. Breadth of experience: If all you've ever done is device drivers, or UI, or databases, or .*, then you will be lost when I ask you to do something else. Ditto if all you've ever worked with is Windows (or Linux, or Unix, or VMS, or .*).
    2. Motivation: I give you a task to do, I cannot afford to babysit you to make it get done. I've got work of my own to do.
    3. Personality: I don't care if you could teach Linus about OS design, if you don't play well with others you don't stay on my team.
    4. Willingness to learn: This doesn't just mean learning programming; it means that if I show you how to operate a radio, or 'scope, or soldering iron you pay attention and "save the file to disk". If I have to repeatedly show you the same thing over and over, you're out.

    Now, young punks often lack these skills, which for some reason are not taught in college. They often think because they know all about RAID controllers they know everything (mistaking great knowledge in a small area for great knowledge in a large area). Older programmers have (usually) learned these things.


    That said, unfortunately older programmers bring more value to a company and therefor cost more. When you have a real PHB who things "a programmer is a programmer" (like a VB programmer is going to do real well programming a DSP in assembly! or vise versa) they think by going cheap they can get the work done. Wrong.


    However, there will always be companies that listen to their technical leads and hire quality. Just don't be afraid to relocate. The Valley is, unfortunately, completely screwed in this regard: high prices for labor + large amounts of talent walking around = tough times for older people. But look to Colorado Springs, or Dallas, and you might do better.

  • Really the people who are in the best shape are college grads with 2-5 years experience. They have a proven track record, better honed skills, and they are still young and are still in a position where they can work ridiculous hours.

    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.

    ---

  • It used to be just women who lied about their ages. Get ready for the Programmer who is 23 with 18 years experience.

  • by speek ( 53416 ) on Tuesday May 30, 2000 @02:33AM (#1039432)
    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.
  • Excellent post, wish I had mod rights so I could send it to the 5 it deserves.

    As an older programmer myself, I fully agree with every point, with one minor quibble: Not all "engineering" languages (as opposed to "hacking" languages) are dead--if Ada is dead, for example, it's an awfully lively zombie [adapower.com], especially on free OS's. So take heart, and take a look [gnuada.org].

    Despite this, it's a great time to be a programmer. Amen, brother. When I was starting out, I had fantasies about systems with a tenth the capability of what's on my desk right now. I never dreamed I'd actually own a system with this much power, with this wide a choice of languages, this much flexibility, etc. Sure, the software bites--but hey, that's just more opportunity, right? A target-rich environment.

  • you're worth more with more experience. right outof school, you have no experience, so obviously you're worth less.

    When I went for my last job in Sydney I took 10 years of experience in mainframe operations, tech manual writing, help desk, customer services, software customization, PC repairs, networking, and a Diploma Of Computer Studies. I was told they were looking for someone a bit younger. I was 35 at the time.

    Now I build pollution control systems. I'm much happier to be out of an industry like that.

    I can't help wondering if I would've got that job if I'd been less experienced.

    batty

  • Become an independent consultant. Making $130/year is not too hard if you've got good skills and live in the right part of the country. Although most consultants I know are workaholics, you don't have to be, so you can take as much vacation as you can afford. And you get to do plenty of coding.
  • Your message is an EXAMPLE of the kind of age discrimination programmers over 40 encounter

    You mean the part about how I'd hire them in a heartbeat if they were qualified? I work for a man who's over 40 and have co-workers who are as well (in an Internet startup, I might add). One of my co-workers, our lead designer, started his career as an actor (he was Joshua Tree in Alien Nation the TV series, if anyone recalls). We didn't look at his age. We didn't look at his non-industry background. We looked at what he could do and how much workload he could handle. Honestly, if he quit now, we'd be in trouble. I think (off the top of my head) our over-40 population is probably about 10%, with another 10% being over 35. We're a young company in a young industry, but our hiring practices are very fair and we take everyone with applicable experience seriously.

    You'd say (actually you said) the technology is changing too fast, Peter Principle, and a bunch of other common code-words that get you killed when you get into an age discrimination lawsuit.

    If someone sued me for not hiring them, I'd point out that we interview at least 2-3 people per week (on a slow week) and we do it the same for everyone. We hire the good ones. Age never enters into it (unless they're so young that we question their legal working status). The Peter Principle is not a code word for age discrimination, and if you note I was applying it to myself in the posting. What I was saying was that in order to achive substantial career growth, I was having to spend lots of time learning to be a manager, at the expense of learning new technical things. I used to spend hours per day reading RFCs, reading USENET technical discussions, etc. Now, I spend that same time trying to develop management-oriented social skills. That's what the Peter Principle is all about, but if you haven't read the book, you probably would not know that.

    Something to keep in mind is that I've seen a lot of 25 year olds who we wouldn't touch, not because of their age either, but because they were trying to break into the industry and just didn't have the core level of competency that we need people to hit the ground running with. This is a very hard industry to break into, and a COBOL programmer with 20 years of expereince will be unplesantly suprised to find that he/she has to re-train in an industry that a) doesn't generally have a lot of entry-level possitions and b) doesn't count classes and certificates for much.

    It's really the skill gap that hurts older people in this industry. It changes quickly, so you have to constantly re-train. Look at 99% of other industries, and you will find that if you want to find a new job after getting stuck in a bit of a rut, all you really have to do is take a few classes and take a lower paying job for a while (which is a hardship, but not a career-stopper like it in this industry).

    In the end, the computer industry will have to develop those sorts of career paths, because we will have to take advantage of the large base of competent, but not-up-to-date employees. Right now, though, that infrastructure simply does not exist.

    A person who would never discriminate will be saying stuff about should be in management, technology has passed the skills, etc... REGARDLESS of the actual skills of the applicant.

    I'm not sure I can even read that, but we don't interview anyone without taking their skills into account. In fact, skillset is most of what we take into account. If you can do the work, we just don't care how old you are (unless you're so old that we have to question how dangerous commuting is for you, e.g. 90+, but even then, if you felt up to it, I think we'd probably go for it).

    As for management, we're too young a company to have any pure management openings. Everyone in the technical side of the company has to have a technical clue and some basis in this industry. Even our VP of Engineering, who is over 40, has substantial background this industry, and uses it every day in managing our vendor relationships.

    The thing is, it's a tight market. I can't afford to discriminate on the basis of age. If I interview someone and they can do the job, there's no way in hell I'm going to turn them away. Period.

  • 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"
  • Actually, I'm implying that *management* thinks that young guys working 80+ hour weeks are better at saving badly managed projects...
  • A few thoughts come to mind....

    1. I'm a software guy making more than twice the starting salary our company offers to kids right out of school.

    2. A big chunk of the value of experience depends on the *industry* you're in. For example, I'm in the telecom industry, and it takes a good couple of years just to learn all the terminology and special requirements in a telecom environment. Companies like Cisco, Lucent & Nortel are continually raiding each other for experienced people.

    3. Who really wants to be programming in 20 years? I'm 32 years old, and if I haven't advanced beyond programming, I'm going to be very frustrated.

    4. Your value goes down once you graduate, not because of your salary, but because the industry is moving so quick -- if you aren't continually updating your skills, next years college graduate is going to know more than you do. They say that the half-life of an education is 5 years.
  • Your point is bang-on; I am currently only working these hours because there is a short-term fixed endpoint in sight -- end of June.

    My solution for keeping productive is several games of Doom & Quake every 2-3 hours. Helps a bit.

    You're comment about working harder is a bit patronizing -- I've been at this for 16 years, professionally, and am deathmarching here by choice for a potentially lucrative payoff. But my wife and I know it is temporary...
  • 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
  • Amusing to see that there are still a few vocal xenophobes out there. If there is a reduction in 1B quota, then the jobs will not go to other underskilled US citizens,

    Boy, you are full of it. You have no idea of what you speak. My wife has her greencard, my best friend is from Columbia, one of the best programmers I know is Serbian.

    What I object to is companies claiming that they can't hire people, because they can't find someone with 2 years of Java 2 programming or in 1988 someone with 10 years of DOS programming. Then because they can't find that "exact" person, they underpay someone whom is sponsored on an H1B. Then this person is trapped.

    It's alot cheaper to export the work. The head of networking at a university is China is paid $250/month. So, why not.

  • 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.
  • 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"
  • by Eric Green ( 627 ) on Tuesday May 30, 2000 @12:36PM (#1039540) Homepage
    I think it's important to distinguish between "underskilled" and "stupid". The two are different entities. We hired a kid straight out of college who was "underskilled". But he was not stupid, and when we pointed him to the books he needed to read, he picked the skills right up. Not to mention myself, I knew nothing about cryptography or SCSI media changers before I joined my current employer, and now I'm the guy in charge of those components for my employer... I am NOT right out of college, BTW. I've been in this industry more years than I'd want to count. Still learning new things though.

    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

"Why should we subsidize intellectual curiosity?" -Ronald Reagan

Working...