StyleWare, Inc. – November 1987

The president of StyleWare made a formal offer for permanent employment after I spent a summer full-time, and most of the Fall semester part-time.

“The pay’s not much salary, but we will give you a 10% raise after two years. The developers will share royalties for the software sold. You will have a health plan.

“Right now, we have no vacation or holidays. We expect that once you start, you will work until we are done with the first version. We expect that to be finished in June.

“You will be working on the infrastructure of the product, taking that task over from me, as I am finishing the word processor. The others are working on their modules.

“When do you finish school?”

I gave him a date.

“Could you start the following Monday?”

I said, “Sure.”

I think that despite the fact that this was a startup, and it being obvious that long hours were expected, I did pretty well for somebody who almost failed out of college, in the Oil-Glut economy of mid-80’s Houston, and who took forever to graduate.

Besides, there was still time for something else to come along…

Gulf Coast Oilfield Equipment – Fall 1987

Spring of 1987 was my most successful semester at Rice; I did well in all of my courses, including Algorithms and my retake of Introduction to Computer Architecture. That summer, I worked at StyleWare, writing a little Calendar desk accessory (kind of like an modern app), which was training for programming on the Apple IIGS and its operating system, GS/OS. I had one semester left to finish school, and that semester eventually went very well. I even got a “B” in Guido Contini’s Numerical Analysis course!

I was working part-time at StyleWare during that semester while I finished up, but was still open to other opportunities, so I went to the Rice Placement Office again, and prepared for that grueling routine. Except that the management of the Placement Office had changed. Ms. Overbearing was gone, replaced by Ms. Corporate. No longer did students line up and sign up for interview on a first-come, first-serve basis. No, instead, the student submitted their resume to the department’s pile. The resume was then put in binders. A prospective employer would then browse the binder, and pick out interesting resumes. The Placement Office would then contact those students, and setup the interview.

I did have a 3.0+ semester under my belt now, and I had real programming experience in my summer and present job, so the resume looked much better than the previous year. It wasn’t enough. I got no interviews through the Placement Office in Fall of 1987.

Was resigned to StyleWare. It had its good points, but I hated working in assembly language, particularly 65C816 assembly language. It was clear, also, that StyleWare was a startup and expected the engineers to work all hours and take no vacations until the next big product shipped, projected to happen in the Spring of 1988. So I was still open to possibilities.

I was a member of a board and table-top role playing group at Rice (War And Role-Playing club, or WARP), and I became very good at a game called Star Fleet Battles. We had a hard-core group of SFB players in Houston, and we were official playtesters.

One Friday night, I was playing SFB with one of my friends when I mentioned the fact that I wasn’t getting any nibbles from the Placement Office. He told me he knew somebody who was looking for a software engineer, and asked for my phone number.

Monday moring, a nice lady from Gulf Coast Oilfield Equipment (not the real name; I don’t remember what their name was) called me, and asked me to fax her my resume. I did so. On Wednesday, a man from Gulf Coast called me. We talked about what he was looking for, and asked me some rudimentary C datatype questions, and asked if I was interested in coming out to Sugar Land for an interview. I said “Yes,” of course.

A few days later, I drove out there. I talked to three people. The hiring manager himself was maybe four years older than me. He talked to me for about 2 hours, and we talked about general things (no whiteboard interviews, no code reviews, none of that. Different times…) The position was writing embedded software for computer-controlled oil equipment for pipelines, refineries, tankers, and floating rigs (I was remined about my discussion I had had about embedded software when I interviewed for National Instruments). The manager really liked my assembly language work at StyleWare. I thought the interview went well.

A few days later, the original guy, the manager’s boss, called me back, and told me that they had hired somebody else, but asked if they could keep my resume on file. I said “Yes,” of course.

Looking more like StyleWare was going to be permanent come January. Still did not have formal offer, though…

 

StyleWare, Inc. – Summer 1987

During the time between when I withdrew from college in November, 1986 and started again in January, 1987, I worked as the customer support representative at StyleWare. This company sold Apple II software. The founder and one his partners were still undergraduates; the third partner put up what capital he could. They made a go, and had a successful product, called Multiscribe, which was a MacWrite-style clone for the Apple IIc/IIe.

Apple courted StyleWare to write software for it’s biggest and best Apple II, the Apple IIGS. StyleWare hired a couple of my other classmates to work on a drawing program (called TopDraw) during the school year in 1986.

The president of StyleWare, however, had much bigger dreams. He wanted to replace AppleWorks, a text-based package originally written for the much-maligned Apple III that had a word processor, spreadsheet, and a database. StyleWare’s package would have graphical versions of those, plus a graphics module, a page layout/desktop publishing module, and a terminal module for dialup connections.

One of the TopDraw developers approached me while I was working on a lab for my retake of the Worse Course Ever in the History of Academia (or at least at Rice) (It was much better this time around). He plopped down next to me, and said, “You have a job for the summer? How about when you finish?”

I said No to both.

“You want to work at StyleWare? We already have (a long list of names of friends I took classes with). We are going to spend the summer training, writing accessories, and start work on GSWorks in September after the boss writes the base framework.”

“I won’t be finished with school until December,” I reminded him.

“Yeah, I talked to him about that. He said you could work part-time in the fall. If the summer and fall work out, then you could work full-time when you are done.”

“Kind of like an internship? And probation?”

He squirmed. “Probation is such a strong word. But, essentially, yes. The main writers of the various modules are already assigned. You would be working on infrastructure and other tasks the main developers can’t get to.”

“Well, assuming I don’t find another full-time job in December, I would be interested. I am certainly interested in the summer and fall thing.”

He beamed, “Great! Can you show up the first Monday after last day of finals?” He thought about it. “In 8 weeks?”

“Sure.”

Yep. Even with my first professional programming job: It’s all in who you know.

Digital Equipment Corporation – 1987

I got my mail, and there was a letter with the return address of Digital Equiment Corporation, in Nashua, NH. It was a thick envelope, which was different than most of the letters I received from companies I had interviewed with.

Dear Mr. _____,

After your on-campus interview with our representative, we would like to extend to you an invitaion to participate in our onsite interview process, which will take place at our Nashua campus, March __-__, 1987. Please find enclosed our information about how to make travel arrangements…

OMG. I could hardly believe it…

But I wasn’t graduating.

If you have any questions or concerns, please call Ms. Jane Smith at ___-___-____, M-F, 10-5 Eastern time. Looking forward to seeing you in March.

I knew that interview went well!

But I still wasn’t graduating.

The next day, I called Ms. Smith, and talked to her. I said I had received the invitation, but due to illness and other unexpected circumstances, I was going to graduate a semester late. She said, “Well, we may not do this hiring fair next year. Up to you.”

“I’ll guess I’ll have to decline.”


I should have gone. I found out later that if a company wants you, they are often willing to set your hiring date much later, or make other accommodations (like letting me finish my degree in the Boston area), or whatever. At the very least, I should have gone to get interviewing practice.

I also found out later that at least two of my classmates in my Compiler Construction class got offers and went to work there. It was truly a great class.

My life would’ve been much different had I moved to the Nashua/Boston area in 1987. But I did learn some lessons from the entire experience, and at the very least, got a big confidence boost that a company was actually interested in me. I needed that after the depression that set in after I withdrew from school and punted a semester. My spirits were so much better, and as a result, school was easier.

COMP 482 – Algorithms

This should be the last post about college coursework. However, it was the most important course I took as part of my Computer Science degree at Rice.

The first exposure to algorithms and data structures at Rice was in a course called Advanced Programming. (I would have written a post about how awful that course was, but I’ve already written about a course that was much worse). 90% of that course was doing “team programming”, and the rest was an introduction to data structures and algorithms. One of the reasons I did so poorly in that course was the “team programming” was only 60% of the grade.

I had also not done particularly well in COMP 481 Automata and Formal Languages, which is the mentally most challenging course I ever attempted. I took it once from Hans Boehm, who I mentioned in this post, and dropped it. And then I took it from the late Michael Perlman, and almost failed.

I did much better in the hands-on-keyboard, programming work, than I did in the theory work.

Algorithms is a theory course. An algorithm is a way to solve a problem. They have all kinds of characteristics, and many ways to measure them. A good use of an algorithm can mean the difference between a website handling lots of traffic, or crashing.

I took this course from Dr. Robert Hood. He was great. Friendly, approachable, and understandable. As was typical, I got behind almost immediately, and struggled with the work the first 3 or 4 weeks.

The fourth week, one of our homework problems was a problem called The Stable Marriage Problem. We had to come up with an algorithm to come up with solutions for the problem. (And we did not yet have the Internet to help us.)

I sat in my apartment with TV dinners, lots of Dr. Pepper, and a radio, and spent 2.5 days doing nothing but work on this problem. But I finally had an “aha” moment. I figured out a solution in my mind Sunday around lunch, and spent the rest of the day writing it down and refining it.

When I got to school on Monday, I started talking with some friends. We decided to form a study group. It may seem obvious, but I had not really been part of a study group before, except for the one that formed around a woman I dated when I took Differential Equations.

I really started digging the course. I thoroughly enjoyed the material, and the three of us in our study group kicked butt and took no prisoners.

This should have been my last semester, but I had to withdraw from school the previous semester, so I had one more semester left. However, a lot of my friends were graduating. Rice had a thing whereby graduating senior finals had to be completed a week earlier than the rest of the finals so that final grades could be calculated and diplomas printed. The final for 482 was on the last day of senior finals, and it was my last final, and all of my friends were partying afterwards. I was really motivated to finish the final and get out of there.

I started the final, and breezed through the first 9 questions. 10 and 11 had some meat to them, and some proofs, so they took me a few minutes each. At 1:00 into the 3 hour final, I had one problem left.

Some poor woman turned hers in around this time. She looked like she was about to break down and sob; she evidently had not done well.

I looked at the last problem, and it was a classic “prove this problem is really really hard when there are lots of inputs” problem. The thing is, if you can prove that one of those can be transformed to a different one that you know is already “hard”, you are done. There was a note on the white board though:

“On problem #12, I am willing to give you a hint for a 5 point penalty on the grade for the test.”

I looked outside. It was a beautiful day. I knew that the parties were already starting. I could hear the music blaring out of Radio Free Sid (a high-rise dorm on campus) through the walls. I was done.

I walked up to Dr. Hood, and whispered, “I would like the hint, please?” He looked startled, and said, “Really? Are you sure?” I said, “Please.”

The hint was what known problem to transform it to. That made it easy; about 10 minutes later I turned in the test, and left to party with my friends. The 3-hour final had taken about 1:20.


I went by Dr. Hood’s office a couple of weeks later to pick up the test. I got an 88 out of 100, after the penalty was accessed. Dr. Hood asked me, “So, what on Earth made you ask for the hint? Without the penalty, you made one of the highest five scores on this test out of the entire class. Even with it, you are in the top 10…”

I said, “Dr. Hood, I was done. I was supposed to graduate this semester, and I am somewhat burned out. I wanted out of there, and I figured I had done well enough to absorb the penalty in return for freedom.”

He laughed. He the put his elbows on his desk, put his hands together in a triangle, and said, “So, what are you going to do when you are finished with your bachelor’s?”

“Oh, I’m going into industry.”

“Have you thought about grad school?” He looked thoughtful, and he looked at me like he was appraising me for something.

“You’ve seen my grades. I don’t think anybody would take me.”

He put his hands down, and said, earnestly, “I would take you. You could get your Ph. D. at Rice.”

I was speechless, and almost ready to cry. He continued.

“You showed me what you are able to do this this semester. You started slow, but came on very strong. And, as I said, you made one of the best grades on the final. And I talked with Hans about you; he said you had grown up between the two courses you took from him. We think you could do well. You would have to do well on the GRE. You would have to retake all of the computer science courses you made D’s in. So it would take you a little longer.”

I sat up straighter and looked him in the eye. “Thank you so much for the invitation. This is the nicest thing anybody has said to me about my career here at Rice. I am honored.

“That being said, I have one more semester for my degree. It will be my 11th semester. Spending 3-5 more years at school I think would make me absolutely crazy. And I am hoping to get out of Houston. So I think I am going to have to decline. But, thank you so much.”

“Well, if you change your mind, give me a call.”


He’s not a professor anymore, so I can’t play that card now. Still, it was very nice.

Oh, and as for Algorithms, it is the cornerstone of Computer Science. It is also the basis of all modern interview processes at most big companies, like Amazon, Google, or Facebook. Anybody wanting a good programming position should know this material cold. I am thankful every day at work that I took this course and did well in it.