Steve Goldman front and center
Steve Goldman grew up in Pittsburgh, moved with his family to south Florida, went to school at Carnegie Mellon (BS in Electrical Engineering), married his sweetheart Gretchen (BA in Fine Arts, also from CMU) and worked for Motorola doing hardware work. He took a job with Texas Gulf in Raleigh, NC doing software work related to mineral exploration. He lived with Gretchen in neighboring Cary, NC where they had cats instead of kids.
After transferring with Data General from Westboro, MA to the same area of NC I joined a startup called Business Application Systems that spun out of Data General in January of 1978. No sooner had we incorporated than DG sued frivolously and we were in the courts for a year or two before we could start work on a portable operating system product called BASPort. While in litigation we all had to find work of any kind we could to keep afloat. The company immediately became an OEM of Texas Instruments series 990 minicomputers. The terminals for these minicomputers were proprietary and cost a few thousand dollars each. We brainstormed and realized we could write a software driver that would make a much cheaper serial terminal emulate the TI terminal. I wrote the driver and we sold it for $500 a copy. Then we got prospects for customers that wanted to put a group of these cheap terminals and printers in location A while their TI minicomputer was in location B. That called for a statistical multiplexer that presented a set of serial ports on each end of a leased digital phone line, transparently moving the data as if the terminals and printers were directly connected to the minicomputer.
When I had the terminal emulator up and running we hired Steve Goldman and he joined me to take over the terminal emulator while I started on the statmux. We shared that code development and placed several with customers at several thousand dollars a throw.
Steve was getting a masters degree in computer science from UNC/Chapel Hill and over the course of the next few years caught developed both expertise and focus. Steve fell in love with compiler construction and stuck with that from 1980 onwards (28 years total). After the litigation we kept the datacomm plates spinning and turned attention to BASPort. Steve developed compilers that targeted the BASPort virtual machine.
This went on until 1981 when I was offered a job in the startup Network Products writing firmware for standalone and modular datacomm products. But we were on the first floor the the building where Steve was on the third floor and we often had meals together and hung out away from work. So instead of being a few feet away Steve was two floors away for a while. Then in 1984 Steve and I both got jobs at Encore Computer. The two of us worked together as the third generation language development part of the company and we beavered away on Pascal, C, Fortran and C++ compiler development for the company’s symmetric multiprocessor computer systems (see link above for more details).
By the early 90s Encore’s ability to compete selling general purpose computers was fizzling and they were left with a few niche areas like supporting flight simulators. But the company developed smart storage systems that provided IBM mainframe plug compatible storage at extremely competitive prices. Steve worked on the Unix kernel drivers that interacted with storage at at a low level.
In 1997 Sun Microsystems bought Encore to get its storage products. Steve continued kernel work, but this time in Sun’s Unix kernel. This went on for a year before he and I were forced to transfer to the Java Technology Group within the Solaris Software division of Sun. After a very tense few months spent evaluating competing Java virtual machines for management we began development of parts of the Java virtual machine that would become the next generation Java product on Solaris (and eventually on Linux). Steve soon migrated to the compiler group, working on the just in time compiler residing inside the Java VM. There were actually two compilers: one wimpy but fast and one slower but with state of the art optimizations for super efficient code. Steve migrated to the latter.
Over subsequent years Steve rose in the ranks to become one of the most senior and accomplished developers within the Java Engineering organization. He was very well respected. When a friend was interviewing to retain his job at SAP after SAP acquired Sybase where he worked, he was struggling to impress them at first. But the SAP staff interviewing him became excited and animated when the friend mentioned our names. “You worked with Steve Goldman?” they asked for confirmation, visibly awed. After he gave more details the friend was instantly blessed as worth retaining by this simple association. (SAP was a heavy user of Sun Java and had many ties to Sun engineering).
Steve was like Dirty Harry in many situations, dealing with the hardest problems that were otherwise shunned. He fixed one Java customer’s problem that was so intermittent it only surfaced once every few weeks and there were no hints at all about the source of the problem. Steve provided specially instrumented virtual machines month after month that snuck up on the failure and exposed it. This was a problem that was not affecting the other thirty million users of Sun Java: only the one that was coincidentally at a physical location in Raleigh, NC. A N Y other engineer could have been expected to declare the problem impossible to fix, management would look at the financial consequences of blowing the customer off vs spending many thousands of dollars of staff time and that would be that since the customer was not putting big bucks into Sun pockets. But that wasn’t how Steve operated, and the hundred or so hours that bug fix cost was something he simply got done. Finally, the root cause of the problem did not involve his internal compiler: it was an extremely subtle cache management issue involving a corner-corner-corner case that resulted in a stale line.
When we did compiler development at Encore we drove bug counts to zero and kept them there. An unfixed bug was simply intolerable. That attitude stuck with Steve even as the complexity of runtime problems inside Java as it executed an application were many orders of magnitude larger. I can’t stress enough how devilishly complex that software was.
When not working on software Steve built stuff, had challenging hobbies, read a lot and lavished loving attention on the cats. He got part way through building a large reflector telescope and completed an observatory with movable roof to house it. He built an aircraft hanger with almost no help. He repaired his cars for everything short of an engine overhaul. He and Gretchen designed a custom house and he was very involved in its construction. He and Gretchen raised two nieces as if they were their own children from ages 13 and 15 through university years, providing a very stable, loving environment that rescued the two girls and helped them lead happy and productive lives as adults. Steve helped others when they needed help, whenever it was needed. He got a pilot’s license and flew a Grumman Tiger and got well along with building a custom airplane in his hangar. He provided support to Gretchen as she pursued her creation of art and to other family members in their times of need.
In April of 1991 Steve was taking off with his hang glider when a technical problem disconnected the control bar. The glider pitched up, stalled and then fell down a few dozen feet into a concrete runway. He almost died. He spent weeks in a hospital and months in a hospital bed in his house. In October he walked the two miles from his house to our Encore office. He told me his shoe lace and come undone and he couldn’t bend over. I tied it as we cried together.
One year Steve decided he would get a “one” annual review rating. This was the highest rating possible. He walked on water while juggling chain saws. His creative output and engineering work were astonishing. Then he found out that management didn’t actually dispense ones on the basis of merit but via various maneuvers that I don’t want to discuss. Steve didn’t get his one. He broke down and cried as we hugged. He considered trying for a promotion to Distinguished Engineer until he found out the selection process was even more capricious. I had gotten a one rating the year before he tried and that hurt more because my work was pie in the sky stuff (an attempt to fix an archetecture bug in Java), so it was mostly perception with not much substance. But we both knew the score.
At the end of June, 2008 Steve and Gretchen, Katie and Little Gretchen, Steve’s mother, brothers and sisters were all on a cruise off the coast of Alaska. Steve had an aortic aneurysm and died a short time after feeling unwell. He was cremated in Seattle.
So Steve and I worked together for most of 30 years sitting within speaking distance. It’s been 15 years since he left us but my memories of him are still so sharp and close I can regularly ask myself “what would Steve do in this situation?” and see his expressions. He’s in my dreams.