"If you give someone a program, 
      you will frustrate them for a day; 
   if you teach them how to program, 
      you will frustrate them for a lifetime."

Found this on a newsgroup this morning, chuckled, and then began pondering the significance of it.

Is it just me, or does it seem that programmers like being frustrated? Bear with me on this...

Regardless of your OS and/or language experience or preferences, you have a favorite. You've invested a great deal of time trying to master these and you may have had to use others. I would wager, though, that these weren't the first favorites you've had. There have been others. In the future, there may be others again.

We're not happy with our current levels of knowledge. We are always seeking news subtleties, new challenges, or new ways to broaden our knowledge. In doing so, we often become frustrated and struggle to scramble up the learning curve until we've reached some form of plateau. From here, we diverge. Some continue up the mountain, others look for different ones. The understood becomes boring; we're fascinated by what we don't know.

So, we consistently place ourselves in positions where we don't know what we're doing. And we like it that way.

Hm...

------------------
Maybe it's just the coffee talking...still working on the first cup...

Replies are listed 'Best First'.
RE: Bad coffee?
by Albannach (Monsignor) on Oct 20, 2000 at 20:13 UTC
    Though I'm far from a career programmer, I think most people here (whatever the background) share a need for mental exercise of some sort. It is possibly the ability to solve problems quickly and imaginatively that most distinguishes humans from other species, and especially the driver to improve upon previous solutions. I'm not counting the homework posters that exhibit a need to avoid mental exercise in favour of elbow bending and the like of course.

    My uses for Perl are almost exclusively to make time-consuming tedious and often therefore error-prone tasks into quicker, more reliable and repeatable actions (while you could say that about any Perl code, my applications could almost always be done on paper - it's hard to say that about CGI). I could in many cases give such tasks to junior staff who would carry them out the painful way, but it is much more satisfying to automate them. Certainly there is frustration, but beyond every frustration there lies the reward of accomplishment.

    Perhaps I'm looking for frustrations to generate rewards for myself! Whatever the reason, "I love it when a script comes together"!

    I also love a good cup of coffee though...

RE: Bad coffee?
by ivory (Pilgrim) on Oct 20, 2000 at 22:55 UTC
    Most of the programmers I know are people who love to learn, and have a desire to excell. Programming is a wonderful thing to learn because there is so much that one can easily spend hours a day learning and refining one's skills. I have found that for myself one of the great things about prgramming is that I can see my progress. Problems that once seemed much too complicated become do-able, and concepts that once seemed just out of my grasp become a part of my programming style.

    I think there are a lot of similarities between programmers and athletes. Consider: Both want to push themselves to their limits to see simply what they can do, given enough time, practice and discipline. Both sometimes recieve guidance from a "coach" or a team, and sometimes practice solo. Both sometimes hit walls, or progress plateaus, but eventually work around them.

    ivory

    But, then, maybe this is just the cold medicine talking... :)

RE (tilly) 1: Bad coffee?
by tilly (Archbishop) on Oct 21, 2000 at 05:27 UTC
    Let me quote from chapter 2 of The Mythical Man-Month which was published in 1974:
    All programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy godmothers. Perhaps the hundreds of nitty frustrations drive away all but those who habitually focus on the end goal. Perhaps it is merely that computers are young, programmers are younger, and the young are always optimists. But however the selection process works, the result is indisputable: "This time it will surely run," or "I just found the last bug."
    This was written about scheduling delays. However the thought, like much else of that book, still holds today...
      Tilly,

      Optimists? I don't know if I'd go that far. We're optimistic that we can solve a problem and make easier for the user of our solutions, even if we're the user.

      But, we're pretty pessimistic about other things. We're convinced that certain commerical vendors will make our lives more difficult. We're positive that upper management will not provide us with the resources (time, bodies, understanding, training, tools, etc) that we believe we need to do the job faster and more efficiently.

      On the whole, I think the more seasoned of us prefer to think that we're realists. It doesn't matter if the glass is half-full or half-empty. The relevant question is "Who drank out of it?"

      :-)

      But I do agree that finishing systems involves a bit of mental sorcery.

      -- f
        After dealing with end users of the code, I'd say it's not so much 'Who drank out of the glass', as 'Just what is that stuff they left in the glass??'

        *I lost my .sig. Do you have a spare?*
RE: Bad coffee?
by turnstep (Parson) on Oct 20, 2000 at 19:58 UTC

    I don't like the word "frustrating." Something that is frustrating to me is something that is out of your control, like waiting in line at the DMV. I prefer the word "challenging" - they may be difficult, or even nigh-impossible, but they can be overcome, and you will probably learn something in the process. Challenges inspire. If you think of all your programming problems as challenging rather than frustrating, you are a happier person. :)

      Turnstep,

      Good point, though it's very hard to remember when you're trying to spool out the intention of a complex regex or wading through pages and pages of someone else's code, even if you understand the language.

RE: Bad coffee?
by royalanjr (Chaplain) on Oct 20, 2000 at 19:43 UTC

    So, we consistently place ourselves in positions where we don't know what we're doing

    I do not think we always chose to do that to ourselves. Sometimes technology backs us into that place, sometimes a PHB does.

    But sometimes...yes, we do it to ourselves. For the thrill of learning something new. For the sentiment of "I'll be damned if this is going to beat me!"

    Roy Alan

RE: Bad coffee?
by mitd (Curate) on Oct 20, 2000 at 23:58 UTC
    footpad makes an interesting point learning all that is to be learned can be both joyful and depressing.

    Over the years I have found less and less frustration dealing with the programming languages and more and more frustration with the problem spaces I am asked to solve. In other words I find the tools joyful and but the process of creating successful solutions sometimes depressing.

    The most common frustration is dealing with integration. I take my tool (perl), build a solution, test it outside its intedended operations environment then when I try integrate I find other thingies my solution expects to interact don't work the way I thought they did.

    Example

    1. Inspired by Simon Cozens article on Mail filtering (tpj #18 summer 2000). I decide to replace my old .procmailrc with a nice new perl script.
    2. With Mail::Audit pm in hand I create the perfect filter. I test it JOY!
    3. But when I install it I find that a recent sendmail upgrade has changed the rule to the game.
    4. Hours spent searching through sendmail docs to find the answer

    NOTE: The above problem was solved and requires no further comments

    Well thats the the joy and sadness of an old fart coder try to make his way in a new age.

    Subtlety can sometimes be like facing a fast train on a short track!

    <a href://www.georgian.net/~mitd">Mitd -- Made in the Dark 'grey appears to be my favourite colour'

RE: Bad coffee?
by merlyn (Sage) on Oct 20, 2000 at 19:30 UTC
RE: Bad coffee?
by extremely (Priest) on Oct 21, 2000 at 04:55 UTC
    Abso-friggin-lutely. I do puzzles, games, mind teasers, and a great deal of questioning the quality of my own work. I NEED a challenge every so often or I go completely nuts. =)

    --
    $you = new YOU;
    honk() if $you->love(perl)

RE: Bad coffee? (on job satisfaction)
by gregorovius (Friar) on Oct 25, 2000 at 10:26 UTC
    I agree on the joys of programming. But those joys aside I also believe there are side effects that we shrink from acknowledging. I often feel that we never stop working, that there's always something puzzling in our minds and even in the shower (or in fact, many times there) we are organizing code in our brains. Then we are usually egotistical, and always setting up expectations on ourselves higher and higher. In my case, for instance, I sometimes wonder if I'll ever be content with the stage (present or future) I'm at. Then I go back to solving the puzzle at hand and stop thinking about it.

    The Economist (Sept. 4th, 99) said the following on work and happiness (our profession is mentioned in the last paragraph):

    CLERGYMEN, it seems, enjoy the best of both worlds. As well as looking forward to the joys of heaven, they are living the good life on earth. Nearly three in four enjoy their jobs; among occupations in Britain, only medical secretaries express higher job satisfaction. That is the finding of a new study by Michael Rose of Bath University into the link between happiness and work.

    Happy Larries are not confined to the church. Perhaps surprisingly, many menial workers, such as cleaners, petrol-pump attendants, receptionists and bar staff, are among the happiest occupations. So are barbers. This may explain why they have plenty to sing about.

    But not all British workers whistle while they work. Although old forms of drudgery, such as assembly-line work, are on the wane, new kinds are springing up. Call-centres are the dark, Satanic mills of the 1990s: only one in five telephone operators likes her job.

    Higher wages sometimes sweeten the pill for those in unpleasant jobs. Pharmacists, prison officers and tax experts dislike their jobs, but are happy with their pay and conditions. Conversely, roofers, carpenters and ambulance staff like their work but grumble about the money.

    But another surprise is that acquiring better skills does not seem to lead to a happier working life. Perhaps because their expectations are higher, skilled workers are generally less satisfied than unskilled ones. Biologists, computer programmers and solicitors are particularly unhappy with their lot. And spare a thought for journalists too: only one in four enjoys his work.