Paralyzed by too much thinking

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.

I like this:

When I started programming again, I vowed not to type a single character unless I knew what pattern I was applying as I did so. The result was incredibly frustrating. I want a class called “Stack”, but why “Stack” and not something else. Then I would go and write the patterns for naming classes and then I could type “Stack”. Then I would want to make its first method public, but why public?

At first, it was like a centipede thinking about its feet. Programming, which had been effortless and flowing, was now an awful chore. I knew, I just knew, that I was going to encounter more patterns I hadn’t thought about. Decisions I had been making on auto-pilot I would have to stop and consider. Ten seconds of coding, four hours of pattern writing.

By the end of the first week, though, I discovered I wasn’t finding many unexamined decisions any more. Most of the decisions I made most of the time were covered by a small catalog of patterns, tens but not hundreds. The surprising effect was that as long as I didn’t uncover any new patterns, programming already flowed better for me. When I programmed, I programmed, undistracted by that second level of anxiety about whether I was using the right strategy.

Post external references

  1. 1
    https://www.facebook.com/notes/kent-beck/patterns-enhance-craft-the-final-step-pareto-effort/914582455241286#
Source