I've had the occasion to be doing a lot of reflection on the past year and a half recently, on helping start a business, on running a development team, on being the primary person in charge of managing a product - all things I had never really done completely on my own before1. I've tried to focus on mainly on crystallizing what I've learned from those experiences, but the question "what do you regret" has also been rattling around in my head for quite a while, and has been asked of me directly more recently.
Human beings like to lean on pattern matching when evaluating their experiences and think it would have been easy to make better choices given more information, but by coincidence I've been finally reading through The Design of Everyday Things and it's been helpful in giving me pause when doing this. Its description of hindsight was alone worth the price of the book, and the examples of how simple and easy it can make things seem when many factors that led to a strategic mistake can be glossed over. Luckily our mistakes did not lead to a life threatening situation like the ones described in the book.
There are many things I would do differently if I could travel from this moment back in time to the beginnings of the company2, but the present version me has that gift of hindsight. If I had to convince past me to carry out things differently, I'm relatively sure that my previous version wouldn't have been ready with the tools or the understanding to follow through on the instructions even if they were listed out step by step3. Only now do I feel like I have the tools to do what should have been done to have a good shot at success the way I presently understand it.
Of course this is not some radical new theory, but that's the point- you can take in all the advice and read all the books and do all the case studies you want, unless you are truly a phenom or truly lucky, many lessons can't sink in until you live them. The content is not nearly as effective without the context. Whether you need somebody to yell at you or not, doing something is the most effective way to learn it, whether it's a failure or a success.
It's a big thing that motivates me to continue finding ways to challenge myself - if I look at code I wrote months ago and I'm not at least a little bit disgusted, I know I'm not getting better. If I don't look back and think about how I could have approached a situation in a better way, I know I didn't challenge myself enough.
Some mistakes are unavoidable, and even in success, hindsight should be there. But I try to incorporate a philosophy of continuous improvement and put systems in place to help make sure to confront where things could and should be better. Awareness of the biases and emotions and stresses that can affect our decisions is not sufficient to avoid being negatively affected by them.
I continue look forward to future me continuing to smirk at how naive current me was. The day I don't want to travel back in time and knock some sense into myself means I've lost the drive to get better. That would be a true failure.
(This post includes an affiliate link.)