I just read a post linked from Reddit about why programmers can’t read. It was in response to the FizzBuzz problem that is used to measure a programmer’s basic competency during an interview (I was able to complete my solution in C in about 3 minutes, including ssh’ing into my linux box and opening vi). The issue is that so many programmers get the solution wrong is because they can’t read, i.e. they don’t read the problem correctly, thus get it wrong. So, what exactly is the problem here?
The author said, “Perhaps it’s time to bring back more word problems in our curriculum”. This is good, but I think we need to go beyond that statement. A lot of schools at all levels (grade school through college) don’t teach reading and writing properly or put enough emphasis on it (especially at a technical school) . I went to WPI and as part of our education we were required to complete three major projects, all three of which included writing a paper.
I was told several times by my professors that I wrote well compared to my peers, which I found odd because my mother always complained about how I didn’t write all that well (she blamed it on my grade school and high school education…i.e. not learning to diagram sentences until I took French in 7th grade). But we weren’t required to take a literature class at all in the 4 years we were there to make sure we wrote these papers properly. Not a single one.
I’m not sure about other technical driven schools, but I really think we need to spend more time on language and writing than we do. Its not enough to learn the math and science skills to be a successful engineer, but you need to know how to communicate well, both on paper and orally. Let’s start teaching how to read and write properly (like our parents and our grandparents were taught) starting in grade school and continue to do it until you graduate college. Make sure our students continue to take literature courses in college to support the technical papers (and later on technical specifications) that they have to write.