Don’t Be The Mad Bomber

Jade Meskill
Programming Philosophy
4 min readApr 2, 2018
“Two men working back-to-back outside with a brick wall background” by rawpixel.com on Unsplash

From “The Psychology of Computer Programming” by Gerald M. Weinberg

Jerry tells a great story about the perils of personality and how two different programmers were affecting the entire department:

Personality, being the totality of factors contributing to our individuality, is displayed in everything we do or say. In particular, it is reflected in our programs, and, even more particularly, in how those programs look to the machine operators. The chief systems programmer, who, by the nature of his duties, was in face-to-face contact with both programmers and operators, had observed that the operators often had disparaging comments to make about certain programmers.



His most interesting findings, however, had to do with the personalities of two of the programmers. Of the seventy or so programmers using this machine, these two stood out in the comments of all the operators. Even operators who worked on different shifts and therefore had no opportunity to discuss such matters agreed that these two programmers were worse than any of the others. Upon further investigation, the chief systems programmer found that these opinions had been formed largely on the basis of the abnormal terminations — dumps and “bomb-outs” of the entire system. Such abnormal terminations were extremely rare events — except for the work of these two individuals — and they were also most annoying to the operators.



The first one, he discovered, was an engineer who had no programming training whatsoever. His engineering group was highly dependent on the results from a single program. This program had been left in charge of the engineer when the original programmer had left. Not knowing anything about programming — and being too shy to ask for help — he ran the program on a trial-and-error basis, changing now one card, then another, until he got the results he wanted. In the process, he was giving the operators fits, though he was, quite naturally, unaware of any disturbance.

The second programmer — the worst offender of the two, and affectionately known among the operators as “the mad bomber” — turned out to be a rather different case. Not only did he have programming experience — he had fifteen years of it. In that decade and a half, he had — according to him — programmed eleven different machines in fourteen different languages. Moreover, he was — again according to him — -an expert in all of them. Small wonder his programs bombed the system: they were far too abstruse to be understood by mere operators or to be handled by some operating system which he himself had not written.

The number of times this expert’s programs bombed the system had evidently been magnified by a factor of three or more by the simple expedient of resubmitting the offending decks without change. According to him, the probability was so small that his programs could be wrong that it wasn’t worth his precious time to look at them until they had been rejected three times in a row. At that point he would stomp into some other programmer’s office and demand to know why the system was not working properly.

Even after his errors had been patiently pointed out to him, the bombing was not finished. In one example found by the systems programmer, the bomber had made an error in job control in the first step of a three-step job. After having been shown the error and how to correct it, he resubmitted the job only to have it bomb the system once again. Back it went for another bombing, and another, after which he had the same error pointed out in the second step of the job! And even that was not enough. The whole cycle was repeated for the third step, which — as we might have guessed — contained precisely the same error.

Both of these cases are archetypical examples of how personality affects programming performance, although the personalities in the two cases are as different as a mouse and a lion. The engineer’s bombing problems were solved by sending him to a programming course — giving him the aid he was too shy to request for himself. For the “expert,” however, education was no solution, inasmuch as he held an absolute faith that he knew everything about programming — or at least everything worth knowing — he could not be convinced to attend a course or even to listen to the advice and counsel of anyone else. Eventually, his problem was “solved” by permitting him to take his services elsewhere, and, for all we know, the “mad bomber” still lives today.

Originally published at tinyletter.com.

--

--

Jade Meskill
Programming Philosophy

Boring Human. Making Music. Creating Code. Making a mess of things… Magic Leaper, Co-founder of Gangplank