Pictured below: In my office at Bell Labs, May, 2001. Yes, that's a Utilikilt. And an Apple computer. As a Consulting Member of Technical Staff, I could get away with it. Your mileage may vary. Trained professional, closed course, do not attempt.
I graduated from Rose-Hulman Institute of Technology in 1975, as one of the first seven to receive degrees from that institution in a new field called "Computer Science." The economy was so-so, and by midsummer I was beginning to wonder if I was going to end up having a career painting houses. Then I got two job offers. One came from a government think-tank in Washington, DC, where my prospective boss firmly believed that by 1980 he'd develop software that could completely control all air traffic going into and out of O'Hare airport... on two '70s vintage minicomputers. The other was in the Chicago suburbs, writing software for GTE's switching systems. Well, I was more optimistic about software's potential back then than I am now, but still, computerized air traffic control seemed like a fantasy, so I stayed in the Chicago area and began what would turn out to be a twenty-six year career in the telecom industry.
In 1977, after some... er, differences of opinion with my first employer, I went to work at Motorola, part of a group building a system to demonstrate the feasibility of a new, experimental communications technology called the "cellular phone." You may have heard of it. I spent three years in Schaumburg, eventually getting the title of Senior Engineer (despite still being in my early twenties) and the role of architect and lead developer for the multi-microprocessor, message-based, state-model, real-time operating system (note that most of those buzzwords were cutting-edge-new in the late '70s) of the EMX cellular switch. It was a strange and magical time: we often had no idea what we were doing, which was a good thing because it meant we didn't know that what we were trying was "impossible." We used graphical design techniques and wrote in high-level languages, and then painstakingly turned the diagrams into "typewriter graphics" in the program files and hand-compiled the high-level code into assembly instructions for an eight-bit Z-80 microprocessor. We experimented with pair-programming, documentation-driven development (the first thing we wrote for our system was the user manual), and a fair number of other techniques that seemed more than a little ahead of their time. And, when nobody was watching, we borrowed a few cycles on the mainframes to play the first version of "Adventure," ancestor of so many computer games...
As the EMX was settling down, the door opened at Bell Labs. I took a job as a "member of technical staff," figuring to take advantage of the free MS degree they were offering, stay for a couple years, and maybe move to California. Instead, I spent the next twenty-one years working in Naperville, Illinois, where I witnessed the breakup of the Bell System in 1984 and the "trivestiture" that split AT&T into three companies in 1996.
One of the great things about a huge corporation like Bell Labs is that it was easy to change jobs without changing companies. I started by doing performance work for the processor division (the part of the company that would later try--and fail--to produce general-purpose computers), but quickly got tugged into the switching-system orbit when I was assigned to a task force setting a future direction for the still-in-development 5ESS switching system. A casual "of course it's impossible to do this in hardware" comment during a meeting about the proposed shared-memory system led to my getting a patent for a "shared resource locking apparatus." Politics eventually scuttled the switch-evolution proposal, but I got a patent certificate in a nice brass frame. For many years, I used that frame to display pictures of my daughter.
By 1985, after learning a lot about reliability and transaction systems, and getting my Master's from Northwestern, I made the move to the switching division, where I worked in "architecture evolution" for the 5ESS switch. Here, I had one of those once-in-a-career moments when everything comes together: I understood the problem, I understood the capabilities of the technology, I knew about some little-known corners of our product design, and I knew some software techniques that weren't being used in-house. An idea formed, I wrote a little memo proposing a "plug-in processor" to fix a pressing problem with the system's administrative computer... and then, some other smart folks figured out how to "misuse" my little idea to boost the AT&T switch's call capacity far above that of our competition. The company made lots of money, and several years later I received a little bit of it (and a metal sculpture) when I was named a Distinguished Member of Technical Staff.
After another round of switch-evolution task force (again, the proposal died), I moved into system architecture process design, which meant I was working more with people and projects than with the actual technology. During this time, we explored the metaphor implied by the term "system architecture," working with the civil-architecture firm CRSS and such luminaries as Willie Pena and Steve Parshall. This effort spawned both an experiential course in systems architecture and a review process designed to validate systems during their architectural stage. (NOTE: see the sidebar of the article "What Supports the Roof?" for a discussion of the "system architecture" metaphor, and the article "A Blueprint for Success" for a description of the review process. You can find links to both articles on the Software Architecture Articles page.) .
By the turn of the millennium, I'd been named a Consulting Member of Technical Staff and was doing architecture courses and reviews in England, Ireland, Australia, France, the Netherlands, Germany and Brazil. But all good things come to an end. The end of the '90s tech boom hit Lucent pretty hard, and by the middle of June the company was offering an early-retirement package. I was eligible for the package, and when the executives started warning of layoffs, I decided it was time to go. There were other signs: a recurring theme of my career at the Labs had been efforts to get around the limitations of the 5ESS Switch's 3B20D administrative processor, and the 2001 release of the system was going to get rid of that component once and for all. And the "temporary" modular buildings, which went up just before I started in 1980 (with the promise that they'd be torn down within six months) were finally being demolished as the company prepared to shrink. And so, I pulled the ripcord on a parachute that was far from golden, but maybe at least bronze. But a twenty-one year career shouldn't end with just cleaning out your office, so I used my last week of vacation and some of those frequent flyer miles, and with my wife Kim, I spent my last official week on the payroll touring northern California on a pair of rented motorcycles. At 5:00 pm Central Daylight Time on Friday, July 13, 2001, sitting in the "Brain Wash," a combination restaurant, bar and laundromat in San Francisco, with a Guinness in one hand and a big cheeseburger in the other, watching somebody's clothes go 'round in a dryer called "Brenda," I officially ended my telecom career.
At least in terms of going into work every day. But twenty-six years in the business left me with a lot to think about, a lot to try and make sense of. That's why I write articles for software magazines and project management sites. It might even be why I wrote a novel. After all, if preventing the end of the world isn't a project, what is?
