Thank you for taking the time to review my pull request. I have to
admit, it made my heart sing when you accepted it. The lack of a human
touch did not diminish the sweet joy I felt when I received an automated
email telling me that you had judged my code worthy to be folded into
your most noble of pursuits, to be treated as a brother to the code you
wrote with your own hand, to be respected as though you yourself had
Some minutes go by, then hours, then days. But then! Another email, this
one a question: would it be possible to make an ever-so-small change to
the product? Aha, I think! This is my chance! Of course it’s possible—I
myself wrote the very module that enables your desires, and now I shall
explain them to you! Of course, our dear developer deserves a lot of the
credit for building such an exquisite masterpiece that I was able to so
effortlessly add my own touch, but you will pardon my vice as I take
pride in my own contributions to the works. And so I begin, and I pull
down the changes to ensure that I make no mistake in explaining the
various interfaces that make up the customisation that turns your wishes
A grin turns to puzzlement; puzzlement gives way to a frown. My code? It
is not there. It is as if it were never to exist, for no trace of any of
the files I poured my heart and soul into can be found. Where is it, I
wonder? I go to the immutable log, for it tells all, and ask it: where
has it gone? Reverted, it says, undone, revoked, cast away as trash for
the foxes and the rats, and all within hours of review.
My heart starts to pound. I have nowhere else to turn; I send you a
message. My hands shake as I type the words, “why?”
Within minutes, you come back to me. “Your change broke the entire app.”
I stare, aghast at the message, apologetic and confused, for the changes
worked well on my machine. And did you not review it? Examine the code
and ensure it was not foolish, deploy it and ensure it would run as
desired? When you brought it into your family, was there no
consideration of whether it would bring harmony to the code base?
Confusion gives way to anger as I realise you had no intention of ever
telling me, had I not asked. The feature deemed unimportant, the code
deemed unworthy, but how? We have the same end; we are building for the
same purpose. This is not for my enjoyment, but for the customer’s, both
yours and mine. He has asked and I have given, and you have thrown it
away as if it were nothing.
I ask you, is the purpose of “owning” the code for your benefit or for
the products? The product is what is important, not your ego or mine. We
meet the demands placed upon us by our customers, not by you, and we
build to satisfy them. You are the gatekeeper, but this is not a
bestowment, it is a responsibility. I am new to this, and you are not.
If I fail, you must teach me, not brush me aside as if my contributions
are worth nothing, for the only contributions I have made, I make to
please our customer.
So forgive me, dear developer, as I make a small request. Perhaps it is
not my place; as the newcomer to this team, I am unsure of where I sit,
and you are so very far away. Maybe it is just lost communication? But I
think not. Your tone and abruptness has convinced me otherwise. So I ask
this of you, dear developer, so that I might help you find the way.
Dear developer, don’t be a dick.
Your faithful colleague,