Another Random Defense Contractor, 1986

“So, tell me about the Unix process model. What happens when a process forks itself?”


I guess I was forked.


About the Rice Placement Office, 1986

Before I tell the stories of interviewing in college, I need to outline how things worked in Fall of 1986. This was the first semester of my “senior” year; supposedly the next-to-last semester of my bachelor’s degree.

The Rice University Placement Office is now called the Rice University Center for Career Development. From its website:

The Center for Career Development (CCD) offers programs, services and resources to guide you in pursuing your career goals. We equip you with the skills and confidence needed to discover your interests and navigate your career journey from college to graduation, and throughout your life.

Am I the only one bothered by the lack of an Oxford comma there?

The mission on the current website looks roughly like the mission on the printed handouts we got in the Time Before the World Wide Web.

At that time, the office was in the Rice Memorial Center, on the second floor. The way it worked:

  • A company would call Rice and set up a day for interviews, usually 6-10 slots.
  • The placement office would post a sign-up sheet for all companies that were interviewing that week Monday mornings at 8:00 AM.
  • The student would then sign up for interviews on the sign-up sheets on a first-come, first-served basis.

There were some other rules, such as not signing up for the same company more than once in an academic year, not signing up for more than 2 or 3 interviews in a week, etc. You also had to have your resume approved by the Placement Office and on file, I guess in case some company wanted more candidates.

So, think about this from the student’s perspective, particularly very popular majors. At the time, there were over 100 computer science majors. Most of my CS classes were between 75 and 150 students. And there were always companies coming in, but the numbers weren’t that large, and they could only talk to 8-10 people, because of the way it was set up. So, as a student, you were in fierce competition with dozens of other students, some of them grad students.

The lines for the placement office started outside the Rice Memorial Center before it opened for the day somewhere around 6, and then moved to the hallway outside the office. Often, there were 30-40 students already lined up at 6. And a good half of those were CS students.

You were lucky to get to put your name on any of the sign-up sheets.

And if you broke any of the rules, or if you were just a little brusque in your interactions with the Placement Office staff, or any of the interviewers complained, you would be banned from the Placement Office “for life”. If you showed up for an interview, and you were not in a suit/dress, and your hair was not combed, etc., you would be told that you could not interview. The person running the office was authoritarian and ruthless.

However, it did mean that if you had a weak resume, and/or questionable grades, you could still get interviewed. That would be me, so I did not complain at all about having to get up and ride my bike to school while it was still dark on Monday mornings to camp out to sign-up for interviews.

The next few posts will be about interviews I got through the Placement Office.


Rice University Department of Electrical Engineering, 1985

The ad on the bulletin board was a typical ad for positions at this time, something like:

“The Department of Electrical Engineering is looking for lab assistants for the course COMP/ELEC 320, Introduction to Computer Architecture. Candidates should have a thorough knowledge of the material. They will be helping students, and grading homework and computer labs. Please call this number and leave a message if you are interested.”

So I did, and once again, they called me back with the meeting to parcel out the work with other labbies.

I got the job. Hurray!

That is how I got a job as a labbie for a course I made a D- in.


Oh, yes, there’s a story, all right. I’ll try to keep it short… (yeah, right). This is the story of

The Worst Course Ever Taught in the History of Academics

or, at least at Rice.

To start, it’s useful to understand a couple of things.

  1. This course was a shared course between Electrical Engineering and Computer Science.
  2. The Computer Science Department was less than one year old.
  3. When I took the course, EE was responsible for it.

There were a lot of computer science majors in the 80s, and somewhere around 150 of us signed up for this course.

The instructor, let’s call him Mr. Big, was not from the United States, and expressed in class that American students were too coddled. He lectured from his own notes. There was no book. There were no copies of the notes available. He assured us that the computer programming part of the course would be somewhere around 65% of the grade, with written homework, the midterm, and the final making up the rest.

He then proceeded to lecture on the written part of the course. The theory behind how computers are built and work. How assembly language works. How programs are loaded and executed.

Meanwhile, we had three big labs that were going to be assigned for that 65% of the grade, just as soon as the minicomputer that was assigned to the class was up and running. Nobody had PCs; this was normal.

What was not normal is that the Computer Science department had all of the good machines; the EE Department was stuck with a 10 year old PDP 11-44 (named phobos, which is the Greek God of Fear). One of my friends was the systems administrator for the course. He spent every waking hour trying to get this beast to boot, much less work.

It dragged on and on. We had maybe two homework assignments, and then the midterm hit. We had three hours to do it, but there were coding assignments on the test that had to be completed by hand, and there was much more than 3 hours of work. Plus, this was the first place we had done any assembly language at all. Nothing in the homework. And no machine. The grades were a disaster, and at least half of the class dropped the course after that.

The machine still wasn’t ready at the drop deadline. I was already dropping a course, and dropping this one would have put me below 12 hours, which would have caused major problems. I chose the wrong course to drop.

The machine was finally ready to go two weeks after drop deadline, which meant we had four weeks to do 3 major computer projects. The first lab took maybe 45 minutes to do, so that was no problem. It was the second lab that was a dumpster fire.

The terminal room for this computer had 8-10 terminals, but only six worked. The printer only worked sporadically. And the lab was instantly full.

The CS department in other courses had terminal sign-up sheets. You signed up in 3 hour blocks; you could only sign up for six hours/day and 15 hours/week, or something like that. The EE department did not do that. So we created some, signed ourselves up, and left them out. I signed up for time after a big test in another class, eight days later.

Eight days later, I showed up, and somebody had thrown away our original sign-up sheets, and printed their own, and those did not have our (me and my two best friends) names on them. This particular project was due the day before Thanksgiving, and the slots were full until the deadline of when the projects were due.

The only thing we could do is try to fix the broken terminals, and wait for people to leave and vulture the remaining time on their slots. I did this all weekend before Thanksgiving, and got 2-3 hours of time on the computer. Of course, the lab was ridiculously difficult, and there was no help in the lecture notes. The poor labbies had to give us the methodology on how to do it verbally when they were there.

For the technically minded, the gist was: The terminals each had a box with an embedded 68000 processor attached to the computer with a serial cable. It also had a spinning plastic disk with two colors, a motor, and an optical sensor. You had to write a program which would track the interrupts generated by the optical sensor as the little plastic disk spun, as well as the keyboard of the terminal. You had to cue up the events, and do something intelligent with them. He had not talked about interrupts or event-handling in class, so I was lost.

The deadline came, and I was nowhere near done. The night before, my buddies and I staked out all night in the Abercrombie Engineering Building, and we did this while we waited:

1984 Lab Stool Sculpture

The undergraduate circuit lab was near the terminal room, and we discovered 48 stools. We start messing around. The bottom stool that holds the whole thing up was upside down, and then we symmetrically added stools two at a time. We had three left at the end, we each carefully and simultaneously added them. When we got done, you could rotate the entire thing, although you would run up against the benches. Still, the caretaker for the lab took a picture, and put it on the inside cover of the very first Rice Engineer magazine.

Anyway, I worked through Thanksgiving weekend and got the lab almost working, and then accidentally removed all of my source code from the computer. No printouts (no printer). No backups (no network, floppy disks, paper tape, much less USB sticks). I had to do the work again. When school opened again on Monday, I went to Mr. Big’s office, explained what had happened, and he said it was cool, just turn it in. I turned it in another week later, and turned in an incomplete 3rd lab the last day of classes.

When I got the big 2nd lab back, I had 3 points taken off for various little nitpicky things, but 65 points taken off for being late, 5 points/day. I went back to Mr. Big, and he would not change the grade.

So I got a D- in the course.

Turns out, a LOT of people made D- or F in that course. On the last day of the course, there were student evaluations. The room was crammed with almost everybody who had originally signed up for it, furiously scribbling in anger.

The next fall, The Rice Thresher published results of student evaluations. With 150+ people responding, on a scale from 1-5, where 1 is the best, and 5 the worse, the course scored a 4.8 for “Overall Course Effectiveness”. I am still bewildered than anybody gave it a score other than “5”.

I learned the material, though, so I did not have any trouble trying to labbie the thoroughly-overhauled-by-the-totally-embarrased-Computer-Science-department’s version of the course a year later.

I retook the course later, and made a B+, and I know why I did not get an A, and it was OK. Having that B+ instead of a D- in my major GPA was a big reason I actually graduated.

As for Mr. Big, he taught one more course at Rice. He required a $60+ book, which he cowrote, and then only used one chapter out of. It was still a really bad course. He left Rice, and went to work for a well-known, giant Silicon Valley company, and I haven’t heard anything about him since.

Coming up: Much shorter stories about interviews and the like. I promise.