Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Re: Re: Second rate programmers and my confession

by Ovid (Cardinal)
on Jun 05, 2002 at 21:40 UTC ( #172019=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Second rate programmers and my confession
in thread Second rate programmers and my confession

BUU wrote: I fail to see why using 'higher level' terms is symptomatic of a lack of ability.

It may not indicate lack of ability, but oftimes, it is often indicative of communication problems. One company I worked at had a programmer who would deal with problems like this:


Customer:    Why didn't I get my reports?
Programmer:  I just checked and you got a SOC7 in GLJ0430R and I'm going to
             have to reload the dataset and start from the top.

That programmer was technically correct. Of course, he didn't answer the customer's question. Learning to target your message to your audience is important. I would have simply said "looks like we got some bad data. I'm going to fix it and have the report to you in an hour."

Now, does the previous person have a "lack of ability"? I remember one professor who said "if you can't put it in writing, you don't know it." Quite often, if I find that I can't explain something in clear terms that anyone can understand, I really don't understand what I'm trying to explain.

What's a SOC7? Well, it's a SOC7. It's...it's... it's a data exception. What is a data exception? Well, it's, uh, you know...

You see my point? If I can't explain something clearly, I probably don't understand it. Of course, I may understand it very well, but simply be a poor communicator. I tend to be suspicious of those who want to use high-falutin' terms.

Hope that helps :)

Cheers,
Ovid

Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.


Comment on Re: Re: Re: Second rate programmers and my confession
Re: Re: Re: Re: Second rate programmers and my confession
by BUU (Prior) on Jun 06, 2002 at 03:10 UTC
    While i take your point about poor communications, i could ask "Why is a programmer doing customer relations/support?". Ideally you would have someone trained to 'interface' between the customer and the programmer. Or atleast thats my take on it etc. etc.

    I could also point out that 'technical terms'(etc.) are also fufilling number one of the programmers..motto? Namely lazyness. Why use a paragraph when 2 words will do?

    Course, doctors are expected to have a 'nice bedside manner', although i have to admit i would prefer competency over 'charm'..
      Part of being a programmer should be communicating clearly to your peers. Your peers can be other programmers, managers, and even clients. If you can't speak in terms they can understand, you're not being helpful, and especially, you're not being very effective.

      When the other party can't clearly understand what you're saying, they are more likely to misinterpret it. That misunderstanding will probably return in the form of demands that are unrealistic, impossible, or, in your opinion, just plain stupid. Since you can't explain clearly why these requests are unrealistic, impossible, or some diplomatic euphemism for "stupid", then no matter what you say, they think you're making a big deal out of nothing. You're upset at their requests, and they're upset at your nonsensical complaining.

      The classic "rift" in tech companies seems to between sales/marketing and the technical department, usually programmers and engineers. They are, from a psychological perspective, about as incompatible as you can get.

      When "sales and marketing" people talk to "the techies", they speak their own "sales and marketing" language, and not surprisingly, the reverse is true. In order to be effective, both sides must make an effort to bridge that gap, and one of the easiest ways to do this is to use plain language. If both sides refuse to compromise, you might as well have one group speaking Swedish and the other Korean. Nothing is going to be communicated except vague notions of what the problems and requirements are, and both sides feel abused.

      In line with your "number one programmers motto", think of that in terms of the collective, not on an individual level. If Party A communicates something to Party B in 10 seconds, but it takes Party B five minutes to figure out what Party A really said, is that productive? If Party A instead took 30 seconds to give a full explanation, then it would end there. It's about conserving effort on a broader scale.
Re: Re: Re: Re: Second rate programmers and my confession
by davis (Vicar) on Jun 06, 2002 at 11:33 UTC
    I agree: to quote Einstein: "If you can't explain something to a six year-old, you don't understand it yourself". Even though most of us (here) are reasonably technically proficient, I think (huge generalization coming up) that even we find it easier to understand things that are written in a natural language - after all, natural language is the tool we use every day.

    One of the arts of communication is tailoring your output to the audiences' level of comprehension - if you're talking to your non-programmer manager, you'd hopefully use language that he/she could understand. Trying to "blind with science" tends to make you appear arrogant, and will often alienate your audience. If that audience has some influence on your wage-packet, I'd watch out.
    As programmers, we generally have a higher level of technical knowledge than the average (customer, user, individual), but giving descriptions in "user-language" actively helps your ability to communicate.
    My 2 cents, take with the appropriate quantity of sodium chloride.

    davis
    Is this going out live?
    No, Homer, very few cartoons are broadcast live - it's a terrible strain on the animator's wrist
      If you can't explain something to a six year-old, you don't understand it yourself

      Yeah, he also said at one moment that only 4 or 5 people in the world understood his general theory of relativity. I don't think Einstein meant he had explained his theory to the kids in the neighbourhood.

      Would you think that Einstein himself didn't understand his theories?

      Abigail

        I for one would love to hear Einstein explain his work to a six year old.

        It's the height of academic gaul to think that anyone "understands" how things work in the universe. Einstein went to his grave grasping at the true significance of his ideas. Just because you can express complex ideas does not mean that you understand all their implications or are above those who don't.

        If a person can't step back and explain what they are doing to another person then they need to reassess their work and how it relates to the rest of the world. Both Einstein and Steven Hawkins have been very capable of expressing their ideas in "plain" English. If you can't, you aren't as smart as you think.

        ADDED: Note, the "you" I'm refering to is a generic one, and not Abigail-II with whom I have nothing but the highest of respect for.

        ()-()
         \"/
          `                                                     
        
        I not saying Einstein would have explained his theories to neighbourhood kids either, but I think he was capable of expressing the ideas in language that the kids could understand. (ok, it would have taken some time :-) ).
        davis
        Is this going out live?
        No, Homer, very few cartoons are broadcast live - it's a terrible strain on the animator's wrist
Re: Second rate programmers and my confession
by Abigail-II (Bishop) on Jun 06, 2002 at 14:02 UTC
    I don't know what your point is. Perhaps you are trying to say that the programmer didn't understand the problem. But you didn't tell us what happened after the programmer talked to the customer. Did he screw up and the customer never got his report? Or did the customer get his report after the data was reloaded? In the latter case, I'd say the programmer did understand the problem.

    I strongly disagree that you don't understand a problem if you cannot explain it in a few sentences to someone totally unfamiliar with the field, and who has no interest in knowing.

    After I graduated, I did a few years of theoretical research at a university. The first nine months I spend studying topology before I could understand some of the problems I was working on. Was I a bad researcher because I won't be able to explain the problems here on this webboard? I don't think so.

    If all people who really understood things well all could easily explain things to other people regardless of their level, the quality of education would be much better. I've seen people, top of their field by a large margin, who write very hard to understand papers. That doesn't make them second rate.

    Abigail

      Abigail-II wrote:

      I strongly disagree that you don't understand a problem if you cannot explain it in a few sentences to someone totally unfamiliar with the field, and who has no interest in knowing.

      I would completely agree with that statement except for one little point; you appear to imply that I said that. I didn't.

      If you read my post again, you'll see that I chose my words most carefully:

      1. ...but oftimes, it is often indicative of communication problems.
      2. That programmer was technically correct.
      3. Quite often, if I find that I can't explain something in clear terms ...
      4. If I can't explain something clearly, I probably don't understand it.

      As you can see from the above quotes, I was extremely clear not say "all", "any", "none", or nonsense like that.

      You said you don't know what my point is, so I will try to be a bit more clear. Considering that jargon can be confusing to those who don't understand it:

      • Some people prefer to use jargon to discuss an issue.
      • Those who use jargon often don't know how else to express the issue.
      • If they don't know how else to express an issue, sometimes they have no understanding of it beyond the jargon.
      • Therefore, some people who prefer to use jargon have no understanding of an issue beyond the jargon.

      While the above is a bit wordy, it's logically valid. Of course, some will call it wishy-washy, which it is because if I only found one person who fit, then my case is proved :) The best I can do is sum it up this way: it's been my personal experience that those who communicate poorly by only using jargon are usually either showing off or they don't truly understand what they're talking about.

      That was all I was saying. Nothing more. And as for the programmer I mentioned? He was always complaining about getting bad reviews, even though "he knew more than the customer". He couldn't understand why he wasn't getting promoted. Communication is more than just saying words that are correct.

      Cheers,
      Ovid

      Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.

      I interpreted the point more as in: if you're not talking to "fellow experts", it's more productive to explain things in plain language, even when that implies simplifying a lot of "unimportant" things.

      Simplifying a difficult problem without losing track of the important points is hard, maybe even harder than going into all the little details that make up the problem, and people who can do it effectively usually have a lot of knowledge in that field. And some skill at "talking down" :-)

      Anyway, it's good to see you here again :-)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://172019]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2014-08-28 09:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (259 votes), past polls