- Non-techies aren’t idiotsPosted 6 months ago
- Books Programmers Don’t Really ReadPosted 6 months ago
- vBulletin review for 2013Posted 6 months ago
- Ant and Maven – An InsightPosted 1 year ago
- Reasons Why Apple SucksPosted 1 year ago
- RIP MSN Messenger – Welcome Skype!!!Posted 1 year ago
- Top 10 Best shooter games for AndroidPosted 1 year ago
- 12 (Really) Controversial Programming OpinionsPosted 1 year ago
- iPhone 5 only for iSheep’sPosted 1 year ago
- Why eBay sucks for Sellers?Posted 1 year ago
Non-techies aren’t idiots
The title speaks for itself. Non techies are not idiots. They can understand a technical argument if you keep it high-level enough. Use real world examples to illustrate issues, such as a car breaking down or a washing machine needing repair. To point is to use examples they are already familiar with. Explain these issues in a manner that they can understand and let them decide how they want to proceed.
The Developer Why:
Developers will have a lot of answers that make absolutely no sense to management. I’ve just had a revelation when Joel Spolsky said on the podcast that they should use QuickBooks because ‘every accountant in the world knows it’. This struck me as being very similar to ‘chose Java because every programmer in the world knows it’.
The mistake many programmers make is they will argue the point (or simply agree or disagree with it) based solely on technical merit. With management–and the business as a whole–you have to argue the business case and the merits for the business first and technical merits second.
When you talk about proving something, all that scientific method stuff comes into play, and part of what that means is that if you are going to accept objective standards of deciding what’s true, you must accept the possibility that, upon investigation, those annoying facts turn out not to be on your side.
Let’s look from Management Perspective.
From management’s perspective, there’s nothing wrong with the system and you are just complaining because [you just want to rewrite it/you don't understand what previous engineers did/you want your job to be easy]. If things are purring along nicely, it’s easy to pat you on the head and tell you to do your best, because it’s not affecting the bottom line.
‘But it works now’ is the standard management response to the legitimate frustrations of software engineers.
Management measures results in terms of work delivered. If they are happy with the current quantity and quality of features, then sad reality is that they won’t listen. As pointed out, without management’s support, it will be extremely difficult to introduce any kind of change.
But in reality, most managers are not as stupid as we geeks like to think, and they can be reasoned with. What is important here is that you understand their point of view: They usually don’t care about specific technical details, they care about results. So don’t tell them that .net or Java or Delphi or whatever has this megacool terrific feature. Tell them that (enter your language here) is a good choice because it feature A makes for shorter development times in a project like this, or that feature B makes for fewer bugs and therefore shortens the time needed for testing. Just make sure your argument is sound, don’t lie to him.
In other words: treat him like an intelligent being (he probably is)
Here are some facts you can take with this issue.
- Management, unless they are programmers themselves, are not going to understand the Iceberg Secret.
- This is a problem of ignorance, not malice. The CEO wants a good product – he just doesn’t understand everything that goes into a good product.
- The CEO (and your direct boss) are not stupid – study and prepare some facts and some concrete data for why you should spend the time on this, and other Iceberg problems.