A couple of months ago, I started my new job. After I felt I had a good understanding of the system’s current architecture, I had a few ideas for improvements. I highly respected the engineers who had built the current system but I believed I was looking at it with a fresh pair of eyes - an outsiders view. Hence in my next 1-1 with my manager, I explained my understanding of the system and gave 3 bullet points on how I think it could be improved.
My manager listened to me patiently and at the end pointed me to a couple of posts from our Team Newsletter. Our team newsletter is a detailed (extremely detailed) weekly blog post discussing the changes made to the product and explaining the what, the how and more importantly the why. And I believe, they have not missed a week in the last 12 years!! A few observations -
While I felt I had a good understanding of the current state of the system, what I was lacking was it’s history - the assumptions, the decisions, the ideas that worked and more importantly the ones that didn’t. While knowing the current state of the product is essential, knowing the history gives you the full picture. It helps you identify the assumptions that no longer hold true and thereby improving the product.
The newsletter also included the bugs (even the silliest of them) and the ideas that didn’t work. The engineers then, didn’t try to sweep it under the carpet to give a good picture. Instead, they highlighted the failures that educated the future members of the team.
It was also a great learning on how to handle our own history. It reminded me of this quote from West Wing -
It’s our history. Better or worse, it’s our history. We’re not going to lock it in the basement or brush it with a new coat of paint. It’s our history.
Code. Learn. Explore