A Touch of Class



I just switched to being an employee (for the first time ever) at Mozilla last month, and due to some management switch-ups, I now also have a manager who has no familiarity with what I do (for the first time ever). Melinda and plinss and roc were all already involved in my day-to-day work, so there wasn't much to explain. So I figured I'd post an explantion here, since most other people don't know what I do or why, either.

Most of my career is defined by being an Invited Expert on the CSS Working Group. The decisions I make on what I work on and how I prioritize it all derive from the goal of making CSS solid, and enabling the CSSWG to be effective at standardizing it. Sometimes Mozilla perceives what I do to be in their interest, sometimes they don't and Microsoft does... I was originally sponsored by Hewlett-Packard, who gave me a lot of freedom in choosing what to work on, and once that contract ended I expanded that freedom and found other sponsors for it. I got to be the wildcard in the CSSWG, and all that implies.

Now that I'm an employee, I don't own my self-direction, I'm only granted it conditionally. I belong to the layout team at MoCo, and their priority is Gecko/Firefox: their CSS investment is informed by and channeled through Gecko's priorities. But since my CSSWG induction in 2004, that is not, and has not been, my priority: mine has been CSS, directly and primarily, and Gecko, also directly, but separately and secondarily. You could argue that my priorities fit well under the Mozilla Manifesto, but they don't always fit under the Firefox corollary. So I feel the need to justify not being on a leash, since I expect at times my priorities and management's priorities to diverge due to this difference. Both Mozilla and I owe our loyalty to the Web platform, but my team plays it on the browser field through Firefox and on the standards field through Gecko, while I play directly on the field of W3C, and I play as myself.

Things I've accomplished include:

Things I failed:

Things I'm still working on:

I'm on the Layout team at Mozilla because one of my oft-neglected hats is that of a Gecko layout engine developer. I do write C++ code. (Slowly. Just like I write blog posts. Slowly. :) I like working on Gecko, and I like cleaning up its code and making it better. It's gratifying when dbaron says things are more understandable after I've patched them. And as a side-effect I fix bugs! :D (Or was it the other way around?)

Notable fixes during my contracting tenure at HP and Mozilla include:

Things I was supposed to fix but didn't get to:

The hardest thing about working on Gecko is blocking out time for it. I'm so tangled up in spec work, it's hard to focus on coding.