views:

489

answers:

16

Sometimes a programmer (or any technical specialist) encounters a non-technical people who try to push some ideas that just are dumb. Most of the time it comes from the lack of their technical knowledge.

Here are some examples from my experience:

  • We put this huge image files on the main webpage making anyone who doesnt have extremally fast connection want to kill himself (why you don't agree, it's fast on my computer? - sure it was fast, while checking over local ethernet).
  • We block the back button via some terrible javascript (one that breaks user's session) for security reasons.
  • We don't test the application on anything newer then IE 6.0, other browsers are insecure anyway.

...and many more.

So if this comes from someone with the power to make bussiness-level decisions it gets hard.

How do you deal with those kind of people (if you encounter them)?

+14  A: 

Express out your opinion, but don't get stressed.

Explain why things are bad or not acceptable. If they enforce their choice on you, live with it. Time will tell. Are you so sure you're correct? Is your ass on the line if it turns out badly? If so, do you have the papertrail covering your ass?

I believe this is why the term "Meh" was invented :)

Dead account
It's 'Meeh', thank you very much :P
cwap
@Meeh, is that the en-US spelling? I belive the en-GB is Meh :-)
Dead account
@Ian It's in en-MEEH :P
cwap
Meeh is en-Aus.It is dangerous to say "meh" to your boss.
Good Person
A: 

You first try to explain, not necessarily very politely, where and why they're wrong.

If that doesn't work, you quit. That's what I did anyway.

Can Berk Güder
This approach is fine if you don't encounter the same issue in your second job...but if you do...
Richard Ev
+4  A: 

Your only real option is to show them.

Showing how slow the web page is on 56k shouldn't be too hard. Laptops still come with modems generally and most DSL services still come with free dial up service (You've gotta dig though.)

There's a few high traffic websites that share their browsing stats which you could use to show the popularity of other browsers. Put it in terms of money and they'll start to listen.

The back button could be a bit tricky. You could set up this elaborate demonstration and they'll probably say "Well who's going to do that." You could be prepared by showing them assembly language and explain that someone looked through lines and lines of that code to create the Blaster worm... you know, the one that made the CIA unplug from the internet.

EDIT:

Per vartec's concern, if using an actual dial up connection is too much of a pain there are software bandwidth throttlers out there that can be used to simulate a 56k connection.

Spencer Ruport
"Laptops still come with modems generally and most DSL services still come with free dial up service"? In 2009? Where?!
vartec
Everywhere, Vartec. I just bought an HP notebook with 4G of RAM running Vista and it has a 56K modem. I don't use it but my DSL service does include dial-up.
Peter Wone
Spencer Ruport
@Peter I bought Dell XPS over a year ago and the only modem it had as an option, was HSDPA modem.
vartec
@Spencer: throttling -- much better idea.
vartec
@vartec High Performance laptops or ultra mobile laptops are likely to leave out any components they feel aren't necessary. This is nothing recent. Still, I've edited the answer in lieu of your concern.
Spencer Ruport
+1 for throttling, on XP I use that freeware XP traffic shaper application to simulate 56k and 128k connections when testing loading times
Sorry forgot the link and had the name wrong, it's traffice shaper XP http://bandwidthcontroller.com/trafficShaperXp.html
+1 for throttling
Good Person
If throttling the connection fails, try throttling the offending PHB. You'll lose your job but it will be sooooo satisfying :)
Peter Wone
On a more serious note, lead the horse to water. If it refuses to drink, you get paid anyway.
Peter Wone
A: 

Be frank and tell it straight. It's not a question of getting personal, it's about doing the right thing.

If that someone with authority consistently overrides your better decisions, well: (a) at least you tried (b) consider looking for a job elsewhere.

Mystic
A: 

You problem does not only apply to non-technical staff, because the solution is often independent from a persons job: in most cases communication. I recommend to read related questions here on SO (with technical staff involved), because the answers are very universal.

tanascius
+1  A: 

The only thing you can do is explain the reasons why you think it is a bad idea. If you are persuasive enough, they will realise the error of their ways.

However, often these people will outrank you in the decision making process and so they may ignore your pleas for sanity.

Jon Winstanley
A: 

Although it can be quite frustrating, are they really 'incompetent non-technical people' or more likely just 'non-technical people'.

I'm sure they are competent in other parts of the business? If not, then take your keyboard and smack them round the head. Several times.

toolkit
+3  A: 

What I tried to do several times is to explain the impact of their ideas in the terms they are most sensible to (e.g. money).

What is the last thing to do is to tell them that there idea is bad/dum/etc.

Cătălin Pitiș
+3  A: 
vartec
+2  A: 
  • ask questions to find out what is the real motivation (e.g., why block the back button? what is the "business case"? what is the real problem we are trying to solve?)
  • make sure you understand the motivation by repeating it / confirming it
  • if you still disagree, make your objectitions impersonal (use a thirdparty - e.g., "a customer might say...")
  • avoid any words or phrases that indicate you know better or you want to lecture
  • once you become better you will be able to steer with questions so the decider / manager will think it was his idea change

Read this book as quickly as you can: "How to Win Friends & Influence People" by Dale Carnegie

Sven Semmler
+1 for the "what's the business case" question
ChrisF
+1  A: 
  • Do whatever you can to make it clear to people, WHY suggestions are good or bad
  • Come up with better alternatives in stead of simply dismissing suggestions
  • Don't worry too much about who is the owner of an idea.

If your solid arguments are repeatedly ignored, start looking for a new job!

Having a job where you are not listened to is just too frustrating, and will eventually end up killing your passion and enthusiasm.

Kjensen
no need to scream.
vartec
A: 

Try and think of what's happening from the point of view of the business user.

They are clearly interested and want to be involved, so this is an excellent opportunity to bridge the gap so to speak, and educate a business user.

I would try and spend some time with them, identifying each change they want, and suggesting alternative's and explaining exactly why your alternatives are better.

This will establish a paper trail, which will be useful when incorrect decisions are made.

At the end of the day, the best approach is to be polite, and helpful, rather then throw up barriers and insist you are correct.

Maybe the user has valid concerns/information you are not aware of?

Bravax
A: 

Oh, and maybe read up on "Habits of Highly effective people", habits 4 and 5 in particular:

  • Habit 4: Think Win/Win: Principles of Mutual Benefit
  • Habit 5: Seek First to Understand, Then to be Understood: Principles of Mutual Understanding

http://en.wikipedia.org/wiki/The_Seven_Habits_of_Highly_Effective_People

Kjensen
+1  A: 

I have been in situation like this and have used a couple of things that have worked:

  1. as mentioned above demonstration helps.. when you demonstrate the result speaks for itself and now its not "YOUR OPINION" anymore.
  2. Explain with contemporary documentation
  3. try to negotiate. Have a read of http://www.how-to-negotiate.com/archives/tactics/. It might help..

If you find the above ideas insufficient.. involve their superior.. this has worked for me at times.. hope this helps... Andy

Andy
+1  A: 

Take it easy pal, they're like you said 'non-technical'

Programming teaches patience. Have lots of patience.

Cyril Gupta
+1  A: 

Use stackoverflow to ridicule them =)

Edit: I'm serious. It's called peer pressure especially when the peers are a bunch of raving techies.

aleemb