The very first programming (or markup) language I learned was HTML back in 1998 (I guess I’m a late bloomer since I was already 12 years old then?). I then started making a bunch of websites for other people and organizations, and started learning C in 2000 (I had a grad-student tutor) because I really wanted to make my own HTML authoring tool.
I started reading SGML spec, HTML4.01 spec, etc… since 2000, and I had rewritten the version 3 of the skeleton for my own HTML/SGML parser by 2003. I went crazy and spent enormous time writing my own encoding abstraction layer. I was also insane enough to start writing my own C libraries to manage array, string, etc… essentially making my own implementation of a small subset of C++’s STL in C. Since I hadn’t learned OOP, my constructors and destructors were called creators and destroyers. “Creators” were a little more capable than C++ constructors because it returned a boolean indicating whether the object was successfully created or not. And my libraries guaranteed that it calls “destroyers” on any object that has been successfully created.
Anyway, by 2004, I started learning more about HTML and picking C++ by myself. By then, CSS2 and XHTML1 had become popular, and my HTML parser had become a HTML/XML parser instead of a HTML/SGML parser. And I had grown a really strong passion for accessibility and standard compliance to the point, I really wanted to join W3C. In fact, joining W3C and participating in the standardization process of Web technologies had become my career goal since that time.
Given all of that, becoming a WebKit reviewer, participating in various discussions on whatwg and public-webapps, and submitting UndoManager proposal to whatwg have been almost surreal. Even though it has only been 13 months since I started working at Google, I may have already achieved my career goal.