All-nighters, those storied tales of spending all night in the computer lab or the library trying to meet a school deadline, came up in a Facebook conversation the other day. I remember those days myself. Something of a badge of honor – the ability to work all night long. In hindsight it was not always so smart. At least not when trying to meet a school deadline. It showed little more than poor planning in most cases.
Oh for sure there were fun exceptions. I spent more than a few nights one semester staying up all night playing chess with a friend. It did wonders for my game which is no where near as good today as it was then. And then there were the nights we spent in the computer lab trying to create computer art. We could only get access to the computer with the drum plotter (hey it was a long time ago) at night and that thing was slow. So it was all night sometimes or nothing. But for school deadlines? Not such a good idea. I don’t think it is a good idea for professionals either. More on that in a moment.
The women in my college computer courses had a curfew. I said it was a long time ago. All nighters in the computer lab were not something they could do. And yet, they managed to get all their labs done in plenty of time. In fact few of them were even in the lab the night before a project was due. What was up with that? I think the magic is called planning. They, and some of the guys, worked to a plan and didn’t try to cram everything in to one night before the project was due. And those people seemed to get good grades and go on to great careers. Imagine that.
The all-nighter is part of the mythos of the macho programmer able to work long hours to meet impossible deadlines. It turns a lot of people off. Rightly so I think. I remember one person I worked with who was working impossible hours. Day in and day out he was putting in 18 to 20 hour days. I asked him if he had ever heard of the law of diminishing returns. He told me that he didn’t have that problem. Then one day we got to work to find out that he had destroyed the development disk and the most recent backup of the same. We lost a lot of time and our manager finally ordered him to take some time off and rest. It turns out he was human after all.
I concluded some years ago that if developers were working more than a normal work day (roughly defined as 8 hours) on a regular basis that either they or their manager were incompetent. I got some push back on that. People saying that sometimes there are good reasons for crazy deadlines and working long hours. And I agree. What I don’t think is that should be the norm. A competent manager with competent professionals will set reasonable deadlines that can be meet using reasonable working hours. If deadlines can’t be meet in that sort of fashion what has happened? Have the circumstances (specifications perhaps) changed or is the developer not up to the task or did the manager set unreasonable deadlines? Someone messed up.
In the school situation we have either a student who is not up to the task or and instructor who has set a bad deadline. Where a project is being used for the first time an instructor may honestly miscalculate the time required for a reasonable student to complete the task. For a project that has been used before this is less likely. So if the deadline is reasonable hitting a deadline is the student’s responsibility. one of the things we hope a student will learn in school is how to schedule themselves and estimate the effort for various tasks. In most cases a student all-nighter is an example of either a failure to schedule correctly or a failure to estimate the effort a project will take. In either case this is not something we should treat as heroic.
Treating the all-nighter as heroic or as an important rite of passage sends a poor message to others. “Pulling an all-nighter” does not make you a rock star. It means you goofed. Never having to pull an all-nighter does not make you less a student or less a professional. It makes you more a professional and more of a student. The myth of the macho all-nighter is not and should not be a positive image.
Or am I off base here? And if so why?