Peculiarity isn’t so much of a generality as it is an exception. But it is an exception worth discussing because it really seems to apply more to computer programmers than to non-programmers. This characteristic can best be described through two stories, both of which are completely true.
I have changed the names of these programmers.
I met George in California. He was one of the best programming minds that I’ve ever worked with. George and I worked closely together for a number of months and got to know each other quite well.
However, I learned over time that George had some very different ideas. Even the reason that he became a computer programmer was a bit different.
George grew up in Philadelphia and attended on the Universities there. His major when he started his college education was sculpture. But one rather cold day, he decided to take a shortcut through the computer building on campus. As he was walking down a hallway, he looked into one of the rooms and noticed someone sitting in front of a large, green computer monitor. (George attended college about 35 years ago. That was well before color monitors became prevalent.) At that moment, as he described it to me, he literally had a religious experience. He walked into the room and stood silently behind the person working there and simply stared at the monitor, completely transfixed. The programmer noticed him and they began a conversation. George decided – then and there – to change his major to computer science (a rather dramatic change from sculpture).
An even better example took place one day as we went to lunch together. About halfway through the meal, this conversation took place:
George: “Randy, do you believe that people have auras around them?”
Me: “Well, I’ve Karolin photographs which show auras so, at least for the sake of argument; I’ll agree that people have auras around them.”
George: “Well then, Randy, do you believe that I can see the auras around people?”
Me (smiling): “No, George. I don’t believe that you can see the auras around people.”
George, continuing with no hesitation: “Randy, do you believe that computers have auras around them.”
Me, after a few moments of thought: “Well, there are electromagnetic things going on inside of computers so, sure, once again for the sake of argument, I can agree that computers have auras around them.”
George: “Do you believe that I can see the auras around computers?”
Me (laughing now): “No, George. I definitely do not believe that you can see the auras around computers.”
George: “Well I can. One time I was asked to fix a computer program but the source code for the program had been lost. So all that we had was a thick computer printout containing a binary dump of the program. [A “binary dump” is a listing of the ones-and-zeros that the computer uses for the program. Most initial reactions when looking at such a listing is that it is nothing more than a very long sequence of random numbers.] I looked through the printout and noticed that the aura in one part of the program was different from the aura in the rest of the program. I guessed that was where the bug was located, and I was right!”
At this point, I was laughing hysterically.
But I knew George well enough to know that he was being completely serious. So he, at least believed, that he could see auras in computer printouts.
Even non-programmers have seen computer printouts. I’ve never talked to anyone else who claims to see auras in them.
I have another completely true example.
In one of my jobs, my office was arranged in such a way that my back was to the door of the office. One day, I was reading an article in a technical magazine. I recall that I literally had my feet up on my desk.
I don’t recall what the article was about, but it must have been interesting because I recall reading it without looking up for a fairly long period of time.
When I was done, I glanced at the doorway and noticed Calvin. Calvin wasn’t really in the doorway. He was sort of glancing around the door jam; I could really only see his head. I greeted him and asked him what he wanted. He said that he had a question. We discussed his question for a few minutes and when he was satisfied, he turned to leave.
I then asked him how long he had been waiting to get my attention. He told me he had been waiting for a half-hour!
That’s 30 minutes! I’ve waited that long to have the oil changed in my car and become impatient. Yet Calvin waited that long rather than interrupt someone who had assumed a posture effectively asking to be interrupted.
Was he telling the truth? I have no way of knowing, but I knew Calvin fairly well. He was the meekest, most introverted person I have ever met. So I believe that his time estimate was possibly true.
Like George, Calvin was a very good programmer. He was just a little different.
Implications:
I have a couple of other examples of such behavior. (I knew another talented programmer who had a television but NEVER used it for anything but playing video games.) But I believe that I’ve made my point.
So what does that mean? .
First, you should expect to see the occasional “oddball”. And, I believe, those “oddballs” will tend to be your better programmers. So look for them.
Second, one of the things that interviewers look for when trying to fill an open position is how well the person might fit into the group. This is an important consideration when interviewing software developers. But some behaviors that might raise a red flag in other professions should not necessarily be considered as threatening when interviewing software developers – someone who claims to see auras around other people, computers and even computer printouts may have a problem fitting into a group of insurance adjusters but seems to have no problem fitting into a group of computer programmers. That’s because, such behavior doesn’t really affect their job and it is in the nature of computer programmers to focus on the job. In general such unusual behavior will not bother the other members of the programming staff.
There are things that will bother the other members of the software development team. This might be a good time to discuss those things.
When looking for a good fit, be cautious about people who are reluctant to accept the opinion of others. Some programmers are so confident in their own abilities that they are unwilling to accept some methodology for doing things that is different from their own opinion. Certainly you should listen to their ideas. If a decision is made that goes against their recommendations, the reasons for that decision should be explained. But once such a decision is made, everyone on the project team should be willing to proceed with the development. People who pout because their own recommendation has not been accepted do not fit in very well. In my own experience, people with advanced degrees in Computer Science are most often guilty of this. (See the section on “It’s possible to have too much education”.)
As I mention elsewhere in this book, the best technology to use when writing custom software is the cheapest technology that will solve the problem. That may not be the “coolest” or “latest-and-greatest” technology. If you can’t accept that, don’t work on custom software development.
Of course sometimes the “coolest” technology is the best one to use. That is why custom software developers certainly do need to be kept up-to-date with the latest technology. But that is not always the case and the members of the software development team have to understand this.
Wednesday, March 18, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment