Margo Ilene Seltzer was born in rural, upstate New York. “I like to describe it as a place with more cows than people,” she later told an interviewer. In her small town, she excelled in math and science, but wasn’t sure that this would translate when she began attending Harvard for college in 1979.
Graduating in 1983, she studied Applied Mathematics, with a computer science concentration. She took some time to work in industry before going to graduate school in Computer Science at Berkeley in 1988. Her dissertation, completed in 1992, was on “File System Performance and Transaction Support” and found that, due to the costs of garbage collection in most real-world uses, log-structured filesystems in the literature were not any faster than read-optimized filesystems.
At the time, Berkeley’s CS department was excitedly developing BSD, writing free replacements for all the Unix utilities. They needed a replacement for ndbm, the prominent Unix database manager, and hsearch, its hash search function, and Margo had just finished taking a database course. She decided to apply her new skills by writing hash for BSD. Someone else wrote btree and they both ended up getting packaged together as db185, which shipped with BSD 4.4.
BerkeleyDB, as it became known, was used in many places but among them was the University of Michigan LDAP server. Netscape built upon this server for their own directory product but found that since bsddb didn’t support transactions, multiple concurrent writes could lead to corrupted data. They noticed that Margo had once written a paper on the subject of adding transactions and gave her a call. It was 1996.
She said that it was simply academic work and wasn’t ready for use in production. They asked if she could get it ready for production. They could pay, they reminded her. It was the first time she’d ever done anything like this for pay, but she gathered together some friends and founded a company to make the product for Netscape. They relicensed it from BSD (which allows anyone to integrate it) to their own GPL-style license which would allow them to continue to separately charge Netscape for using it. Their company was called Sleepycat, and Margo was its CTO.
The company was a major success, with BerkeleyDB being used in everything from SQL databases to behind-the-scenes at Amazon and Google. In 2006, as Oracle was acquiring all the open source database companies, they acquired Sleepycat and Margo went to work for Oracle.
At the same time, however, she was pursuing a parallel career in academia. In 1992 she became an Assistant Professor of Computer Science at Harvard. She became an Associate Professor in 1997, was named Gordon McKay Professor in 2000 and received tenure, occasioning a Crimson editorial on how a woman “beat all the odds”. From 2002 to 2006, she was also Associate Dean. A widely-respected professor in the field, she’s published over a hundred papers and served on numerous committees.
She is also noted as an inspiring teacher. She received two awards, Roslyn Abramson and Phi Beta Kappa, for excellence in teaching. And her course receives a 4.9 out of 5 in student ratings. Computer science students around campus often remark with surprise at how open and welcoming she is to young students as such a famous and respected professor.
Nor has she sacrificed her family, taking her children with her to the office and reserving time to spend with them at home.
A standout in so many ways, it seems the one struggle left is finding a new struggle. “Now that the pressure’s off,” she told a reporter, “I’ve started to ask myself: What’s my next goal? I won my black belt in karate a year ago. I’ve got tenure, a wonderful family, and a thriving business. It’s time to figure out what’s next.”
You should follow me on twitter here.
March 24, 2009