All Articles

Murphy's law for programmers

Murphy’s law in the life of a programmer useful for every Friday 5pm EOD.

    1. Any given program, when running, is obsolete.
    1. Any given program costs more and takes longer.
    1. If any program is useful, it will have to be changed.
    1. If a program is useless, it will have to be documented.
    1. Any given program will expand to fill all available memory.
    1. The value of a program is proportional to the weight of its output.
    1. Program complexity always grows until it exceeds the capability of the programmer who must maintain it.
    1. If a test installation functions perfectly, all subsequent systems will malfunction.
    1. Job control cards that positively cannot be arranged in improper order will be.
    1. If the input editor has been designed to reject all bad input, an ingenious idiot will discover a method to get bad data past it.
    1. Profanity is the one language all programmers know best.
    1. Adding manpower to a late software project makes it later.
    1. A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long.
    1. (Lubarsky’s Law of Cybernetic Entomology) There is always one more bug.
    1. It is impossible to make any program foolproof because fools are so ingenious.
    1. When things are going well, something will go wrong.
    1. When things just can’t get any worse, they will.
    1. Anytime things appear to be going well, you have overlooked something.
    1. Test functions and their tests should be reproducible — they should all fail in the same way.
    1. If it looks easy, it’s tough.
    1. If it looks tough, it’s damn near impossible.
    1. You always find any bug in the last place you look.
    1. Anything can be made to work if you fiddle with it long enough.
    1. A terminal usually works better if you plug it in.
    1. If all else fails, read the documentation.
    1. If you do not understand a particular word in a piece of technical writing, ignore it. The piece will make perfect sense without it.
    1. No matter how much you do, you’ll never do enough.
    1. What you don’t do is always more important than what you do.
    1. Procrastination avoids boredom; one never has the feeling that there is nothing important to do.
    1. Always leave room to add an explanation if it doesn’t work out.
    1. No amount of genius can overcome a preoccupation with detail.
    1. Nothing is impossible for a man who doesn’t have to do it himself.
    1. If builders built buildings the way programmers write programs, then the first woodpecker than came along would destroy civilization.
    1. Programmers will act rational when all other possibilities have been exhausted.


* From Murphy’s law site.

Published 21 Nov 2014

Software Engineer focused in Javascript applications
Michael Lancaster on Twitter