The following article originally appeared in IEEE Spectrum Magazine, and is republished here with permission.
MONDAY, 24 JUNE:
First Day. Chris and I arrived at Granite at the same time. The front door entrance to Granite has no windows, just a phone on the table beside the door so you can call someone internally to let you in. The only sign is a small one printed on 8.5-by-11 paper by the card reader: Granite Systems Inc. Neither of us had our bosses' numbers memorized, so we used the phone's automated directory to call in. The automated directory wasn't finding (Matt) Zelesko, so I asked Chris's boss to let me in. I found Matt in the lab area with another man, who was sitting in front of a computer. Matt welcomed me cheerfully.
He showed me to my office, which was empty except for two tables and three
computer boxes. He said that I should set up my own PC and install the Linux
operating system and then go to the HR [Human Resources] woman and get my key
card and tax forms, and so on. I pushed the two tables together against one
wall because Matt said I would probably have an office mate and four desks
could fit in there.
I got the CPU [central processing unit] out of the box okay, but I was having trouble with the monitor because it was too heavy. I sit right across from the kitchen (which is loaded with free Diet Coke--yay!) and I saw a woman go into it to get water. I asked her for help and then realized she looked familiar--I had seen her in the showers in CroMem (my summer housing at Stanford) earlier that morning. We introduced ourselves. She's another software summer intern from Stanford (I am doing software, Chris is hardware) named Debbie. She has another quarter or two of her master's left. She is also an EE and laughed about how the software side was getting infiltrated with EEs!
After I set up my computer, I went back to the lab where Matt was and there were three men with him. One of them said, "You must be Stephanie" and shook my hand--he was very friendly. I didn't know who he was, but I didn't ask because he seemed to know who I was. The other two guys didn't say anything, but Matt was saying, "I don't think we can fit six desks in there."
We all went to my office together and on the way Matt introduced me to the other two guys. One was the third software intern, a high school student named Vladimir. The other was Hugh, a Ph.D. student at Stanford finishing up his thesis and consulting at Granite. David Cheriton, the co-founder of Granite with Andy, is his thesis advisor. David is a professor in the CS [computer science] department at Stanford and he took a leave of absence to start Granite--bringing with him most of his group.
The man who shook my hand was David Cheriton, I learned just from hearing other people talk.
So Vladimir and Hugh were both put into my office. I helped them move tables and they only got one each.
I wasn't that familiar with the Linux installation, even though I had used it before. Luckily, Vladimir is a big hacker and knew everything there was to know about it. There was only one set of installation disks so he helped me install mine first.
By noon I was set up with e-mail and a phone and I was perusing the Granite internal Web, reading the software meeting minutes for the past year. I saw when I was interviewed in the minutes and then I saw a statement that they hired me, but I didn't see any commentary on me:) I saw they put a lot of work into thinking up good summer projects over a couple of weeks and then figuring out which interns might be interested. The project that looked like it fit with my experience was one that involved adding performance metrics to the switch operating system.
MONDAY, 12 AUGUST:
This morning we have an interview candidate arriving from the East Coast. He has worked on IP multicast with Steve Deering, a researcher at Xerox Parc, and we have been trying to get him to visit for awhile. Although people seem excited to have him here, it isn't exactly clear what position they want him to fill.
Working in the lab now. People keep coming through. They always show the interviewees the prototype I sit by. A new guy started today--John McCool (great name, eh?). One of the hardware guys I don't know was showing John around, introducing him to people. He didn't introduce him to me because I don't think he knew my name, but I kept seeing John around. Granite is getting big.
Later I saw Andy with a bunch of people outside his office. He stopped me and said he thought a meeting was a great idea (Note: I had asked Andy earlier if he would meet with Chris and me to talk more about the business aspects of running Granite), and was 5:30 okay? I told him Chris and I had class at 6 p.m., so he said 5 p.m.
At 5 we met. Andy was running around getting binders of transparencies from different people. He was very excited to talk to us and said we should have done this before. He would start talking about the business model and then go off on a tangent and never return to the same subject. He was getting everyone's transparencies all out of order and throwing them around the table as he looked for the right thing. He was aware of when we had to stop and kept checking his watch, but Chris and I encouraged him to just keep talking.
TUESDAY, 3 SEPTEMBER:
Got into work at about 8:25 a.m. Saw a lot of people in the conference room (a few Granite people but some unrecognizable people). They asked us all to be in by 8:30 today for a big meeting. The bigmeeting was with Cisco Systems--we have been acquired!!!!! John Chambers (president of Cisco) was there as well as the VP of Human Resources and the head of the Workgroup Business unit, where we will be moving to in Cisco.
Meeting happens.
After the meeting, I couldn't get a phone line out. Everyone in Granite is on the phone.
THURSDAY, 12 SEPTEMBER:
It wasn't until about 7 p.m. that I finished all the coding of the test library and I felt pretty good about it. But when I tried to debug it, I kept getting segmentation faults and I was having a hard time narrowing down what was causing it because I have all these layers of abstraction (C, C++, and Perl) in my program. I took a break for dinner and came back at about 8:30.
I finally made a very simple test case and started stepping through the code line by line, which was hard because it kept falling back into the Perl interpreter, which made me look at a lot of code I didn't want to. I finally found out where my program was crashing and it just had to do with memory mishandling between Perl and C code. I started making incrementally more complicated test cases to make sure that it was working.
By this time, it was pretty late and I still hadn't gotten very far on the documentation, which I wanted JoBeth [manager of quality assurance] and Matt to read on Friday.
To make a long story short, I didn't leave Granite at all (an all-nighter!) because I just kept documenting, and as I was documenting, I thought of more things that I needed to write about and I didn't want to miss anything because I knew new Quality Assurance people would be reading this while I was away. I also tried to pick two good test packages to document.
(c) Copyright 1997, The Institute of Electrical and Electronics Engineers, Inc.