Live data from Hacker News

Are You a Grumpy Developer?

blog.rickyrobinett.com

21–30 of 60 posts

Re: Are You a Grumpy Developer?

#21

Grumpiness, at least for me, comes from the frustration of dealing with people who don't understand the ramifications of their change-requests. "Can this app run in offline mode?", "Can you make it run in 128k RAM?", "Your software doesn't work right if I run a butter knife across my motherboard when I start it up!" What seems like a simple change to them is actually a large change to me, and the pushback/explanation…

You can't control what other people think or say, but you can control how you respond. I think I learned that from some TV character in anger management classes, but it seemed like a good nugget of wisdom.

I don't think it's a wise idea to get grumpy (particularly visibly grumpy) with people who make unreasonable change requests. They don't do it to be mean, they do it because they are ignorant. So, it's up to you to educate them - try not to be condescending, try to be enlightening. Take them down the rabbit hole and show them what you can do quickly, and what takes time, and why.

When someone asks me to do something, I like to present multiple options to achieve their objectives, highlighting easy ways to do things that may have drawbacks, but take less time, and also fully explaining the time and costs of their intial thoughts.

The key, I think, in working with business people on software is being obviously willing to do some work to achieve their objectives, but also offering a pragmatic, technical point-of-view. Don't leave them room to think you just don't want to do something - express that you are definitely going to do something, but guide them to the right path.

Re: Are You a Grumpy Developer?

#22
post #18

Earlier quoted context omitted.

How on earth do you get to "it's the most socially appropriate way"? It's often the easiest and lowest effort for the developer, but what basically amounts to passive aggression is never going to be remotely sociably appropriate. If you educate people you get a massively better outcome - you don't get interrupted when that's important to you and you're more likely to get valuable and useful interaction when that's ac…

Uhh. not to be grumpy, but i read socially apropos as socially relevant and not socially appropriate. Disclaimer: am biased towards the OP. sometimes grumpiness can keep people away and let your brain/attention free from figuring out having to find the socially appropriate response/action.

About the only thing you can append to socially to describe grumpiness accurately is unappealing.

As I say it's easy for the developer, it gets the result the developer wants but it's optimised purely for the developer and purely for the short term. It's worse for the other party in the short term and it's worse for everyone in the long term.

Re: Are You a Grumpy Developer?

#23

Sometimes projecting an air of grumpiness is the most socially apropos way to keep people away from you when you need to focus intensely on difficult problems. It's one thing if you're talking to another developer or someone who at least has some sense of the focus that programming requires, but if you work with a fair number of non-technical people it's sometimes not enough to give an academic explanation. It's just…

When I feel really grumpy, and I manage to catch myself feeling that way, I find the better thing to do is to tell the person that I am busy and stressed. They are much more likely to leave me alone and treat me with respect later when I handle it that way.

Sometimes we all become a steamy kettle, but there are better ways to make friends and influence people.

Re: Are You a Grumpy Developer?

#24

Sometimes projecting an air of grumpiness is the most socially apropos way to keep people away from you when you need to focus intensely on difficult problems. It's one thing if you're talking to another developer or someone who at least has some sense of the focus that programming requires, but if you work with a fair number of non-technical people it's sometimes not enough to give an academic explanation. It's just…

How on earth do you get to "it's the most socially appropriate way"? It's often the easiest and lowest effort for the developer, but what basically amounts to passive aggression is never going to be remotely sociably appropriate. If you educate people you get a massively better outcome - you don't get interrupted when that's important to you and you're more likely to get valuable and useful interaction when that's ac…

> what basically amounts to passive aggression

How is being outwardly aggressive "passive aggression"? It's basically the complete opposite.

Passive aggression would be cheerfully saying "Thanks, that's a great idea, I'll be on it ASAP!", then just ignoring the idiotic request. "Oops, I forgot to tell you, that change we discussed? I looked into it, and it's just not feasible. But I can have another shot, if you still think it's important!". That's passive agression. The whole point is, it's not grumpy (until they call you out, and you start blaming them for making unreasonable requests).

Re: Are You a Grumpy Developer?

#25

Grumpiness, at least for me, comes from the frustration of dealing with people who don't understand the ramifications of their change-requests. "Can this app run in offline mode?", "Can you make it run in 128k RAM?", "Your software doesn't work right if I run a butter knife across my motherboard when I start it up!" What seems like a simple change to them is actually a large change to me, and the pushback/explanation…

I tell all my clients that the answer to all requests, modulo certain impossibilities such as solving the TSP, is "yes".

Can it be done offline? Yes.

Can it be made to run in 128k? Yes.

Can it be made to work in the exciting breadknife/motherboard interface market? Yes.

"The question you need to ask", I tell them, "is not can it be done -- but by when, for how much, with what disruptions?"

So far ... so good.

Re: Are You a Grumpy Developer?

#26
To all the 'justified in my bitterness' responses:

Yes, it's hard work being more knowledgeable, productive, smarter, better, than people around you. This is particularly a problem in software development since it takes an intense and often fleeting concentration to be really productive. Interruptions, especially those stemming from the ignorance or poor choices of others, provoke an immediate frustration and bitterness which seems (and probably is) justified.

Being justified, however, doesn't mean it's helpful. When I'm faced with these situations I often find myself analyzing in my head all the reasons that I shouldn't have to deal with this, why the person who brought it up is an idiot, how much better it would be if I could just be left to get things done. None of this thinking is productive, or even gratifying, except in the shallowest sense.

As hard as it is, the appropriate response to ignorance, idiocy, or other negative stimuli is NOT to be negative, but instead focus on positive solutions. Change the system where you can (as close to the source as possible) but don't compound wasted time by spending your energy being bitter about it.

Re: Are You a Grumpy Developer?

#28

Grumpiness, at least for me, comes from the frustration of dealing with people who don't understand the ramifications of their change-requests. "Can this app run in offline mode?", "Can you make it run in 128k RAM?", "Your software doesn't work right if I run a butter knife across my motherboard when I start it up!" What seems like a simple change to them is actually a large change to me, and the pushback/explanation…

I think it is also related to the fact that much of what software developers do is a waste of time. By this I mean that if the app or service was specced correctly the first time (by the end-user or project manager knowing what they wanted) then there wouldn't be so much backtracking or code getting thrown out. All that wasted effort tends to make one question what they're doing with their life and makes them grumpy.

The problem is that your actual job is different from what the people signing your paychecks and writing your performance reviews tell you it is.

You only think your job is to write code as specified. Really, your job is to make whatever people need to happen, happen. Not what they want, and not what they say they need. And so when you build what they say they want, and it turns out to not be what they actually need, you have to rebuild it differently.

Supposedly "Agile" fixes this when done right, but I get the feeling that doing Agile right is about as hard as finding a true Scotsman. :(

Re: Are You a Grumpy Developer?

#30

Grumpiness, at least for me, comes from the frustration of dealing with people who don't understand the ramifications of their change-requests. "Can this app run in offline mode?", "Can you make it run in 128k RAM?", "Your software doesn't work right if I run a butter knife across my motherboard when I start it up!" What seems like a simple change to them is actually a large change to me, and the pushback/explanation…

I think it is also related to the fact that much of what software developers do is a waste of time. By this I mean that if the app or service was specced correctly the first time (by the end-user or project manager knowing what they wanted) then there wouldn't be so much backtracking or code getting thrown out. All that wasted effort tends to make one question what they're doing with their life and makes them grumpy.…

Agile helps because you say yes to everything, but you give people a timeline.

For example:

Sure, Mr./Ms. Project Manager this can work in offline mode, but that story is worth 46368 points. At the current rate of 50 points a week, it will take the team approximately 18.6 years to complete. Do you really want us to start working on it, or should we think of another way to make this work?

Post reply on HN