A few days back a feature in my software Geet Gatiroop stopped working. It prompted me to write this piece —
Code can be so fragile. So many unknown factors. So many extraneous parties to connect to in so many different ways. Any of them may crack anytime. So many specifications to figure out. And it’s not like once you have figured it out, you’re done — because the specifications keep changing.
There is this question — by when will this be done? But one never knows — because all of the above.
And then even when it’s done, it doesn’t mean it’s done. It can stop working anytime — for so many different reasons.
Forever a structure made of a pack of cards.
And sure, one can forever study and make oneself more and more capable to make sturdier stronger software, but it seems the one fundamental thing to learn is this —
If anything fails, that doesn’t mean I have failed.
It is so ingrained to feel like one has personally failed, whenever something topples that one feels in any manner responsible for. Unlearning that mindset is probably the only learning to be acquired. Without that we become forever fragile. I am like that and have been for years.
And it is so with not just code but all of life. Anything can crack and topple at any moment. Be it a relationship, career, finances, body, physical house structure, or whatever else. Anything can crack and topple at any moment. When that happens, to know that it doesn’t mean that I have failed — that is probably the one thing required for solid peace.
Btw, managed to fix the bug after a few days. 🙂