Also available in: [Docx] [Text] [Xml]

Keith J. Farmer

kfarmer@thuban.org


To develop novel and useful solutions to interesting problems using cutting-edge tools.

Skills
C# (up to C#3 and Visual Studio 2008), LINQ (Language Integrated Query), LINQ Providers, Silverlight 2, ASP.NET, IIS (up to IIS7), HTML, SQL Server
Recognition
2006-01 - 2006-01 Microsoft MVP: Visual Developer/Visual C#
Awarded in recognition of my support of fellow users learning about the then recently-announced LINQ project. Resigned from rolls upon my start-date at Microsoft to work on LINQ itself.
Experience
2008-06 - present Idea Entity Senior Software Development Engineer
Prototyping, R&D.
2006-01 - 2008-05 Microsoft Corporation Software Development Engineer
Hired as an MVP into the LINQ to SQL v1 team. Participated in design and development of LINQ to SQL features, as well as provided feedback on proposed features for in-progress and future .NET Framework versions. After RTM of LINQ to SQL and .NET 3.5, transferred to work on DataGrid control for Silverlight 2.
2007-08 - 2007-12 Manning Publications Technical Editor, "LINQ in Action"
Provided technical guidance and supplemental editting for a ~600 page book on LINQ. Amazon.com sales rank (May 2008): #2993 in Books.
2004-04 - 2005-12 CoreMobility Software Development Engineer
Debugged and maintained internal contact-management and build-system websites. Developed prototypes and demos for Mobile Podcasting product, both broadcast and management. Developed a remote-testing platform, allowing a team of out-sourced script developers to write tests against a web service interface connected to live hardware maintained locally, with conditional waits and a live, interpreted view of the telemetry stream from the serial port.
2003-06 - 2004-04 TeraRecon Software Development Engineer
Maintain and extend the reporting systems of a medical imaging system. Includes responding to issues brought forward by sales and customer support as well as issues found in-house. Extend back-end patient database system in a backward-compatible method as needed. Implement new functionality in existing analysis modules. Programming skills utilized include C++, MFC, VBA, XML, XSLT, source control and the versioning of multiple, customer-specific branches.
2002-03 - 2003-06 Perlegen Sciences Software Development Engineer
As a contractor March 2002 to June 2002, performed analysis of Affymetrix chip scan data. Developed software to script reporting of data using C# and the .NET Framework with an Oracle 8i back end. With regular employment starting July 2002, moved on to other in-house application development, including visual analytical tools, LIMS development, and database schema conversion. Performed significant development on an in-house phenotypic data management website in ASP.NET, including development of custom validator controls with both server-side and client-side validation routines, drop-in replacements for base types to perform translation to and from database representations. Reorganized the phenotype schema to support arbitrary epidemiology needs and provided drop-in interfaces for the pre- existing software. Developed schema and user interface for a mechanism to report deviations in laboratory procedure. In all these projects, developed style and technique for software architecture and design patterns.
2000-08 - 2001-09 Clairvergent (formerly Revbox) Software Development Engineer
Participated most recently in the conversion of company technology from Tcl to Java. In the past, as part of a team of developers working under Solaris and Oracle 8i, created, debugged, and maintained a database and associated website containing approximately 6 gigabytes of data regarding products, customers, businesses, and the brokering of extended service plans among them and/or Revbox. Various projects included the debugging and enhancing of Java-based data loading programs, the creation of a SQL*plus- based API in support of a set of JSP project, the creation of administrative pages, tools for QA staff, as well as ongoing campaign execution. To ease the burden of QA reporting on development staff, created a Tcl procedure to allow non-developers to define their own reports in a simple and efficient way by encapsulating the database and table layout calls used to create a Tcl script on demand. Demonstrated abilities by learning the 6 languages used in the company within the first 4 weeks of employment.
1999-04 - 2000-06 Indoor Environmental Engineering DBA/Data Analyst/IT/Office Manager
As DBA, create and enhance a FileMaker Pro database to handle incoming data retrieval, storage, and analysis to ease workload and increase reporting accuracy, including QA/QC duties. As Data Analyst, utilize skills in math to perform statistical analysis of sample data, conferring with external laboratories as needed to resolve potential errors or omissions in both received data and internal calculations. As IT, develop and maintain a Macintosh/PC LAN, create and maintain web page, provide support for desktop users, and manage email, router and backup systems, acquiring hardware and software as needed.
Education
1991-08 - 1996-05 Washington State University Pullman, WA
BS Physics and Astronomy