Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: Article: 'Fire and Motion' (on productivity)

by kal (Hermit)
on Jan 07, 2002 at 21:22 UTC ( #136858=note: print w/replies, xml ) Need Help??

in reply to Article: 'Fire and Motion' (on productivity)

Joel points out that the hardest thing for him is the actual 'getting started', and comments on the constant moving forward of 'fire and motion' - I think there are two separate problems here, which are faces of the same coin.

Productivity is all about motivation. If you're not motivated, you can't be productive. Motivation is what makes you open the editor. Working on new code is cool, it's motivating. You can code for hours on new code. Perpetual re-invention and re-factoring, to make old code new again, gives you that motivation to continue working on it.

However, it's not solving the problem of motivation per se, since there are a number of ways to become 'motivated'. Eventually, code might become stale, and if the only way you can be motivated is to work on new code, I don't see what is going to motivate you to open the editor to refactor the code to make it new again. While moving forward is a good tool to motivate yourself, you need other tools in your box too....

The way I see it, you sometimes need to force yourself to open that editor. Even though you don't want to, you have to open it and attempt to concentrate on the task at hand. This will be entirely unproductive for the first hour, maybe the first few. However, it gets you back in the groove. It becomes easier again - but you just need to get over the initial hurdle. Teaching yourself to do that is hard at first, but possible and definitely helpful.

  • Comment on Re: Article: 'Fire and Motion' (on productivity)

Replies are listed 'Best First'.
Re: Re: Article: 'Fire and Motion' (on productivity)
by clemburg (Curate) on Jan 07, 2002 at 22:49 UTC

    Productivity is all about motivation.

    Oh no. Productivity is also about knowledge, especially the sharing of it, about knowing what to do and what not to do, about learning and not making mistakes over and over again, about tools and creating your own tools, about not reinventing the wheel, and about minimizing uncertainty, fear and other factors hindering cooperation.

    Of course motivation is essential to do any work. But motivation alone will not save you at the end of the day.

    Christian Lemburg
    Brainbench MVP for Perl

      Especially if you are motivated to go home! :P


      (the triplet paradiddle)

      I agree, clemburg, but I wasn't talking in the general sense. Yes, it's true that to be truly productive you need to basically be good at your job.

      But, personal productivity (i.e., getting the most done that _you_ possibly can) pretty much begins and ends with motivation. Motivation is the engine that gets you places.

        I have to register strong disagreement.

        Motivation is a necessary component, sure. But motivation is not in and of itself sufficient to be productive. In fact in excess it is typically a detriment. For instance many highly motivated programmers get told to work, begin coding away, and create horrible messes. Because they know no other way to work, they are doomed to be incredibly unproductive. And adding more motivation won't help one bit since the problem isn't lack of motivation.

        Indeed the advice to just open up the editor and keep typing is horrible advice. The fact is that productivity differences between programmers of 2 orders of magnitude have been reliably measured. And the people who are most productive when studied spend a far smaller fraction of their time than average involved in actually typing. Therefore the advice to just keep typing guarantees that you will go to the bottom of the overall productivity scale and stay there.

        What you need to do is try to move from being average to being good. You need to work on a constant basis, yes. But if you wish to become and remain a good programmer you need to devote a significant fraction of your time to developing and maintaining your skillset, another significant fraction to designing and analyzing your projects (some of which really has to be spent letting ideas sit in your brain), more time in reviewing what you wrote, looking for potential problems, figuring out how to test, so on and so forth.

        None of these is going to happen just because you are incredibly motivated. You need to know that it is important and conciously take time away from the current request list to get answers. And any manager who tries to impose this myopic view of how things should work will drive off any competent programmers they happen to have while guaranteeing low productivity.

        For more on this I recommend picking up Rapid Development by Steve McConnell. He has quite a bit to say about how attempts to speed development by motivating people result in shoddy software, missed development cycles and rapid burnout...

        But, personal productivity (i.e., getting the most done that _you_ possibly can) pretty much begins and ends with motivation. Motivation is the engine that gets you places.

        This is very true if you look only at yourself. Still, one of the points of my post is that personal productivity is sometimes not as important as productivity of the team. It can even hamper the productivity of the team. In retrospective, I have often been most "productive" (at least from the viewpoint of my clients or employers) when I had a very low personal productivity (at least I perceived it this way).

        Hacking away at the editor is no substitute for thinking.

        Personal musing: I find it somehow funny to read that "opening the editor" for some people apparently is an act that needs some special effort. Maybe they use the wrong editor ... *my* editor is open all day ... how could I read mail or do anything else without it ;-) ? ... (see this recent discussion in about how often people fire up their favourite editor).

        Christian Lemburg
        Brainbench MVP for Perl

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://136858]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2020-01-26 18:13 GMT
Find Nodes?
    Voting Booth?