Principal Development Lead
Eric Richards
Microsoft Corporation
Redmond, WA Eric_Richards at ericri dot com
www.ericri.com

I'm geared up for the opportunity to lead a development team shipping consumer / information-worker technology. I'm interested in product groups with great customer and partner focus, along with high potential for associated revenue. Career wise, I'm interested in challenges that ensure I have the opportunity to grow into a leadership role at the company I work for.

I'm keen on leveraging my experience as a lead-of-leads in Microsoft Office and contributing technically to the product group.

Expertise
 
Managing: Led a team of 10 developers, including two dev leads reporting to me, on a team of thirty-plus developers. My team had strong cross-team requirements to manage.
Languages: C++, C.
Other: JavaScript, VBScript, C#, x86, Perl, Pascal, Prolog, LISP, PL/I.
Technologies: COM, Trident (IE), DHTML, (X)HTML, XML, XSLT, Win32, .NET, AJAX, Lex, Yacc, rpcgen.
OS: W2K3, XP, SunOS, QNX RTOS, Microware OS9 RTOS, Apple OS.
 
InfoPath 2007
Microsoft Office
2004 - 2007
 
Principal Development Lead.

Lead of leads.
 
I managed a crack team of developers that delivered InfoPath technology integrated into Outlook, Word, Excel, and PowerPoint, along with providing a hostable InfoPath editor control and integrating the InfoPath designer with Visual Studio technologies. I was also InfoPath's triage representative, from the B2TR release through RTM, ensuring that the team kept a high-quality bar for picking which issues to fix and then making sure these issues made it through Office Triage and didn't cause regressions.
Growth: as a manager and a contributor, I grew a great deal over this release due to the cross-team negotiating and coordination required for success, along with leading the team while my PM lead peer took two leaves before departing Microsoft (requiring me to step up and run adds / cuts for my team along with filling in for PM leadership).
Delivered: the features that my team implemented this release include: Document Information Panel integration of hosted InfoPath into Word, Excel, and PowerPoint; integration of InfoPath email forms into Outlook; WSS rewrite of InfoPath form libraries to be heterogeneous site content-type document libraries; integration of InfoPath into Office workflow feature; integration of InfoPath designer into Visual Studio 2005 as a hosted designer; integration of Visual Studio Tools for Applications into InfoPath for C# and VB.Net business logic authoring; componentization of InfoPath editor as a 3rd party hostable control; and load balanced forms server features like rules, calculations, conditional formatting, and rich-text editing.
Customer focus: at the beginning of the product cycle, I made a business case for the InfoPath team blog and ushered it through its early months, providing quick, quality content for our user base to solve their issues and understand the immense benefits that InfoPath 2003 SP1 provided. I also coordinated with Robert Scoble to get a video discussing InfoPath 2007 client and server features onto Channel9.
 
InfoPath 2003 SP1
Microsoft Office
2003 - 2004
 
Development Lead.

Lead of leads.
 
I led a team of developers to add user-focused Information-Worker specific features to InfoPath 2003 SP1. We quickly and efficiently drove end-to-end feature ownership to add high-impact features such as:
Calculations: Declarative, easy-to-build- XPath expressions for performing calculations and storing results back in the XML. Users no longer have to use events and script.
Rules: Simple conditions to either change the XML or perform end-user actions.
TabletPC: Users are now able to just ink directly on-top of the form and have their hand-writing converted. We also added ad-hoc insertable ink sections.
Roles: Upon load, the appropriate for role the form user can be ascertained and used within the rules and business logic to customize the form filling experience for the user based on their role.
Signed full-trust forms: To simplify the distribution of full-trust forms (forms that are capable of doing actions similar to an application), my team added the ability to sign a form and allow the user to trust such a form on their machine.
Although labeled "SP1" this release added significant features to the product. I assumed the role as the dev team's bug / triage guy and represented the team at Office's SP1 triage meetings, ensuring our changes were not disruptive to the patch.
 
InfoPath 2003
Microsoft Office
2001 - 2003
 
Development Lead
 
I was a front-line manager for the V1 InfoPath 2003 release, leading a team of developers to implement the design-time and run-time aspects of the controls that comprise an InfoPath form template.
In addition to managing (including leading the transition of WDEs to SDEs), I was deeply involved in the design and implementation of the control architecture along with other key aspects of the InfoPath designer. I implemented a variety of features in addition to running the normal scheduling and team management duties.
I also kept in close contact with the "out of the box" solutions team, minding their dependence on my team's controls.
 
NetDocs
Microsoft
1997 - 2001
 
Development Lead,
Individual Contributor
 
NetDocs was a grand vision of a software-as-a-service platform and a subscription-based application suite. It used XML technology very heavily, including XSLT and schema (XDR), along with the XMLHttpRequest object for WebDav data collection (it was Ajax on steroids).
I started as an individual contributor, responsible for NetDocs specific C++ / COM based XSL engine (back when XSL was new). I eventually led the transition to the MSXML engine.
As a front-line dev lead, I was responsible for the team that delivered collection view technology and that delivered end-user features using the collection views, including email, calendaring, and contacts. Our collection views were completely asynchronous (like all of NetDocs) and provided virtualized views with virtualized selection.
The structured XML editing abilities of NetDocs were salvaged to become InfoPath.
 
Intel
Supercomputer Systems Division
1992 - 1997
 
Individual Contributor
 
I was the user interface expert for the graphical development tools delivered for Intel's TFLOP machine and the Paragon series of Supercomputers.
My main responsibility was the design and development of XIPD, the graphical front-end to the command line debugger. The final multi-platform incarnation, written in C++ using the Motif widget set,  divided the front-end and back-end via hand-crafted RPC calls.
Seeing an issue with system crash analysis, I delivered a Perl script that issued kernel-debugger commands on a crashed super-computer and traversed through the nodes, based on pattern matching rules, to track down what the issue might be. This helped with field evaluation of bad OS software (or bad hardware).
I was also the HTML / Web evangelist in 1993, after playing with Viola then Mosaic. I jump-started my group's usage of HTML, contributing to a FrameMaker to HTML converter, and coordinated cross-company with the team getting Intel's first web presence delivered.
 
EPOS Corporation
1987 - 1989
 
Development Manager,
Individual Contributor
 
In this aggressive startup-up company, I worked with the QNX real-time operating system as a platform for creating plastics-injection molding monitoring software. Early on, I convinced the team to develop our user-interface library using a function-pointer-based rolled-by hand version of object-oriented programming (allowing us to implement a VT-based renderer within minutes).
Growth: dealing with a message-passing OS, 64K code segments, customer requirements for quality-control addition, dealing effectively with customers face-to-face, field install of software and hardware, and the day-to-day drama of working for a company constantly flirting with financial ruin.
 
College Education
 
Auburn University Masters Computer Science, June 1992.
  Thesis: "HC: A Generator for Platform Independent Graphical User Interfaces." I designed the hc language to describe an application's platform independent user interface. Via lex and yacc, the hc code was parsed and turned into C++ and resource files that utilized multiple-inheritance to bind platform specific behavior (either Macintosh or X11) to the user interface.
 
Auburn University Bachelors of Computers Engineering, June 1987. With honors.