C:\> whois ericri

Quick summary: C++ fanboy software engineer, XML technologist, early web adopter, artist, Epictetus follower, Army-brat, Pyr lover, blogger, manager, leader, and Microsoftie.

So let me describe who I am, from a work perspective. I am not my job, but it gives you one peek.

I work at Microsoft. I’ve been at Microsoft since November of 1997. And I absolutely love it. I can’t think of any other place I’d want to work at. Microsoft has changed a great deal since I joined but has managed to hold together pretty well, all things considered. Microsoft is really a collection of companies and the corporate cultural DNA varies from group to group.

My group? I work on Windows Live Photo Gallery in the Windows Live organization. Photo Gallery is awesome and since 2007 I’ve worked on the past three releases as a Principal Software Development Lead (an address book title typically only understood by Microsofties). My team has added features to Photo Gallery like Face Recognition & People Tagging, Photo Fuse, noise reduction, and the initial flickr publish feature.

Before Windows Live, I worked in Office, specifically on Microsoft InfoPath. Perhaps you’ve enjoyed my work? It was a great team and we had an exciting time making the world’s best XML form editor. Really.

At Microsoft, I was the first external hire of many to work on NetDocs. I was responsible for the XSL engine we used until we moved to the MSXML XSL engine. I later moved to managing the collection views team (inbox and calendaring and contacts) with a brief detour into the Exchange source code to prototype a thin version of the NetDocs client within the WebDAV front and back ends. NetDocs was a fun ride that I should write about one day. I learned an incredibly great deal. The XML editing ability of NetDocs went forward to turn into InfoPath.

What’s InfoPath? It is a snazzy new program in the Office family that is focused on editing electronic forms. We all deal with forms, some folks more than others. InfoPath allows very complex forms to be filled out quickly and easily, adding tools to assist the person filling the form out so that they can get it done fast and with high accuracy.

It’s also one heck of a snazzy form designer. The designer is the part of the product I worked on initially (every time you click that date picker, you execute a little bit o’ me). Then we did a special SP1 release with lots of new features and my team had some very rewarding work: adding features to make form design more accessible to people who don’t like to code or just plain can’t (like calculations, rules). Plus we added some nifty TabletPC features, like being able to just start inking ontop of the form and have that converted into text.

The last version of InfoPath that I worked on, 2007, included the following features:

  • Integrating InfoPath forms into Outlook (you’re able to promote fields from your form into your Outlook view, much like a SharePoint list),
  • Integrating InfoPath into Word / Excel / PowerPoint (your properties, plus any XML streams you add to the document, can be edited by an InfoPath solution),
  • Integrating Visual Studio Tools for Applications into InfoPath so that there’s an installed environment for anyone to write / compile managed code for their solution’s business logic.
  • Allowing InfoPath to be integrated as a WinForm control / ActiveX control into an application of your own making.

We’re, ah, known as the Integration team, incase you picked up a theme there. See the InfoPath team blog for more.

Before Microsoft I worked at Intel Supercomputers in Beaverton, Oregon. Great group and I absolutely love Portland. After the Cold War wrapped up, though, there wasn’t much economic demand for supercomputers and I bailed out. I was thinking of staying at Intel until about the third Microsoft recruiting call, where Brian MacDonald did such a good job of putting stars into my eyes that I agreed to interview at Microsoft. Oooh, I wasn’t looking forward to that interview. The last person I knew who interviewed at Microsoft refused to speak for a week. So, what the heck, I decided. It would be a learning experience at least.

Anyway, before I left Intel I grew out of being the graphical interface design and implementation guy (doing Motif/X11 interface work) for our parallel XIPD debugger and other developer tools into the C++ guru / Perl guy / HTML and web evangelizer. Without much in the way of permission, we put up an http daemon for our division and I got involved in the initial Intel web presence discussions. There were lots of silliness then, with attention-hungry people pushing to take it on because they recognized the potential. I had better things to do.

Before Intel I wrapped up getting my Masters degree at Auburn University. I worked up a thesis around designing and implementing a language for describing a user interface and then generating it for either X11 or Macintosh. Multi-platform user-interfaces, and user-interface design, used to be the big hot field, you see. I enjoyed it, but just like I learned that C++ exceptions are evil at Intel, my thesis taught me that multi-inheritance and over-intellectualized class design are evil bad stuff.

Before my masters, I worked for a small consulting called EPOS Corporation. That was a trial by fire. I think it was while drilling into the metal chassis of a huge plastics-injection machine in order to mount a transducer I realized, “This is not me. I need to go back to school.” Plus it was a… well, not exactly toxic environment, but a small company of great people can have some wild mood swings. It wasn’t healthy. But I learned a heck of a lot: lots of C code, the QNX message-passing way, how to piss off customers and win them back, how not to manage, how not to fire people, how seriously people take allegoric drawings, and how much doing what you want to do makes life absolutely rewarding.

I joined EPOS straight out of Auburn University where I got my Bachelors in Computer Engineering. I covered a wide range of computer power at Auburn: my first course was in FORTRAN and I actually used a punch-card system because it was, believe it or not, easier to me than the time-share terminals. From there it was to PL/I and Pascal and Prolog and even C. The IBM 360 was our main platform, though we also had a VAX and I had my little OS9 system at home.

And before all that I had planned to be an illustrator. You know, doing book covers and such. But then I used my lawn mowing money for a micro-computer and it was game over. That poor thing got Borg’ed up, having shadow-memory added, along with a replacement keyboard, and then floppy disk drives that allowed me to boot into OS9 and learn a real operating system. Illustrating? Well, if you’re ever in a meeting with me and I have pen and paper, you might notice my doodling.

And now, I’m at one of those crossroads. I’m still excited about technology (I’m playing with Python right now) but I’m also, strangely, excited about growing in the areas of leadership and innovation. I was exposed to the ideas of Robert Kegan recently and that really flipped a switch inside of my head regarding growth as a person and contributing at a greater level. I’m especially interested in growing within Microsoft and ensuring we have proper bridges to the influencers in the technical community.