The Source for Java Technology Collaboration
User: Password:



John O'Conner

John O'Conner's Blog

Programmer's Retirement

Posted by joconner on July 22, 2005 at 11:29 AM | Comments (18)

Every profession has its share of workers who continue past their prime years of productivity. Maybe you've seen one...the overweight police officer who looks more at home in a Krispy Kreme shop than in his cruiser. I'm thinking software engineers have to "throw in the towel" sometime before 40...before the ol' brain loses too many working cells that can absorb it all.

I'll admit that maybe it's just me feeling old, like my best programming days are behind me, but I'll bet there are plenty of others too that feel similarly. I just can't keep up with the latest spec of this or that anymore. The pace is too fast. I can't read it all, test it all, write it all, grok it all.

So where do old programmers go to live out the rest of their days? Once you leave programming, where are you going? My last software contribution to the Java platform was Unicode 4.0 and supplementary character support in Java 5.0. However, it's time for a career change. From now on, you'll find me behind the J2SE hub at java.sun.com. I'll manage and deliver new technical content for developers. At least I'm narrowing my focus from all the Java APIs to the core J2SE and language...and that's still a huge chunk. Hmmm...maybe I haven't done myself any favor after all...


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • There is atleast one feature that is common to the the profession of software
    development and the oldest profession this world has known - the customer
    is nearly God. Let us leave it to the customer to decide when a programmer
    has lost the "goods". I have known atleast a few customers and professors
    who can "feel up" a programmer.

    I am aging too, but the one noticeable thing I noticed I lost was the ability to
    tolerate crap from the environment. Quite often I had the urge to knock the
    living daylights out of the less-than-human-being sharing my office room.

    I can't recall how many times I started from scratch on new problems (projects
    etc) - each time shoved aside for more youthful "goods". I don't think I have
    lost the ability to rise from ashes on account of my age, even tho' it was tougher
    on the aging mind (and body) each time.

    One thing noticeably different among the profession of software development
    and the oldest profession though is that there is a clear cut definition for the
    latter regarding pay, time and duties. Those people have the privilege of kicking
    out the customer on account of improper behavior or overstaying the welcome.

    Posted by: rsm0001 on July 22, 2005 at 12:37 PM

  • John,
    As I wrote in my blog entry "Too Old To Program?", I think that programming is not a profession best left to the young.
    We've conned ourselves into believing that "the pace is too fast" is inevitable... maybe even a good thing.

    Truth be told, my days of primarilly being a programmer are behind me. I spend much more of my time helping others program... not showing them how to program, but helping cut through all the crap that really has nothing to do with getting our jobs done.

    I think that your new role to "deliver new technical content for developers" is marvelous. We need folks who have experienced all the down-sides of the latest-and-greatest-shinny-penny to give us a balanced view rather then the typical "everything you knew before is now worthless" sales pitch.


    Look on the bright side... you once evolved from a student to a practitioner. Now you are evolving to a teacher and mentor.

    That's a really good thing.

    --JohnR

    Posted by: johnreynolds on July 22, 2005 at 01:07 PM

  • I'll quit when they pry my keyboard and mouse from my cold, dead fingers.

    I disagree about age being the factor. Of course, it gets harder when I see the same dumb mistakes over and over. But that is compensated for by me being more patient than when I was younger.

    However, there is always something new in the software world to do. I've gone from spacecraft control centers, to nuclear plant monitoring, to AI based diagnostic systems, to fingerprint recognition, to air defense systems, to radar based drug interdiction, to short messaging and to asset managment systems. In their own way, each of these was interesting and fun.

    You have to find a new challenge and I can't think of a field that offers so much flexibility in what you work on and problems to solve. Programming is just problem-solving with software as the means to do it. Java is just another tool for that. The real satisfaction comes from finding a solution that makes people's lives better. Mentoring is one way of doing that of teaching others to do that, and thus magnify your impact, but I enjoy the coding most of all.

    When I stop caring, that's when it is time to stop.

    Posted by: mcdewey on July 22, 2005 at 06:28 PM

  • LOL!
    Dude, I'm 24 and I can't keep up. I'm just now wrapping my head around the s thing. Developers are hard on themselves, mostly because we want to know it all and not specialize. A currency trader does not beat himself up that he doesn't know the latest corporate tax code revisions, and the corporate accountant does not worry about the basket of currencies that make up the Yuan re-evaluation.. yet Java developers want to know it all about generics, Hibernate & EE, J2ME, SOA, webservices, ect..
    The industry does it to us as well.. a Java Architect needs to care about SOA, a JEE Developer needs to care about generics and IOC. Yet we are expected to be able to do both at the same time or move roles.

    Posted by: bbjwerner on July 22, 2005 at 10:47 PM

  • The job of older programmers is to stop the grashoppers from doing something stupid. E.g. someone should have stopped the kids from adding generics to Java. Someone should stop the kids from adding XML support to the langunage (what a stupid idea, just because someone wants to boost its ego to think about such a clusterfsck). Someone has to kick butts so that long standing problems are fixed, instead of the addition of new and improved bugs (I can make a list of things to fix, but I know that no one of the kids could care less).

    Posted by: ewin on July 23, 2005 at 12:37 AM

  • ah, another "anyone over age X is useless" post. Kid, like it or not but you're not as hot as you think you are.

    Some of the most knowledgable people I work with are in their 50s, they're the backbone of companies who guard against the mistakes and bad ideas of the young hotheads who think they can reinvent the wheel to be more efficient just because they have heard about the latest and greatest hyped tech.

    Maybe older programmers take more time to adopt "new" technologies, but that's not because they're incapable (as you and many other youngsters suggest) but because they've seen it all before and know from experience that most of those technologies simply aren't worth adopting and will die out. They also don't want to spend the time learning and using something that they'll have to undo in a year or so, or worse see a project fail because it's built on some overhyped POS tech that all the youngsters think is the best thing since sliced bread but the experienced hands recognise as just a regurgitated idea that failed once already 10 years ago.

    Given the choice of an oldtimer or 2 young hacks I'd take the oldtimer almost every day. His work may not be the

    Posted by: jwenting on July 24, 2005 at 02:38 AM

  • hmm, failed to post the last bit...

    ... latest in bleeding edge technology but at least it delivers on the specifications and actually WORKS rather than looking nice on paper but being a useless piece of crap delivered over budget, over time, and in poor condition.

    Posted by: jwenting on July 24, 2005 at 02:39 AM

  • I think you missed my point. I'm definitely not a kid or hotshot anymore, and that's part of what I'm lamenting. I'm primarily announcing that I'm changing responsibilities in the Java world, and not any too early either, since I'm starting to feel prematurely crusty as a programmer. Also, I point out that although I thought I was narrowing my responsibilities to just core J2SE, core J2SE is still really, really big. I conclude by realizing I may have not reduced my knowledge requirements after all...sigh.

    Posted by: joconner on July 24, 2005 at 09:08 PM

  • Sounds to me you're in a bit of a personality crisis.
    You're still somewhat of the young upshot who thinks that every new tech is the best thing since sliced bread but starting to drift towards the old geezers network of people who know better.
    But at the moment you're in between, not yet wanting to admit that your earlier enthousiasm about everything new and shiny was often misguided yet coming to that conclusion anyway over new things (and thus pointing out to yourself the wasted effort of years of running headlong after every acronym you could find)
    You WILL get over that, but it may take some serious soulsearching. Move to your personal library and put on a big pile all the books about technologies that were at one point promising and shining lights yet didn't make it.
    Then ceremoniously burn those books (or otherwise feed them into the fires of hell where they belong) while lamenting on the foolishness of your previous youthful ways.
    Then go out and buy every Java book in the O'Reilly catalogue that's in at least its second edition OR has been in print for over a year (unless you already have it of course) as a means to both restock your library and cleanse your mind.
    Now you should feel a lot better, and with your new books you should have the knowledge to weather the ages (or at least the next few years while waiting to see what matures and what does not of the current hypes).

    Posted by: jwenting on July 25, 2005 at 01:54 AM

  • jwenting,

    good remark. I joined the industry four years ago, being 39. I have not been in programming at least ten years before then and I found that I did not miss much. I got into object oriented programming quite quickly feeding my curiosity and willingless to learn something new. What I _have_ learned in that 10 years was how to create something properly which is much more important than knowing the latest technology. If it turns out to be worth it I am pretty sure I can learn it whenever I need to.

    Two very old but noteworthy books as additional recommendation:

    The Mythical Man-Month by Frederick C. Brooks
    The Psychology of Computer Programming by Gerald M. Weinberg, silver anniversary edition

    Two excellent books which gave me a lot of deja-vu's. One should note by those how much _not_ has changed during 30 years or so.

    Posted by: rbirenheide on July 25, 2005 at 03:30 AM

  • I love discussions like these.
    There's a happy balance spot somewhere between passionately naive youth and cynically embittered old fart. I haven't found that spot yet, but I keep on looking ;-)

    --John

    Posted by: johnreynolds on July 25, 2005 at 05:44 AM

  • I think the idea that programming is something best left for the young, is utter bollocks. At least in my own personal experience, the older I get, the better I get. I continue to learn new stuff everyday, and the more I learn, and the more experience I gain, the better I get.


    Granted I'm only 32, so maybe I'm just not old enough to start noticing the "ravages of time" or whatever. But as far as I'm concerned, I agree with the poster who said "I'll quit when they pry my mouse and keyboard from my cold, dead hands."

    Posted by: sprhodes on July 25, 2005 at 07:15 AM

  • I must support sprhodes here. I get better as I'm more destined to make it as simple as possible. Many of my co-workers have the urge to use every new tech and design patterns they know about which almost always results in an utter mess of unmaintainable code.
    And this is what I still like about coding: finding elegant, flexible, simple solutions which solve complex problems just be connecting objects and let the magic happen.

    Posted by: sentinel101 on July 25, 2005 at 09:13 AM

  • England's cricket team has just been thrashed by an Australian team that only last week was described as over the hill. As an Australian expat approaching 47, I think I can still show my younger English colleagues a few things about programming in Java!

    Posted by: mthornton on July 25, 2005 at 12:20 PM

  • congrats on another Aussie victory in the Ashes.
    At 34 going for 35 I'm not part of the old guard yet but certainly no longer a young wildcard either.
    Maybe it's my education which makes me conservative (I'm trained as a physicist rather than having an IT related education), but personally I've never been one to jump to any new technology without giving it careful consideration.
    Saved me quite a bit of time as I saw tech I rejected fall by the wayside or simply disappear from sight as it became marginalised while I was increasing my knowledge of core systems.

    Posted by: jwenting on July 26, 2005 at 02:37 AM

  • I'm 38...am I part of jwenting's "old guard" category yet? I definitely don't think I still qualify for the "kid" or "young upshot" category.
    Personality crisis...don't know about that since I pretty much think and act like I have for a long while. If he had said "midlife crisis", we would have had a more productive discussion...I might actually fit into that mold. :)
    Also, just so no one thinks I'm really serious about retiring all programmers at 40, I'll dispense with anything but straight talk for the rest of this post:

    I do not really believe that programmers should retire at 40.
    I'm not going to retire at 40.
    I have a really excellent programmer friend that's 67...he just retired
    My "enthusiasm for everything new and shiny" gave me experience with 8086 ASM, C, and Java languages...I pretty much skipped right over C++, haven't touched C# or .NET, never bought into CORBA, and I'm just now starting to seriously look at JSP and Java Server Pages. I'm hardly an early adopter. Oops, I do have an iPod, but surely I can't be labeled for that.
    I think jwenting's comments about O'Reilly books (and the underlying message about ignoring most new technologies) is good advice.
    My posts will often use hyperbole and generalizations to exaggerate a personal experience or point


    Posted by: joconner on July 26, 2005 at 02:49 PM

  • John,
    You seem to be making a very common error in interpreting certain observations about your work. You are observing increasing complexity in technology, which is valid, and you seem to be erroneously thinking that your are becoming less effective because you *can't read it all, test it all, write it all*.

    The main erroneous assumption that you seem to be making is that our programming profession requires you to *read it all, test it all, write it all*. This is not the case. The first and foremost requirement in our profession is managing complexity for real world solutions, and not *writing it all*.

    The other possible erroneous assumption that you may be making is the one that supposes that increasing complexity in technology is a recent phenomenon. This would be erroneous. For starters, the concept of *technology* itself embeds an increase in complexity. The concept was created by our great patron Leibniz, when he designed and built the first multiplying calculator, a technological improvement over the adding calculator from Pascal.

    Creativity and technology go hand in hand and will always cause an increase in technical complexity (aka. negative entropy). In order to manage this increase in complexity, experience (coming with years of instrospective practices) is required. Therefore, usually, the more one has experience in programming, the better one should be at managing the continuous increase in complexity and therefore better at her or his job.

    Inevitable increase in complexity also causes requirements for specialization.

    Serge Masse
    Owner of The Leafy Project and Leafy Seadragon, the first chat system to research dolphin communication (it's free).

    Posted by: sm1 on July 27, 2005 at 06:48 AM

  • Being I am almost 43, I move to move that # to 70 :)

    (T)

    Posted by: tswain on October 08, 2005 at 08:36 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds