Gunpowder in a Cellar
I love my wife.
I have lived with her since 2010. Still, during the road there have been times when I have been forced to consider my own habits. I won’t go to any dirty details, so if you were hoping to see some saucy, juicy, NSFW content – feel free to be disappointed ;) But when you're living together long enough, you end up rubbing each other - also the wrong way.
One of the questions I have started to ponder is – how to best handle your frustration?
Piling it up...
I was born in Finland at 1979. I belong to the generation that was largely taught to just suppress negative feelings. It took me quite long to understand that this method may not be the best for me – and I have a feeling it may not be the best method for anyone else either. Someone wiser than me has said that suppressing the negative feelings is like storing gunpowder in cellar. You can’t really make these feelings just disappear, but every time you silently swallow your frustration or disappointment, they actually just build-up underneath ...
Until the storage is exhausted.
And eventually, some small addition is just too much and just makes you to explode. Sure you don't really explode because of this small thing, but because of the accumulated small things. Problem is that the target of your explosion can't necessarily see the amount of the accumulated gunpowder you had in the cellar. For the target it may seem you exploded for no real reason.
In a working relationship you may be able to get away with an honest apology and explanation. Added flowers and chocolate may not hurt.
How this works at work.
I believe this does not only apply to relationships, but it is also true for the work life. And, it does not really matter where you build-up the gunpowder. Explosion does not need to happen in same place.
I think we see this all around. Coffee rooms, meetings chats and mailing lists. Especially in the mailing lists. I’ve seen RED FONT AND BIG BOLD LETTERS. Sometimes much bigger and bolder than I think the reader has deserved. (By the way, the Linux mail lists, which are said to be hostile at times, are pretty safe from red font and big and bold letters! You know why, right? ;) )
A small story.
A long time ago, in a galaxy far far away, an anonymous Linux kernel/driver developer wrote and delivered a customer some Linux driver code for a new IC.
I am afraid this customer had allocated a “too high level” integrators to the task of integrating this IC specific, low level Linux driver into their board’s code base. The developer found himself teaching the customer's engineers how to use “standard” Linux features, which weren’t in any way specific to the IC or the driver itself.
Following contains pieces of discussion.
No, you can’t use the ‘interrupts’ property which I used in my example, because the SOC and IRQ wiring on your product is different.
No, you can’t use the battery parameters I made up for testing, you need to find out the parameters that actually match the battery you use.
No, the GPIO driver does not autonomously set the correct GPIO states. It only enables the control via standard GPIO interfaces. You either need to have a GPIO consumer driver, a user-space application or device-tree hog which contains the logic, and then sets the state.
... And so on.
Along the road there were also other challenges, like patches dropped from the integration, wrong logs being sent, logs full of kernel Oopses from unrelated portions of the code...
Surprizingly, soon these questions started to feel frustrating. The developer found himself (hopefully secretly - please, don't tell anyone) thinking that:
Doesn't the customer really have anyone who knows what he is doing there?
And,
At this rate the IC will be EOL before the product is working.
... And so on.
I swear, the developer tried to answer politely, explaining things and suggesting pieces of documentation for reading. Still, I’m pretty sure some “passive aggression” could have been visible for a very careful reader.
And, at the end, the developer used some RED FONT AND BIG BOLD LETTERS too.
Question:
I suppose that professional people are expected to avoid exploding, as it tends to be very messy. So, how do you deal with the frustration? How do you prevent it from piling up? Also, do you know how to say “I’m sorry” when you fail to mind your manners?
I am perfectly aware of the fact that people should be treated well. I do believe the good behaviour creates good things and nasty behaviour makes things rot. So, what are the best tools to controllably let out the steam and keep things from exploding?
Software Engineer at Google
2 周Wouldn't happen to be the IIO stuff? Last time I disagreed with the other party, it was over code style preferences. In the end I just threw `clang-format` at it. Neither of us liked it very much, but at least it's some neutral preference given in the kernel code base.
SW Architect at Meater Suomi
2 周I agree