
Recently, I had to significantly redesign the database structure of an IoT platform I designed one month ago. Changing the database forced the adaptation of the backend logic*, which demanded my extra attention and careful testing.
During that change, I was constantly questioning my initial reasoning and my ability to design solutions. “That was obviously a wrong decision! Why does that setup not support this access pattern?!?!"
Once my frustration level dropped a bit, I had yet another reflection - “There was no way I could have predicted all of that one month ago”.
What is obvious in retrospection was a total unknown back then. My initial solution enabled immediate real-world insights. The business owner and I learned a ton based on that data, which helped us identify valuable access patterns and ways to provide extra business value.
There is no need to feel ashamed during the retrospection; take accountability for your design decisions, adjust the solution if needed, and proceed with delivering value to your customers.
We are our biggest critics. How do you handle that?
*) No users or external APIs were hurt during this process.