This is a follow-up on the release rodeo.
After I wrote that blog post, the CTO found it quickly by coincidence. He was quite okay with everything I had written. However, he took issue with that I called his critique āscoldingā. I suppose he didnāt exactly scold me. I described it that way because it aligns with my personality: Iām an honest person, I have high standards, and I take criticism extremely seriously. Even when someone says, āYouāre kind of doing this badly sometimes,ā I interpret it as āYou suck, Jappie, you need to do betterā.1 This doesnāt mean Iām unkind to others, however I put myself to high standards. He also warned me that if the PM were ever to stumble upon this post, they might get quite upset. I am aware of this possibility, which is why I didnāt advertise this article at all. It seems rather unlikely to me heād go read a tech blog anyway. The point wasnāt to create more conflict, but instead to analyze the situation and prevent it. 2
A few days later, another engineer found themselves tangled in the release flag situation. At this point, I realized it was crucial to inform everyone about how these release flags should work. Therefore, I set out to describe the current situation and propose some recommendations. After outlining the recommendations, I realized the points of contention werenāt numerous. The process worked in principle (aside from some peculiar naming conventions), and I believe that most of the involved parties were simply uninformed. I created a GitHub RFC3 and tagged the relevant parties on it. This enticed them to read it and become informed and give comments if necessary. As an open discussion, this also helped get clarification on points I had missed. Since then, weāve had no more release issues. It appears that writing down the process and informing everyone resolved the issue.
A lesson learned from this experience is that anger can be rather productive. If thereās something you can do about the situation, itās productive to think about why youāre angry and devise a plan of action. In this case, I indeed solved a rather annoying but important issue by taking a relatively simple action. Anyone couldāve done this.
Note that this post has a follow up.