I saw a tweet thread a few weeks ago that made me think:
There’s a bit of a meme in some parts that there is value in saying, out loud, “I realize that I am surprised.” For similar reasons, I often subvocalize “I believe I now understand the type of situation the ‘trivial’ advice was preparing me for.” https://t.co/JzdYmSvJWH— Patrick McKenzie (@patio11) April 9, 2019
For bonus points, you’ll realize that you develop new layers to the understanding of the same trivial bit of advice over the years. It stays the same but you discover the nuance, contours, reasons it is easy to discard in the moment, etc.— Patrick McKenzie (@patio11) April 9, 2019
And then you repeat it to someone and they say “lol that is obvious” and you wonder if you know the advice well enough yet to correct them on how not obvious it is going to be for their next 10 years.— Patrick McKenzie (@patio11) April 9, 2019
I realized that I’ve encountered plenty of pieces of wisdom in my software career that have this property; I see them as clear and obvious when put in the abstract, but only learn to actually apply them by repeatedly failing to do so. This is what people talk about when they say something is “hard earned experience” I guess.
Here are some examples from my career:
So how do we improve on these situations where we fail to apply obvious wisdom? I’ve been learning a few things lately.
April was a crazy month, so nothing new for now. Hoping to get back in the swing of things this month!
Why software projects take longer than you think – a statistical model | Erik Bernhardsson - I’ve been dealing with the estimation and planning side of software development a lot the last few months, and this was fascinating
Application State Management with React |Kent Dodds - I have a WIP draft about my own experiences with pure React state management. Until that is complete, I’ll settle for linking to this, which is a good read on the subject.