From the Notebooks of
Lazarus LongInt

(With apologies to the late Robert A. Heinlein)

Information
Systems
Development




This is probably copyrighted and I am using it without permission.  So I also owe apologies to Brook Monroe, the author, and to Jeff Duntemann, who published this in PC Techniques.  




  • Work smarter, not harder.  Sometimes the answer you're looking for is simpler than what you're doing right now.  Nothing beats falling back to fundamentals.  

  • If you're going to write clever code, document it well.  You may have to look at it again a year from now.  

  • There is an old saying to the effect that, after you spend hours banging your head against a bug, someone completely foreign to the situation will walk into your office and immediately spot the flaw.  It's true, and something you should use often.  If necessary, lure them in with food.  

  • Know yourself, and your limitations.  Extend the frontiers of your capabilities early and often.  Techniques from one discipline may well apply to another, so generalize.  When nobody's looking, assign yourself tasks in things you've never tried before and then try to do them.  Don't be afraid to make mistakes.  Mistakes should be framed and hanging on the wall.  

  • Read.  

  • An ounce of analysis is worth a pound of debugging.  

  • You can only make your code so fast and so small.  After that, you're spending more time on it than it's worth.  If you add 25 percent more time to squeeze out 5 percent more performance, you're wasting time and money.  Move on to something else.  

  • At some point, depth of experience is more important than breadth.  Even though you may be second-best at everything, sometimes, you need the help of the "first-best" at some particular thing.  Find that person and ask questions.  

  • Be kind to the technically impaired.  Every nonprogrammer on the planet can do five or six things you can't, and do them better than you'll ever be able to.  Trade talents, not contempt.  

  • Regarding trying to revamp existing products when you're the new person on the block:  Never become involved in a debate that was going on when you entered the room.  You don't know who's on what side, or what's already been said.  Worse, you might end up allied with somebody you don't like.  

  • Never believe your own PR.  Nobody could be that good.  

  • Never test for an error condition you don't now how to handle.  

  • Beware of being an absolute purist:  purely OOP, purely modular, purely C, purely Pascal, purely BASIC, purely ASM.  Only academics and the immature are absolute purists:  The experienced remember that hybrids are generally stronger than purebreds, and the terrier/collie mixes are usually less fussy than the teacup poodles.  

  • Of course, you're a genius.  This is a secret best kept to yourself.  

  • Never confuse intellect with wisdom.  Intellect is knowing what or how.  Wisdon is knowing when and why.  

  • Admit when you're wrong.  Demand the same from others -- including upper management.  

  • Never let nontechnical management tell you what is and is not technically best.  Never tell them what is and is not good management.  Grit your teeth if necessary.  

  • Don't feel that anything's wrong when you find yourself wandering the hallways muttering to yourself.  Most people don't do enough of it.  

  • Don't be intimidated by deadlines.  You can always explain why the project is late.  What you don't want to explain is why three years of somebody's important data went into the dumper due to a bug you didn't catch because you were working feverishly to beat the deadline.  

  • Get a hobby.  If necessary, get a life.  




  • Created with 100% recycled electrons

    Updated on April 26, 2005
    Recycler.gif