Why engineers are grumpy
The real grumpiness is exposed in the article the morgamic article refers to, the care and feeding of engineers:
Software engineers are put into a difficult position every day, but we are not victims even though those of us who are more melodramatic tend to act that way. Part of our grumpiness actually comes from within, with something that for some reason is deeply ingrained in the majority of software engineers. We have a tragic flaw and that flaw is that we overestimate our knowledge and abilities.
If you care about your engineers, the article says you'll do the following:
Work cross-functionality.
Make a creative space.
Encourage time off.
Let 'em code. (This is #4?! WTF?)
Express appreciation.
"Please be sure when you’re thanking people for their hard work on a product not to forget the engineers."(People forget the engineers?!?! WTF?)
I think part of the issue has to do with mental planning as work product.
If I've spent time thinking out how I'm going to approach a project or task, and some PM comes to me with some change or wish list, then I have to drop my plans and recalculate. This takes time and mental energy, and devalues the time I've already put into the task, not even taking account into the effort it takes to conduct a mental context shift from the interruption.
So my default answer is "no"... If you don't forget the idea (which the asking party usually does), and if it's important enough to suffer through "no" at least twice, then there is a reasonable chance that the benefit of considering the idea exceeds the cost of abandoned in-brain work.
If you have to say no a lot, why be grumpy?
Why not ENJOY saying no cheerfully?
I think that would be rubbing it in... kind of like using a barbershop quartet for announce disease diagnosis.
Fair enough. But a no can be delivered in a thoughtful, assertive way that is not grumpy.
oh of course... but the idea of cheerful no always makes me think of that particular scene in Family Guy. :-P
Which one? This one?
While the bird is most certainly the word, bababaoomamaumau, I was referring to this hilariously offensive bit:
http://www.hulu.com/watch/5547
(hmm.. it doesn't seem to like hulu embeds)
Hulu embeds are on our to-do list.
And yes, hilariously offensive. But cheerful. :)
I prefer to say no with an insouciant yet slightly pitying laugh! No need to be mocking or grumpy, just kind yet clearly too busy to explain the idiocy of the request.
I've seen company after company where non-engineers are some combination of: envious of engineering salaries, think engineering is a commoditized resource, think all engineers are interchangable, make legit engineering requests but ignore the consequences of the decisions by thinking all requests are equal, and applying exact science criteria and unjustifiable criteria to an inexact science.
That said, software engineering, is one of the few technology areas that actually embrace the customer's domain. That means a software engineer has to be both an expert at software and become an expert at the problem they are trying to solve too. That could make anyone frustrated.
Despite all the confusion about software development and production, most non-engineering people understand operations even less. So they may think the software group is bad, but they hold nothing but disdain for the IT and InfoSec groups--the ones who's job it is to say NO to everything in order to preserve the company and not letting any single individual put it at risk.