Wednesday August 31, 2005 A question I ask myself every day. My job description is that I'm a Senior Staff Engineer in the Solaris Kernel group. At present, I'm working on a new filesystem/storage architecture called ZFS. No, it hasn't been shipped yet, but we hope it will soon.
I've got a BS/EE and MS/CS degrees from universities over in Michigan. After graduating, I went to work for good ol' Sun Microsystems in the Server OS Software group, where I got to watch SunFire (Ex000/Ex500) go out the door and started work on Serengeti (Ex800). As part of my work on Serengeti, I did a lot of HW/SW bringup work. I ported 4 operating systems (Linux, JavaOS, VxWorks, and Chorus) to the Service Processor, and wrote an interactive Java debugger for it. I also did much of the initial UltraSPARC-III bringup work, tripping over some nasty bugs in the first rev of silicon (but that's a story for another day).
By this time, the .com boom was in full swing, and like many other people, I left Sun to join a startup: 3PARdata. I was employee number 6 at 3PAR, being in the group of 3 non-founders that helped get the company off the ground. Being at a small startup that later grew to around 200 employees was one of the most educational experiences I've ever been through. I did everything from design HW (the first FCAL interface board for 3PAR's JBOD), SW architecture (overall design and implementation of the stack), bringup (both board-level and ASIC), and even went so far as to write an x86 BIOS implementation, from scratch, in C (also a story for another day). It was also a very in-depth look at what it takes to get a company off the ground and launch a product; not just from the engineering side, but from the business and operational view as well.
Unfortunately, all good things must come to an end, and I wound up leaving 3PAR. I then did a short stint at a small company called BitMover, working on BitKeeper, their source code control product. As many people can probably imagine, it was a real hoot working with Larry McVoy, even though we don't always agree on things. Even though there were many interesting problems to work on within BitMover, the lack of an office environment (everyone worked form home) was clearly not for me.
At this time, I returned to Sun and joined the Solaris Kernel group, working with a bunch of really talented folks with whom I'd kept in touch with after leaving Sun. Since that time, I've been working on ZFS (more on that later), applying the knowledge I've gained by thinking about storage for the past 6 years.