Slashdot Mirror


"Logan's Run" Syndrome In Programming

Ian Lamont writes "InfoWorld has an interesting analysis of the reasons behind the relative dearth of programmers over the age of 40. While some people may assume that the recession has provided a handy cover for age discrimination, a closer look suggests that it's the nature of IT itself to push its elderly workers out, in what the article describes as a 'Logan's Run'-like marketplace. A bunch of factors are listed as reasons, including management's misunderstanding of the ways in which developers work: 'Any developer can tell you that not all C or PHP or Java programmers are created equal; some are vastly more productive or creative. However, unless or until there is a way to explicitly demonstrate the productivity differential between a good programmer and a mediocre one, inexperienced or nontechnical hiring managers tend to look at resumes with an eye for youth, under the "more bang for the buck" theory. Cheaper young 'uns will work longer hours and produce more code. The very concept of viewing experience as an asset for raising productivity is a non-factor — much to the detriment of the developer workplace.'"

17 of 599 comments (clear)

  1. Yes and No by Concern · · Score: 5, Interesting

    I have no idea if I'm an outlier, but with a blind preference for intellectual depth, rigor, and creativity, I tend to see what I figured was normal: more experienced candidates often come out ahead. Not always, but often. More experience unsurpisingly equals more age. The best are often bringing decades of experience, MA or PhD level credentials, and the ineffable things that come from having been there and done that in a lot of different trenches. They often cost more (though not all that much more), and they're worth it.

    I know the corporate world at large has this patrician idea about pay related to seniority - whereas I come from the pay-for-value mindset. There is a good observation in the article about older folks making more and therefore being victims of cost cutting. I'm sure this happens as well, but in my world the observation is meaningless. A senior software engineer will get a good salary - more than enough to support an upper middle-class lifestyle (albeit not at the level of an attorney or an anesthesiologist), regardless of their age. If they ask for too much, they will be unemployed; if they tire of unemployment, they bring their compensation demands back in line with their value. I find most people have a very good grasp of the labor market, especially with the advent of widely available salary suvery data.

    I have a couple of friends in their 50's who joke about becoming obsolete. I associate this with actually getting tired of keeping up with an industry that reinvintents itself so often, and therefore, not keeping up. There's a trap there, too: a kind of local maxima where, for a while, being an expert in Cobol or IBM mainframes is not only easier than learning Java, but will pay more and more, as you become more and more rare. Until one day you look for your next job and it just... isn't there.

    Historically IT has suffered from a lack of technical depth at the top. Companies wanted wise old hands with management experience in charge, even if those wise old hands needed an assistant to print their emails every day (true story, multiple companies). As the next generation rises through the ranks, you will have more middle management, SVP, and ultimately COO, CEO, etc types that have real first-hand knowledge of technology. Eventually the corporate world will lose some of its notortious and costly blindness towards talent, and both hiring and strategy will become more objective and less bullshit-driven.

    --
    Tired of Political Trolls? Opt Out!
    1. Re:Yes and No by 2short · · Score: 5, Insightful


      True, but if it's for a job doing .NET programming (for example) a lot of people doing hiring will take the guy with 1 year of .NET experience and nothing else over the guy with 30 years experience in 5 different languages and no .NET. All else being equal, the latter guy will probably be more valuable.

    2. Re:Yes and No by LWATCDR · · Score: 5, Insightful

      "The fact that you have 30 years of COBOL experience doesn't help you if you don't learn new technologies."
      learning a new language is easy. Learning to program is hard.
      c, java, c#, php, perl, are all very much alike. Once you know one learning the rest are easy.
      In your typical application program so much code is now offloaded to the libraries that once you leave school you are unlikly to have to write a HASH or a sort every again.
      What experence teachs you is when you need to use a hash vs a btree.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    3. Re:Yes and No by Opportunist · · Score: 5, Insightful

      Just wait 'til Y3K rolls over and we old COBOL proggers will be sought after again!

      Ok, aside of lame jokes, it's a misconception that "you have to know $language_FOTM to be useful". You have to know how to program to be useful in the long run. Of course, all those fast breeder COBOL programmers that were cranked out 30+ years ago when COBOL was the be-all, end-all language of the trade will not have any future. Neither will the same kind of fast breeder .net codemonkeys have any. They will be used now 'til nobody cares about .net anymore, then they will be tossed and retrained to ... car salesmen or whatever needs more people then.

      What's left is programmers who do not learn a programming language but to program. It does not matter if you write C, C++, Java or C# code. It's basically the same concept. I could see that there is a genuine difference between an imperative and a descriptive language, but ALL the languages mentioned above ARE imperative. If it does matter to you that you're supposed to use a different one, you have no right to call yourself a programmer in my eyes. Because the algorithm does not change. The words you write, the symbols you use and maybe a few tidbits to take care of do. But the foundation stays the same.

      Programming is not knowing an API by heart. That's something help files are here for. Programming is not knowing what library contains what functions. Check your manual for reference. Programming is knowing how to translate a problem into code. What language is used to do that translation is not important.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    4. Re:Yes and No by Minwee · · Score: 5, Insightful

      On the other hand, the guy with thirty years experience probably expects to leave the office at the end of the day and not work overnight and on weekends. The guy with one year of .NET experience may even believe tales like "We're going to have to put in a few extra hours to finish this project, but we'll make it up to you after we ship", "That's the way everybody in the industry does this" and "I'd hate to see you have to leave the company because you didn't want to be a team player".

      While the more experienced developer is obviously a valuable addition to a well run team, Junior is much easier for a dysfunctional team to exploit, throw away and then replace next year.

    5. Re:Yes and No by bittmann · · Score: 5, Insightful

      I maintain C code written by a COBOL programmer. You can tell.

      The code is written in a verbose, heavily-commented, yet easy-to-read style, and actually does what it appears that it should?

  2. jaded by convolvatron · · Score: 5, Insightful

    the problem with having older programmers like myself is that they are fully tired of being jerked around
    by incompetent management. if you've worked in 20 shops, and run a few yourself, you're alot less
    likely to happily pull an all nighter to try to get the release out the door. you understand
    that this all could have been taken care of months ago, and you went to some pains to point that
    out then.

    the other kind of older programmer has just given up. they know better, but they understand
    that bitching isn't going to solve anything and they need the health insurance. they look alot
    less capable then they are because they just agree with everything and try to get out the door
    by 5.

    younger programmers dont know any better, they will believe whatever you say

  3. Kids Today by handy_vandal · · Score: 5, Funny

    Kids today have it easy -- context sensitive development environments, online documentation, etc. etc.

    Why, when I was your age, we had to chisel bluestone megaliths using only hand tools, and then haul those four-ton stones into a circular pattern, just to calculate date() ...!

    --
    -kgj
  4. Experience by copponex · · Score: 5, Insightful

    Across every industry I've been involved in, a good piece of advice from an old business mentor has held true:

    When you pay an expert $100 an hour, you're not paying them for the hour. You're paying them for the years of experience they have plus an hour of their time.

    This also dovetailed well with what a mechanic told me when I was trying to lowball him: "When you pay peanuts, all you get is monkey business."

  5. Young programmers keep me employed! by Anonymous Coward · · Score: 5, Informative

    I'm 59, and have been programming professionally since I was 20. The two best things for my employment are:
          1) Young, inexperienced programmers.
          2) "Experienced" Indian programmers.

    Why is that? Because they both fuck up constantly, and thus give me lots to fix.

    Young and inexperienced programmers are a delight to work with. It's great to see them come into a project all cocksure, only to be crushed by the demands of the real world. They'll spent countless hours putting together shitty software, which will always fail. Then management calls me in, and I fix their code. Mostly this means rewriting it all from scratch. Regardless, I make about four times what they do. Then again, I deliver working code.

    "Experienced" Indian programmers and "software architects" are the next best thing. They're like the young and inexperienced programmers, but their fuckups are much, much bigger. That means the customer's desperation is much greater, and I can make more money. What's best about these guys is that they often haven't produced even a line of code. They just spew out UML diagram after UML diagram. I look at the diagrams, talk to the users, and it becomes obvious what should be done. I sit down, implement the software, satisfy the customer, and collect my money.

  6. Age Test by Sponge+Bath · · Score: 5, Funny

    If you read this article and are thinking about your career, then you are young. If you are thinking about a naked Jennifer Agutter, then you are old.

  7. Re:It is age discrimination - Yes, It is by tsm_sf · · Score: 5, Insightful

    I was once young enough to work 16 hour days. Now I know better. That is the entirety of the "problem".

    --
    Literalism isn't a form of humor, it's you being irritating.
  8. Only "Jaded"? by coolmoose25 · · Score: 5, Funny

    The phases of programming (and lots of other things) are:

    - Disgruntled
    - Jaded
    - Bitter
    - Postal
    - Indifferent

    The Systems Development Life Cycle can be thusly described:

    - Wild Enthusiam
    - Beffudlement
    - The Disaster
    - The Search for the Guilty
    - The Punishment of the Innocent
    - The Promotion of the Uninvolved

    (yes - 45 year old programmer who is now a pointy haired bossman)

    --
    Brawndo: It's what plants crave!
  9. Re:Over 40 is "elderly"? by methano · · Score: 5, Funny

    Congratulations, Anonymous Coward! From now on, whenever I see a resume with the name "A. Coward" on it, it's going straight to the trash.

  10. Re:Obivous Answer by starfishsystems · · Score: 5, Insightful

    "Beyond" programming?

    When I look around, the most limiting factor I see in any enterprise computing environment is the quality of software in use. Multiple teams of people and multiple layers of management are required just to keep it working. Any upgrade plan sends ripples of alarm racing back and forth. And why is there such a status quo of vast inefficiency? Because software is as complex and flawed a contraption as inexperienced programmers can make it.

    It takes an extraordinary person, one having both breadth and depth of experience as well as innate clarity of thought, to design even a moderately large system that's simple and sufficient, modular and extensible. Such people aren't to be found in anyone's junior staff. They don't have the experience. And their talents are lost if they should move into management or some other career.

    It's not a question of "beyond" where programming is concerned. Unlike any other field, the medium in which we work imposes no ceiling on what we can do with it, Gödel incompleteness notwithstanding. There is no "beyond".

    This is such an elementary insight. Since the field itself is not a constraint, what we can achieve is constrained by two factors: our own competence in the field, and time. Given two people of the same natural ability, the one with more experience will be more competent than the one with less experience. That's because, in effect, the experienced one has already put in the time.

    Of course, inexperienced people might not know this.

    --
    Parity: What to do when the weekend comes.
  11. Re:Obivous Answer by Angst+Badger · · Score: 5, Insightful

    Eventually people do tend to get promoted beyond programming positions.

    Sometimes, though it's obviously a minority, or managers would soon outnumber their subordinates. I've turned down lots of management positions. The narcissism of non-technical managers is such that they think everyone wants to be like them, so they are quite sincere in their attempts to reward good programmers with management positions. The problem is that there is next to no overlap in the skillsets, and most often, what you get is a crappy manager in exchange for a good programmer. There are exceptions, but they are definitely the exceptions, not the rule. Some will accept the promotion with the idea that they'll run things better, but then they discover that the cluelessness of the non-technical manager they are replacing wasn't all or even most of the problem: there's the cluelessness of the next level of management behind it.

    As it happens, I actually can do a decent job of managing people. The problem is that I'd rather flip burgers. Consequently, I've stuck to programming and kept my skills updated, but at 39, I'm looking at the reality of a career change in the mid-term future. I'm not terribly worried about it -- I'll have the kid through college in four more years, and after that, I can afford to live on a much, much smaller paycheck.

    Should it be that way? No, of course not. But absent some kind of organized labor movement -- which programmers are notoriously, irrationally averse to -- it's not going to change, as the people making the hiring and firing decisions are getting by just fine with the current system. There is then little choice but to adapt, or at least emigrate.

    --
    Proud member of the Weirdo-American community.
  12. Re:It is age discrimination - Yes, It is by mcgrew · · Score: 5, Insightful

    I was once young enough to work 16 hour days. Now I know better. That is the entirety of the "problem".

    My friend Amy, whose dad would be a year younger than me had he lived, is amazed by my ability to come home from work, drink with her until the wee hours, and get up and go to work the next day. Perhaps that's because I was never stupid enough to work a 16 hour day -- I don't live to work, I work to live. I've been like that since I started working at age 16. I'm 57 now and look ten years younger than friends who are ten years younger than me.

    Hell, I once passed up a promotion just to not have to work overtime. Money is just a tool, and one should never let his tools get in the way of what you obtained the tools for in the first place.