This article about 7 ways to be more productive showed up on Digg a couple of days ago.  I find it interesting that much of these can be applied to software development.  I’d like to go through each of the points myself:

  1. Don’t wait until conditions are perfect.

    The number of times that during development we say ‘Not now’ or ‘we will go back and review it later’ or ‘yeah, that looks good, but we cannot do it’ amazes me.  So, instead of moving forward, people are willing to continue doing the same old same old.  Have you ever watched a pro sporting event?  Plans and ideas are not static.  The ideas have to be tried.  Teams and athletes that just stick to their plans are the ones that usually fail.  Developers have to have the same attitude.  If one is losing the game, adjustments need to be made, or the game WILL be lost.
  2. Be a doer.

    This goes back to item #1.  Instead of thinking about doing something, as Nike would say, ‘Just DO it!’

  3. Remember that ideas alone don’t bring success.

    See item #2.  Prove your ideas.  Write test projects.  Create experiments.  Validate your ideas.  Don’t wait for someone to tell you that this needs to work.  Be ready with understanding because you never know WHEN someone’s going to say ‘we need x’.
  4. Use action to cure fear

    If you don’t understand something, try working with it.  Usually, things will be made clearer as you dig into the problem.  I once knew this developer who could really talk about what was going on with the code and the framework.  I mean, from the conversations I’d have with him, he *knew* his stuff.  But when it came time to code, he could not do ANYTHING.  He’d freeze because he was afraid of making a mistake and that it would cost him his job.  Ultimately, it DID cost him his job, because he did very little.

  5. Start your creative engine mechanically

    Creativity is a process and a job.  One has to work at being creative just like anything else.  I remember reading an article about Billy Joel and his song writing process.  It always floored me that he said he wrote a song a day!  Later, I understood that creativity comes from understanding one’s craft and practicing it ALL THE TIME.  You don’t wait for inspiration, you go knocking on its door every day.  Eventually, it answers.

  6. Think in terms of now

    Again, this goes back to #1.  Improving your current situation ultimately improves your long term situation.  If one improves things a little each day, at the end things are very good instead of a huge mess that needs to be cleaned up.

  7. Get down to business immediately

    This is the one I violate the most.  I like to be a person, not a robot.  Sometimes that means doing the chit-chat, correspondence, and various ‘personal’ aspects of work.  I think that these are very important to being a well rounded individual rather than a compulsive workaholic.  If you ever see a truly successful person, they are very much at ease dealing with people.  And that means understanding them.  But I digress.  One will definitely get more work done without the chat programs running, the email notifications beeping, and the cell phone ringing.  Interruptions are the bane of any coherent process.  Turning this stuff off, even for a little while, really helps improve concentration.


2 thoughts on “7 ways to have a more productive software environment

  1. Dave,
    These are great.  I’m converting our custom applications for an old version of AutoCAd to the lastest one as we speak and many of these apply.  4 through 7 is where I always have problems and I can apply them even to my hemming and mawing about getting going with the guitar recording work !
    Just do it!  (Well, but I may have to ask my wife, first.)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s