Have you ever held out some bright colored thing in front of a baby? It takes a moment for the baby to notice it. Then it focuses on the thing. It may seem like the baby does it one eye at a time. Then the eyes get wide, wider, so wide you think they will pop out of its head! Its mouth pops open and the baby might even start to quickly open and shuts its mouth making a soft pop, pop, plop, pop... noise and start to drool. At the same time both arms and even both legs are waiving in a seeming random pattern in the general direction of the fascinating new object!
When you remove the object from the babies view it starts to cry. If the object was truly fascinating the baby will not stop crying for several minutes or until you bring the object back into its field of view.
You might see a similar response from a teenage boy (or any human male over a certain age for that matter) when the right woman walks by.
You rarely see a response like that from a college student in class. But, when you do you know that you have witnessed a miracle. Something profound has happened inside that students mind. They have experienced an "Aha!" moment. Usually that means that two or more ideas came together in a totally unexpected way, or they have encountered a fact or idea that has forced a major change in their world view. This kind of experience can be exciting and enabling, or it can be horrifying. But, with luck when you see that look, you are seeing the birth of a self motivated, self educating mind.
You never see exactly the same reaction that the baby gives you. But, you see the same gleam in the eyes and you might see the mouth pop open. I have even seen students reach out as if to grasp the idea out of the air before it got away. (Though that gesture can be confused with an aborted attempt to raise their hand to ask a question or express an objection :-)
When you see that look you know your life has been worth living. You have passed the fire. One more person just may have become a self motivated learner. Just like that baby was before teachers started punishing it for making mistakes.
I had the strangest conversation with a student before class one day. He wasn't in my class, he just sneaked into the lab to use the machines when no one was there. My habit of coming in early messed him up. I made sure he wasn't doing anything he shouldn't be doing and then let him continue to use the machines. He was very interested in learning to program, but had been talked out of taking programming classes. So, he was teaching himself.
I asked why he wasn't taking programming if he was interested in it. He told me that he couldn't learn very well because he had a learning disorder. He said he had ADHD. I said "So what?. First off, ADHD isn't a learning disorder. I have it, and it never stopped me from learning anything." I went on to say "Yeah, it is one hell of a 'going to school' disability because teachers make it one. But it does not keep you from learning. In fact, it can really help!"
Let me say that again: ADHD is not a learning disability, but it is one hell of a going to school disability. Teachers make it a "going to school" disability. Learning has nothing to do with being liked by teachers, or getting good grades in school. But some idiot has defined it that way and anything that makes school difficult is defined as a learning disorder. This is similar to defining drowning as a breathing disorder.
The next day his mother came in to talk to me. Since her son was eight years old she had been told that he could not learn because he had ADHD he could never do well in school, could never learn very much, and was basically stupid. I assured her that that was not true. In fact, just the opposite was most likely true. People with ADHD are rarely of below average intelligence and are often noted for their creativity. I said that my guess was that the way he was being treated had more to do with his ethnicity (African American) than his ADHD.
I told her that my own experience was that k-12 were torture. College got easier the farther I got into it. I understand that freshman year is often pure hell for people with ADHD, but despite just barely graduating from high school I tested out of freshman year. (Zero correlation between course grades and learning.) In graduate school most of the class work was a breeze, even though the politics nearly killed me. But, I was white and my father and grandfather were college professors.... I got very different treatment that her son did. I am also old enough to have grown up at a time when ADHD behavior was called "boys being boys" and not considered to be a disorder that required correction.
His mother looked me in the eye the way only a mother can and asked "You are not bull shitting me?"
"Ma'am, I would not dare!" I replied.
She smiled, like a tiger, took a deep breath and said "Hmph!" I was very glad I was not the target of that "Hmph!".
I looked at her son and pointed out that "He knows enough about how to use the net to research this on his own. I've watched him. Give him a few days to find some information for you. If I'm bull shitting you, you know where to find me."
I never saw her again. I saw him a couple of days later. He had found a lot of information about ADHD. He had a lot of questions about better ways to find things on the net. By the end of that semester he had educated himself and his mother about ADHD. And, he signed up for programming classes.
Learning that you can do something that you never knew you could do before, that is a powerful experience. Finding out you can do something you have been told that you can not do, that is a liberating experience. Being the one that got to "teach" that person is enough to make me feel that my time spent teaching has not been wasted.
No one ever taught anyone else anything... but sometimes, like a good trail guide, you can roll a rock off the trail that was blocking their way and point them in the direction they need to go, even down a trail they didn't know was there. And, when they get to the top of an unknown hill and look out at a land they never imagined, they just might get that look.
Thursday, January 31, 2013
Friday, December 7, 2012
Programmers have a right to be Grumpy!
Grumpy Werewolf coffee mug (Google Affiliate Ad)
Wouldn't you know it... I've had a blog on this domain since 2009 and now I find out that some guy, OK a pretty damn good programmer, has started writing books under that tag line of the "The Grumpy Programmer's Guide ...".
Oh well, you would think he and his publisher would try to be a bit more... polite. But on the other hand, there are a hell of a lot of grumpy, and even severely pissed off programmers in the world. We have a right to be pissed off. The troubl is that we are too damn stubborn to fix the problems.
Of course, most of the problems stem from the sad fact that only programmers actually know what is involved in writing programs. One of my favorite examples of that occurred when I was working for Evans & Sutherland in the early 90s. They had been the premier computer graphics company in the world. But, they were on their way down...
The company decided to build a graphics workstation to compete with the machines made by SGI. Seemed like a good idea at the time. So we got the first motherboards and started testing them and they were very sloooow. There was of course a lot of discussion of the problem but no one seemed to understand what was going on.
We had truly great engineering management at the time. Our VP of engineering was Gary W. Hodgman of Sutherland-Hodgman clipping algorithm fame. Best damn engineering manager I ever had the pleasure to work for. We had weekly company wide meetings to discuss everything. At the weekly meeting the performance problem was a major topic. One of the god level EEs told us that the problem was with the software. The EEs had designed a memory interface optimized for Random Access to Memory.
(Note: OK, it was long time ago and the quotation is only approximate. You might notice I only give names of people I admire. Also, my use of the term "god level" hints at a cultural problem that the company had that is what really killed it. If you had the right adviser at the right school you could do no wrong at E&S. You could waste money and time and destroy one project after another and be rewarded for it. You were at the "god level". The rest of us actually had to produce working products and working code. The rest of us weren't even second class citizens compared to the god level folks.)
Oh my... The guy really was shouting at the end. There was an initial shocked silence. I broke the silence by asking the fellow if he was aware that instructions are normally fetched sequentially from RAM. The guy next to me asked if he was aware of the memory access pattern for pushing parameters on a stack. It went on like that for a few questions and then broke into general laughter. I remember one VP, the VP of whatever he wanted to be, nearly fell off his chair. That is when the poor godling EE's face really turned red. Gary cut off discussion and ordered a special meeting for immediately after the end of the big meeting to plan corrections to the design.
The next batch of motherboards worked just fine.
The key here is that even the ultra well educated and well paid engineers who were given the job of designing a computer did not actually know anything about software. They were making their decisions based on nonsense they had picked up off of the equivalent of the bathroom wall. They never bothered to walk to the other end of the building to ask if what they "knew" was correct. These were people with graduate degrees who had specialized in the electrical engineering of computers. The only purpose of a computer is to RUN SOFTWARE. But, in all there studies of computing hardware they had not bothered to learn anything about the actual purpose of the the machines they were learning to build.
The arrogance needed to back that level of willful ignorance is astonishing. These were guys who should have known better working for management who definitely should have known better. Trained by people who had to have known better.
But, what the heck, while I have several stories about absurdly arrogant EEs for every one I have about EEs I have at least 3 about software developers. We can be just as bad, if not worse.
Just a little? post script: A couple of weeks later I was walking down the hall carrying a phillips screw driver. I was stopped by one of the chip designers involved in the motherboard fiasco who said something like "Whoa, the scariest thing in the world, a software guy with a screw driver". I told him I knew how to use a screw driver. He said "Really, hows that?". I replied "Well it depends, but based on where you're standing right now I would just swing it up to about here" indicating the notch of his rib cage "then put my other hand behind it and drive straight on through the aorta". He laughed and said I was a funny guy as he stepped back.
The conversation progressed from there and at some point he said "Hey, I hear you're a pretty good programmer, how many lines of code can you write in a year?".
I looked at him and asked "How many square inches of silicon do you layout in a year?"
He started to explain to me that, of course, chip designers were not rated that way. He explained that if they were then they would design chips that were so large that they could not be fabricated.
It was like something out of a Sutra... He got this weird look on his face and then he was enlightened.
"Ohhh....." he said, "if the only thing that mattered about a programmer was how many lines of code you could write in a year then you would all write programs that are so large that no computer could run them. I smiled and started to walk down the hall. I felt I had made a real break through in Software guy Hardware guy relations.
I got about two steps when he caught up with me and said "No, seriously, what are you doing with that screw driver?"
The Pragmatic Programmer By Hunt, Andrew/ Thomas, David (Google Affiliate Ad)
Wouldn't you know it... I've had a blog on this domain since 2009 and now I find out that some guy, OK a pretty damn good programmer, has started writing books under that tag line of the "The Grumpy Programmer's Guide ...".
Oh well, you would think he and his publisher would try to be a bit more... polite. But on the other hand, there are a hell of a lot of grumpy, and even severely pissed off programmers in the world. We have a right to be pissed off. The troubl is that we are too damn stubborn to fix the problems.
Of course, most of the problems stem from the sad fact that only programmers actually know what is involved in writing programs. One of my favorite examples of that occurred when I was working for Evans & Sutherland in the early 90s. They had been the premier computer graphics company in the world. But, they were on their way down...
The company decided to build a graphics workstation to compete with the machines made by SGI. Seemed like a good idea at the time. So we got the first motherboards and started testing them and they were very sloooow. There was of course a lot of discussion of the problem but no one seemed to understand what was going on.
We had truly great engineering management at the time. Our VP of engineering was Gary W. Hodgman of Sutherland-Hodgman clipping algorithm fame. Best damn engineering manager I ever had the pleasure to work for. We had weekly company wide meetings to discuss everything. At the weekly meeting the performance problem was a major topic. One of the god level EEs told us that the problem was with the software. The EEs had designed a memory interface optimized for Random Access to Memory.
"Everyone knows that programs access memory in a random pattern, that's why it is called Random Access Memory. But, when we trace the actual usage pattern, almost all memory accesses are sequential! This company has the weirdest programmers in the world. You guys have messed things up so badly that we get no value form the hard work we did to support RANDOM ACCESS!"
(Note: OK, it was long time ago and the quotation is only approximate. You might notice I only give names of people I admire. Also, my use of the term "god level" hints at a cultural problem that the company had that is what really killed it. If you had the right adviser at the right school you could do no wrong at E&S. You could waste money and time and destroy one project after another and be rewarded for it. You were at the "god level". The rest of us actually had to produce working products and working code. The rest of us weren't even second class citizens compared to the god level folks.)
Oh my... The guy really was shouting at the end. There was an initial shocked silence. I broke the silence by asking the fellow if he was aware that instructions are normally fetched sequentially from RAM. The guy next to me asked if he was aware of the memory access pattern for pushing parameters on a stack. It went on like that for a few questions and then broke into general laughter. I remember one VP, the VP of whatever he wanted to be, nearly fell off his chair. That is when the poor godling EE's face really turned red. Gary cut off discussion and ordered a special meeting for immediately after the end of the big meeting to plan corrections to the design.
The next batch of motherboards worked just fine.
The key here is that even the ultra well educated and well paid engineers who were given the job of designing a computer did not actually know anything about software. They were making their decisions based on nonsense they had picked up off of the equivalent of the bathroom wall. They never bothered to walk to the other end of the building to ask if what they "knew" was correct. These were people with graduate degrees who had specialized in the electrical engineering of computers. The only purpose of a computer is to RUN SOFTWARE. But, in all there studies of computing hardware they had not bothered to learn anything about the actual purpose of the the machines they were learning to build.
The arrogance needed to back that level of willful ignorance is astonishing. These were guys who should have known better working for management who definitely should have known better. Trained by people who had to have known better.
But, what the heck, while I have several stories about absurdly arrogant EEs for every one I have about EEs I have at least 3 about software developers. We can be just as bad, if not worse.
Just a little? post script: A couple of weeks later I was walking down the hall carrying a phillips screw driver. I was stopped by one of the chip designers involved in the motherboard fiasco who said something like "Whoa, the scariest thing in the world, a software guy with a screw driver". I told him I knew how to use a screw driver. He said "Really, hows that?". I replied "Well it depends, but based on where you're standing right now I would just swing it up to about here" indicating the notch of his rib cage "then put my other hand behind it and drive straight on through the aorta". He laughed and said I was a funny guy as he stepped back.
The conversation progressed from there and at some point he said "Hey, I hear you're a pretty good programmer, how many lines of code can you write in a year?".
I looked at him and asked "How many square inches of silicon do you layout in a year?"
He started to explain to me that, of course, chip designers were not rated that way. He explained that if they were then they would design chips that were so large that they could not be fabricated.
It was like something out of a Sutra... He got this weird look on his face and then he was enlightened.
"Ohhh....." he said, "if the only thing that mattered about a programmer was how many lines of code you could write in a year then you would all write programs that are so large that no computer could run them. I smiled and started to walk down the hall. I felt I had made a real break through in Software guy Hardware guy relations.
I got about two steps when he caught up with me and said "No, seriously, what are you doing with that screw driver?"
The Pragmatic Programmer By Hunt, Andrew/ Thomas, David (Google Affiliate Ad)
Subscribe to:
Posts (Atom)