Step Back, Assume It Exists, Use It

#software #building #doing #design

When I get overwhelmed by the options of moving forward building something new, I remember to step away from the mess, assume the best developer in the world has built it, and I try to use it.

Today this actually helped me discover an interface I hadn't considered!

Howard Jing was the first person I remember who really got this pattern to stick in my brain, probably from pair programming with him and seeing how well it worked again and again.

Recently, in React, I was unsure whether I wanted to manage some state locally, in context, or render-prop components. So here's what I did:

  1. Step back - literally open a new file to sketch in

  2. Assume it exists - the most thoughtful developer has built this thing you need

  3. Use it - start writing your app with the best interface conceivable (it only needs the minimum amount of info, its fun to use, and it doesn't leak any details)

Now we have a clear way forward.

Doing that today, I realized I didn't need react context, nor the render-prop pattern. I could do what I needed in a custom hook. This is what my scratch file looked like: