Slashdot Mirror


Too Old To Code?

Weyoun writes: "Mercury News has an interesting article up about age discrimination in the Valley. As a 23-year old software engineer, I'm doing great right now, but I'm terrified about what will happen when I hit 40 or 50. Software is the only industry I know of where one's marketability is highest right after college and decreases geometrically thereafter. Any ideas for a second career?" Better yet, is this only in Silicon Valley? Only in the United States? Talk amongst yourselves.

20 of 432 comments (clear)

  1. obsolete by cowscows · · Score: 5

    At least you don't become obsolete as fast as the hardware you work on. Now that would be scary.

    --

    One time I threw a brick at a duck.

  2. wrong by TheGratefulNet · · Score: 4
    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..

    --

    --

    --
    "It is now safe to switch off your computer."
    1. Re:wrong by xenotrope · · Score: 4

      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.



      ---

      --

      ---
      Remember when "Truth, Justice, & the American Way" wasn't contradictory?
  3. One word answer: by Penrif · · Score: 4

    Teach.

  4. Not the only industry by Carrion · · Score: 4

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

  5. Mentorship by Sunir · · Score: 5
    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.

    1. Re:Mentorship by sigwinch · · Score: 4

      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.

      --

      --
      Kuro5hin.org: where the good times never end. ;-)

  6. Coding isn't everything (gasp!) by Anonymous Coward · · Score: 5
    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.

  7. Obselence -- Something to fear? by Zoid · · Score: 5

    This is something I've started worry about myself lately. I'm 30 now and wondering if I can keep up. One of the major reasons I left my job at id Software was to find new challenges and learn more.

    I've been programming in C for like fourteen years now and it seems C is starting to phase out. C++ and other languages are starting to become more widely used and I was starting to fear that if I didn't learn C++ quickly, I'd get phased out.

    The other problem I have is that from over a decade of work in C, it's taken me a period of adjustment to switch to a different methodology such as C++. Sure I understand the semantic differences in changes from procedural to an object based design, but I felt lost for the first while in applying those theories to real code.

    I've found that in order to stay competitive, one must never stop learning. That may even include changing jobs in order to successfully find the training you are seeking.

    Due to how fast technology changes, I think it will be rare for a person to stay at the same job for more than a few years in the computer field. You just usually can't get enough variation in the job to get all the training and skills you need to keep advancing your knowledge and your career. If someone does find a job that does provide this, they are pretty lucky.

    --
    /// Zoid.
  8. It's not the knowledge, it's the hours ... by The+Code+Hog · · Score: 5

    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.

    --
    -- "Vote Democrat. Because the current crop of conservatives are just bugnut crazy."
    1. Re:It's not the knowledge, it's the hours ... by aggressivepedestrian · · Score: 4

      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.

    2. Re:It's not the knowledge, it's the hours ... by DevTopics · · Score: 5
      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.

      --
      You found a sword: +4 damage, +5 moderator points
  9. It's very mixed in my experience (Boston area) by ajs · · Score: 4

    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.

  10. This is what you are worried about? by Glowing+Fish · · Score: 4
    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.

    --
    Hopefully I didn't put any [] around my words.
  11. Re:Yeah, I worry about this a lot... by lamz · · Score: 4

    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

    --

    Mike van Lammeren
    It will challenge your head, your brain, and your mind.

  12. 44 & still programming ... by cyberchucktx · · Score: 4
    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.

  13. Re:It depends on the position. by DuctTape · · Score: 4
    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

    --
    Is this thing on? Hello?
  14. This leads to a much larger problem by drix · · Score: 4

    When twenty year olds put in 60 hour weeks stressing to meet that deadline - that's nothing new. I'm sure plenty of people here have done it. But when was the last time you heard of a fifty-year-old doing the same thing? The reason that these "elders" have trouble getting work is that they tend to have a life outside of it. Kids, wives, golf, whatever. I, for one, think this a good thing.

    But I have to say, many geeks would disagree with me. I'm not passing judgement on anyone who does, but the young people who empathize with victims of this problem are the ones that create it. Everytime you pull all-nighters, work weekends, go on coding marathons, you're sending a message to the company that they can get way, way more work out of a twentysomething at a way, way cheaper price (you haven't had 20 years of raises jacking up your pay). This isn't anyone's fault, but I think it's a big part of the problem. Any PHB would take a hypermotivated employee willing to work for pizza and stock options over a more staid, money-in-the-bank guy with kids to put thru college and financial obligations. Pizza and stock are a lot cheaper than cash and full bennies. That's just simple economics.

    --

    --

    I think there is a world market for maybe five personal web logs.
  15. On programming by Animats · · Score: 5
    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.

  16. Play to the stereotypes... by w3woody · · Score: 5

    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.