Last update: Jan.2005
I really love my work. As I write in 2005, I've had 3 years off from my career, and writing about it here, reflecting on it and reliving the passion I have for it was a truly refreshing and fun exercise. It makes me really look forward to getting back to it when the time is right.
2013 update: Many things have happened since 2005, both personally and career-wise. This history page is so outdated that I have to keep it in place for nostalgia. However, I'll add a few updates: in 2006, baby #3 arrived. In 2010, I returned to work full-time, again as a network engineer. In 2011, I changed companies after 14 years, to a reseller in the "IT" world, fell in love with 802.11n wireless, and unwittingly moved into the "security" space. A drastically different but fantastic working environment, totally dynamic (to a fault), but with countless opportunities to learn and succeed.
This career-bio is years out of date, but here's what it looked like in 2005.
"What the heck is Cognitive Science?"
CogSci majors at the University of Rochester had T-shirts with this question printed on them. In 1985, Cognitive Science was a new cross-departmental major combining Psychology, Philosophy and Computer Science. The "science of thinking," the basis for artificial intelligence, linguistics, robotics and various other cross-disciplines. In truth, to this semi-motivated senior, it was a handy way to sound sort of computer science-y without taking all that icky math ("Who'll ever need this in the Real World?"), while boosting my major GPA with easy psychology classes. Classic teenage reasoning. Later, I developed a deep appreciation for what I'd skipped, and paid dearly to make up for it.
Luckily for me, I got a job in the Computer Science department and had special access to computers, networks (including ARPANet) and graduate students. (This is where Rick Floyd introduced me to USENET, describing it as "a colossal waste of time.") Though some told me I'd never get a computer science job with a Cognitive Science degree, the extra exposure and learning I got on that job made me confident I would.
Software Engineer
My first job in 1986 was as a software engineer at Moscom Corporation in Pittsford, NY (East Rochester). This small company developed call accounting software, and I started out maintaining a DOS application. Later, I moved "up" to the Unix version, running on an AT&T 3B2 (if that doesn't date me, I don't know what does). I had an excellent mentor in Matt Curtis, and a fabulous first boss in Mike Thorpe, and learned a great deal about C and shell programming and software releases.
But I had a higher calling: Silicon Valley! In 1988, and the world for young programmers was limited in upstate NY. I arranged a series of interviews using job postings on USENET (in its useful pre-spam days), then packed up my car and drove to California.
Despite warnings of a bleak job market, I started my first day of work at Network Equipment Technologies (Redwood City, CA) just 3 weeks after arriving in California. Though I'd really wanted to work at the ultra-cool Sun Microsystems, and did receive an offer from Sun, the N.E.T. job looked like more fun (and paid more, the princely sum of $38K a year).
At N.E.T., I worked on network management software that ran on Suns, and used proprietary network management protocols (later replaced by SNMP) that talked to embedded tasks on NET's T1 nodes. It was at N.E.T. that I began to learn about networks, though the letters "I" and "P" never came up. I had a lot of fun there -- a really good group, a terrific manager in Ken Cheng, and I learned a lot.
N.E.T. had monthly talks, one of which was given by Peter Newman (of N.E.T.'S spinoff Adaptive Technologies) about so-called "fast packet switching." I was riveted. Little did I know I was witnessing the birth of ATM, as described by one of the first representatives of a company in the ATM Forum. Another time, I went to a seminar given by manager Bob O'Hara at AMD, describing their FDDI networks. I was so excited -- what a cool world! I was also taking computer science and math classes after work, so I took these talks very seriously.
My skills as a C, C++, sh and Makefile hacker were nicely honed by now, but something was missing. I remembered Mike Thorpe, my first boss, and his sharp ability to break down a problem. I saw coworkers like Ed Green whose academic pedigree wasn't much, but who had tremendous talent (and who never read more than the first 3 lines of email -- an important lesson!). I fell so far short of them. I could write nice neat easy-to-maintain, modular programs, but was I writing them efficiently? I had no depth in problem-solving, no basic understanding of algorithms -- conceptual stuff that comes only with great talent (not me) or a lot of training and work (could be me). I started to understand what I'd missed when I'd so cleverly avoided those math classes as an undergraduate. I couldn't wait to get back to school full-time.
Graduate Student
Somehow I squeaked into UCLA, in large part from the generous and kind recommendation from Ron Loui, a TA of several of my college CS classes (and later, dance partner and now longtime friend), and started their graduate computer science program full-time in September 1990. Having already been in the "real world" for 5 years, I was very focused. No frat parties for me. I had limited finances and I was there to study.
I was not there to learn technology -- I could get that at work. I focused on theoretical classes, the fundamentals, the algorithms -- my nemesis and weakest point, and sorely struggled. I drank up as much as I could from every class and attended TA office hours regularly even if I didn't have a specific question. I loved all the talks and seminars, the hallway conversations, collaboration with other students, the complete immersion in the science computers opened up, even though at the same time so much of it eluded me. I gained a reputation for being very determined and hard-working, despite the dearth of talent.
Also, I was in school full-time, without a job. Dollars drained out of my savings like sand from an hourglass whether or not I worked hard, and when they ran out, that was it. No messing around or I'd be broke! Fortunately, a really interesting summer contract at N.E.T. (where I got to work on the embedded code on the T1 nodes), and a grant for women in engineering (which I uncomfortably accepted out of practicality over principle, as I've never felt I deserved money just for being female) helped pad my finances during the summer between my 2 years at UCLA.
To me, my degree is far, far more than "just a piece of paper" -- it represents the most difficult, concentrated and successful learning I've done in my life. I came out understanding the world of academic research and its language, complete humility, the nerve and confidence to ask "dumb" questions, and with my main goal accomplished: a much more structured approach to problem-solving. I'd never felt sharper. Not everyone needs rigorous training for clear thinking; I did.
I finished my Master's Degree in Computer Science in July 1992, a accomplishment I knew I'd always be proud of. And I was right that the learning would be with me every day.
Network Engineer
After UCLA, I took a short trip to Europe, then moved back to Silicon Valley. There I took a software engineering job at Synoptics, working on C++ programs that ran Synoptics' ATM nodes from a central Unix server. This job proved to be a mistake -- I'd really wanted to move on from software engineering, but after 2 years of struggle to keep my head above water in grad school, I welcomed something familiar. But I wished all along that I'd accepted another job at NASA/Ames, and after an unhappy year, I went back to the managers at NASA/Ames and told them how much I wanted to work there after all. I attended talks, kept in touch with the hiring managers and persisted during a hiring freeze.
NASA/Ames
In 1994, I was hired into a staffing contract at NASA Advanced Supercomputing (NAS) Division (then known as the "Numerical Aerodynamic Simulation (NAS) Center," in Moffett Field, CA). This job was like a fairyland playground. I absolutely loved it. It was something between academia and the "real" world -- we had to produce, but our mission was to provide ultra-high-speed networks to connect the supercomputers (3 Crays!) and mass storage systems that supported the scientists' work. There I learned about local-area ATM, including putting together and testing a high-speed ATM LAN in a cluster of SGI servers. I helped set up a test network for a new company called Ipsilon, which founded the concept of "flow" or "tag" switching. I wrote Perl scripts that ran tests between any arbitrary pair of hosts across our remarkable assorment of high-speed LANs (Ethernet, FDDI, HIPPI, ATM) and printed the results in HTML (also a relatively new cool thing). I read papers and books, prepared presentations, attended conferences, and had endless technical discussions with coworkers and bosses. It was so cool.
The only cloud in the sky was that a group reorganization put me into an operations support group, whose mission of keeping desktop users running distracted from the quasi-research work I loved. It just wasn't what I was there for.
AT&T
Out of the blue, I got a call from an engineer about working a contract at AT&T. "I hear you know ATM and IP," he said. Without a signed contract, and without having met anyone, I took a leave from NASA in 1996 and drove across the country to work on a DoD contract -- in Virginia!
I joined a project to produce an advanced IP/ATM network service for various DoD research and engineering sites throughout the country. This was a very intense job, and I learned a huge amount. It was my introduction to IP routing and wide-area networks, configuring routers and ATM switches, how to test and deploy them, how to design connections, and how to make ATM and IP interact happily. It was my first truly hands-on experience, in which I learned to automate processes, write how-tos so that anyone could do them, and bring things from the lab into the real world.
I worked many, many hours, and learned so much, especially from two really sharp ATM engineers at AT&T (Anjali Joshi and Pete Nicoll), who I'd work with again later at Covad. I ate, drank, slept and breathed ATM and IP, and loved it. How many people know what they want to do in life, and also get to do it? This contract ran longer than I expected, so during that time, I left my NASA job permanently, with regrets.
Covad
When I returned to Silicon Valley in September 1997, I met Sean Welsh, an Operations director for a startup company, at a motorcycle dinner. Sean was all too happy to run into an unemployed ATM engineer (not a lot of them at that time), and I started at Covad Communications in October 1997, as the first employee in the Network Operations department. This was another fantastic learning experience, and for once, thanks to my jobs at NASA and AT&T, I was completely prepared.
(Here's what I had to say about working at Covad in 1998)
At Covad, I helped take their ATM and Frame Relay network from one node to a nationwide network. At first, I did everything: designing and provisioning connections, deploying and integrating new network elements, procuring equipment, supporting our few customers, writing elaborate Excel spreadsheets to track customers and connections. I was on call 24/7 for two years. Gradually all of that was replaced with true robust systems, with departments of network and software engineers working on them, and my role evolved into a liasion between Engineering and Operations. I call that "operationalizing," bridging the gap between the lab and the field, taking what the engineers developed and synthesizing it for the real world (testing, scripting, documenting, training NOC techs). By the time I left, my role had become one of support to the NOC, ironically returning to my roots in software and writing/scripting procedures, tools and utilities.
The real treat was that I got to single-handedly design an entire network from scratch -- how many network engineers get to do that! Covad's management network was (at first) a separate network from the core service network, for which I designed the routing architecture, the IP addressing, procured the equipment, spec'd cables for console connections, wrote all the deployment documents, and all the supporting scripts to configure the routers, including a nifty automatic self-configuration method. Every time a new central office was added to Covad's network, a new piece of the management net was added without any engineer intervention. This network ran itself itself with so little maintenance that it was years before the Engineering department assumed oversight of it. (I was dismayed to find out after I left that all links to its documentation had been lost and it was perceived as being a hacked-up undocumented mess, though that was a testament to how fuss-free it ran.)
Though I got to do a tremendous amount of engineering, being in Operations was a new and extremely valuable experience. In Operations, I lived the practical side of building and supporting a wide-area network, and experienced first-hand problems in scaling on many levels -- from technical network issues (e.g. node number limits) to day-to-day practical ones (just who DO you call when a circuit goes down in St. Louis?). This was a fabulous experience, especially with the perspective of having done so much lab engineering before.
In my 4+ years at Covad, the company went from a fledgling startup with a handful of customers, to a major nationwide DSL provider and ISP, with numerous departments and procedures in place. I was also there for Covad's fall from grace: bankruptcy, layoffs, delisting, shutting down some of the network; and later its emergence from bankruptcy and survival of the tech bust of the early 00's. My greatest contribution was in my first year, when every step everyone did was instrumental to the future of the company, but I got so much out of seeing it really mature. It was an amazing experience.
Leave
My last meeting at Covad was in January 2002, the day before my first son was born. After a long maternity leave, I decided to leave the working world for a while -- not because I didn't love it, but because I had another new fascinating project that I wanted to throw myself into (who is now 3 years old at this writing, and has a baby brother too). I returned to Covad briefly in the Network Engineering department for a 2-month contract in November 2002, but while I loved doing the work again, juggling work with non-work life was too difficult at the time (partly because my 9-month-old did horribly in daycare). Part-time would be ideal, and thankfully both my boys are used to a terrific family daycare.
So what's next? I really love my career, and am truly looking forward to getting back to it when I can put enough concentration into it for it to be as fulfilling and fun as it always has been. Still, I have an inevitable, and perhaps unfortunate, calling as a writer -- unfortunate especially since I don't know yet what I'd write about or who for. Perhaps in a new capacity as a technical writer, if I can keep my burning desire to engineer at bay (as an engineer, I really fine-tuned my work by writing it up -- will I be able to do that -- or not do that -- with someone else's work?). The programmer in me beckons strongly as well -- not surprising, since writing and programming often have a lot in common, and as a network engineer one of my greatest strengths was the ability and willingness to hack (scripts, Excel, HTML, whatever was necessary).
The only thing I do know is that I will be so excited and happy to get back to it when I do.
Other random thoughts:
(Note: develop comments on working skills: thoroughness, resourcefulness, completeness, delivery, clear communication (email: to-the-point content, descriptive subject lines), weekly bullet status, accurate time estimation, determination, get-the-job-done outlook, etc.)When I finished at UCLA, I was nicely boned up on graph theory, queueing theory, and network modelling -- not your usual resume buzzwords -- but I couldn't have configured a network interface to save my life. That didn't matter -- learning the technology came quickly, and it will again.
Similarly now, my time out of the workforce means that, for instance, VoIP has passed me by. But while I know that programming languages and network protocols aren't merely translations of each other, I also know that core understanding of different types of languages and protocols prepares you to learn new ones. I consider my dinosaur status one of my best assets! Provided that dinosaur is fast on its feet that is.