‘Tis mid-autumn, when a young person’s heart turns to thoughts of… well, midterms and papers and suchlike crap, apparently. The grading thereof (as many of the people to whom I link are writing now)… and also the taking thereof.
I recall Alex Mallet had a hard time a while back with a midterm. Mine yesterday… an utterly different experience.
[Type type type. Redact redact redact.]
I have never ever been put in a situation where I want to make an appointment to meet with the instructor, sit down, and start off, “I have to tell you that I’m very concerned about your performance in this class….”
But I am. Really. This is a provisional class, taught by a young tenure-track faculty member. We are so far off the playing card here… [well, looks like I'm going to redact that one too].
The worst I can get is a bad grade, some amusing anecdotes, and a half-dozen useful negative examples I can use next time I’m training instructors.
I really, really like this guy. And so, at this eleventh hour, I hereby commit to do my best to help. I will be happy to set aside whatever time it takes to work with him to rewrite the syllabus so it can get back on topic, introduce some kind of thesis to the material he’s trying to present, really bring those pedagogic points home with some killer examples, and generally squash and eliminate the reams of obfuscatory chaff that’s crept in.
Cause I sat in that exam thinking, What in God’s name is this testing?! Writing untested, slapdash, hurried code under pressure? With no theory, no reason, no background, no point? Syntax and object models?!
There. Now I’m in a state. I will unredact a little bit:
There is no excusable situation in which you should be writing code as if it were written for an exam. None. I would fire the HR person who considered using an exam like this, even when trying to place somebody for the meanest little code monkey job. The whole point of professional software development is to make it so that set of conditions never, ever arises: As a developer you should be unhurried, thoughtful, cunning, delighted, engaged, well-armed, always writing tests, always collaborating, and incessantly talking with your customer about their needs.
Every step away from those is a sin, because it takes value away from your customer. So, in a nutshell: we were just tested on our ability to sin. Along many axes at once.
Worse, some of my classmates will end up being managers. They will have had one experience writing code, and if this is all they’ve seen I’m worried they’ll come to expect the same performance and behavior from their own development teams. At best they’ll think, “Oh, I already know how to run Excel.”
They are being trained to become the Pointy-Haired Bosses of tomorrow.
The going rate at the Community College for what we’ve going to do—in the whole semester-long class as it is playing out now—is about $372. Plus gas money.