"Why Aren't You A Programmer?"​
Crude Closed and Open Door by the author

"Why Aren't You A Programmer?"

Because I have written a lot of scripts and small programs that answered the needs of my colleagues and teams, I often get asked this question and I thought I would tell a part of the story.

. . .

When I was a senior in college studying computer science and math, I took a programming language class that changed my life.

For the final programming exercise in the class, the task was to write an encryption program.

The assignment outlined a simple substitution code similar to a ‘secret decoder ring’ (A=F, B=E, etc…)

The professor was pretty much wrote the program within the assignment and I produced the necessary code and comments in about an hour.

Then I began to think about the actual problem and how the program might be improved…

I changed my program to make the encryption rotating/message-modified, so that the substitution continuously changed as the message was encoded, and yet didn't spoil the decryption.

I included the whole text set in the program, to increase the complexity, instead of just alpha-numeric-s.

-I now had a program that produced a decent level of basic encryption and which invalidated most brute force solutions that I was aware of.

I handed it in with a flourish and waited for the inevitable A.

I got a C...

  • I was also told that, because the program was outside the specification, I was lucky to receive a C.

I went to the department head to talk with him about the issue.

I hoped to receive a little sympathy and maybe a review of the grade.

First, he was already aware of the issue and had seen the program, which didn't bode well.

Second, he commended me on my initiative and said the program was superb.

Third, he told me that he had learned to test my programs before he graded them, because they worked even when he was sure they wouldn’t.

Finally, the bad news: He told me that, although the program far exceeded the specification, I was asked to produce a simple tool and I created something very different and that the grade would stand.

Given that I rarely applied myself to anything besides computer science and math classes, I was in academic trouble.

  • After the end of the semester, I enlisted in the US Navy.

I have come to understand and sympathize with the department head, and am grateful for his honesty.

For me, programming was and is about exploring the boundaries of my understanding and stretching myself to find out what can be done and how problems might be solved better and more efficiently.

In the real world, most programming is about writing maintainable code that serves the exact purpose for which it is required.

Joining the Navy was the right thing for me to do and I have never regretted it.

To view or add a comment, sign in

More articles by Dennis Garber

Explore content categories