Program for Yourself First

Do you program computers? Program for yourself, first.

Not for your customer. Not for your employer. For yourself.

Does this sound selfish? It’s the opposite. You need to program for yourself to build yourself the tools and the vocabulary to build beautiful and effective things that solve your customers' problems.

What does this mean?

  • If you’re programming, and you find yourself repeatedly mixing low-level code into your high-level code, stop, and write yourself the abstractions that let you express your high-level thoughts in high-level code.

    It doesn’t matter if you’re under time pressure to write code fast. If you let time pressure make you cut corners now, you’ll forever be under time pressure, and forever be burnt out.

  • If you have to run repeated manual steps in a UI or on the command-line to get to a place where you can experiment, automate away those manual steps.

    Write yourself a shell-script to save yourself work on the command-line. Write Greasemonkey or Tampermonkey scripts to save yourself time manipulating your web browser.

    However busy you are, don’t do manual drudge work over and over. Computers exist to do this work for you, make the computer work for you, never the other way around.

As programmers, we solve problems by making machines work for us. Don’t lose sight of that. Don’t do the machine’s work for it.

Don’t let non-programmers tell you to cut corners and do a bad job.