Tom Allen 
Cupertino, CA

tom.allen@cricketsoft.com

Mobile: 408.966.8813

 

http://cricketsoft.com/Documents/Tom_Allen_resume.doc

 

.Net software developer delivering Windows and web app clients and services.

 

Summary

·        7 years experience developing commercial applications in .Net using C#, VB.Net, WinForms, ASP.Net, SQL Server, .Net 3.5, WPF, Silverlight and WCF.

·        Certified .NET developer:  MCSD - Microsoft Certified Solution Developer for .Net, MCP Application Development Foundation, MCP Designing and Developing Enterprise Applications.  Completed rigorous ADO.Net course.

·        25 years experience developing software for large enterprises and start-ups,
including web applications, client-server and enterprise applications.

·        Work well across functions to define products and deliver innovative solutions that satisfy market needs.

 

Technical Skills

Technology stack:

.Net 3.5, C#, VB.Net, WCF, Web Services, ADO.Net, XML, IIS.

User Interfaces:

WPF, Silverlight, Xaml, WinForms, ASP.Net, XHTML, Databinding.

Development Tools:

Visual Studio, Blend, NUnit, MVVM, XAML, TFS.

Operating systems:

Windows 7, Windows Server 2008, Vista, XP, Windows Server 2003.

Database:

SQL Server 2008.

 

 

Professional Experience

 

Software Consultant

11/09 – Present

Hewlett-Packard, Cupertino, CA

Developed portions of a WPF “window manager” for 3rd party apps shipped with the HP TouchSmart PC. The TouchSmart PC provides an “iPhone-like” touch experience to consumers.  Developed modules that handle personalization of the TouchSmart application, saving user settings, messaging to 3rd-party apps, and WCF process-to-process communication.  Contributed to architecture and application design decisions.

 

Used C# and .Net 4.0, Visual Studio 2010, Team Foundation Server (TFS), Microsoft Office 2010, WPF, WCF, JetBrains Re-sharper and Windows 7.  Used Model-View-ViewModel pattern (MVVM) to develop new UI modules and refactor existing modules.  Developed composite and templated user controls.  The project was managed as an agile process, including daily stand-up meetings, pair programming, and 2-week sprints.

 

Principal

02/09 – Present

CricketSoft, Cupertino CA

Developed an interactive travel application in Silverlight 3.0 with WCF, Entity Framework and SQL Server; used LINQ to XML and HTML Agility Pack to perform “screen scraping” of climate data; used .NET 3.0 and 3.5, Silverlight MVVM Toolkit, command pattern, Behaviors and VisualStateManager; solved complex databinding issues; developed with Blend 3, Visual Studio 2008 and Windows 7.  Developed an XHTML–to-TIFF document conversion utility in WPF with XAML and C#.  Implemented using MVVM (Model-View-ViewModel) enterprise UI design pattern.


 

Software Consultant

12/07 – 12/08

Microsoft Mediaroom, Mountain View, CA

Developed a tool to validate complex product installer files and track feature changes over time.  Microsoft Mediaroom provides a platform for delivering TV over the internet.

 

My tool prevents the creation of bad updates that can fail at a customer site. The validated MSI installer files include thousands of DLLs and configuration files; violating rules about what is allowed to change in a software upgrade will cause the upgrade to fail.   A deployment of Mediaroom by a telco customer involves thousands of servers in hundreds of roles; upgrading is a major effort.

 

My validation tool verifies builds in a distributed build environment and handles concurrency violations.  Rules engine logic is fully checked with automated Visual Studio unit tests.  The validation tool uses ADO.Net datasets and data relations to compare installer structures, and is deployed as a web service within the Mediaroom automated build system, with a WinForm admin console.  Tools used include .NET 2.0, C#, Visual Studio 2008, web services, WinForms, SQL Server 2005, Source Depot, MsBuild, Msi, Wix, NUnit automated testing.

 

Software Consultant

9/07 – 11/07

Varian Medical Systems, Palo Alto, CA
Used .Net 3.0 to develop WPF (Windows Presentation Foundation) user interface components for medical x-ray product.  Developed and used WCF (Windows Communication Foundation) services for backend.  WPF code included: XAML, user controls, dependency properties, data binding, templates, page navigation, and resources.  Implemented Model-View-Presenter pattern using Class Designer.  WCF code included use of WCF Guidance Package/Repository persistence layer by MS Patterns and Practices Group.   Used Visual Studio 2008 and Team Foundation Server.  Code was written in XAML and in C#.

 

Software Consultant

10/06 – 9/07

Microsoft Mediaroom, Mountain View, CA

Developed video stream processing tool and a web service scalability test tool, and executed tests of set top box and backend IPTV services.   The Microsoft IPTV product is sold to phone companies worldwide to provide video on demand and live TV services to homes via an IP network.

 

Video file stream tool used C#, C++ and 3rd party library to update DTT/EIT events in stream.  Scalability test tool used asynchronous web service calls and threaded tasks to generate high load on a target web service, and custom system performance counters to measure activity.  Delivered completed tools with developer and user documentation and installer.  Executed load tests, analyzed results and made recommendations for service changes to improve scalability.  Developed test case management tool in Microsoft OneNote.

 

Learned a complex environment quickly. Worked with C# in .Net 2.0 and Visual Studio 2005.  Used SQL Server 2005 and Source Depot.

 


Sr. Software Engineer

2/06 – 8/06

Netflix, Los Gatos, CA

Developed a security web service and Windows client components.  Netflix provides personalized DVD rentals by mail, using 40 U.S distribution hubs.

 

Used Active Directory to implement custom authentication and authorization system providing roles, permissions and site-restricted access. Delivered web services, a packaged login control, sample applications, admin tool, and developer and operations guides. 

 

Worked with C# and VB.Net in .Net 2.0 and Visual Studio 2005.  Extended the Microsoft Enterprise Library Logging Application Block.

 

Software Consultant

04/05 – 01/06

Hewlett-Packard, Cupertino, CA

Developed an ASP.Net, VB.Net, and SQL Server application using Visual Studio 2005.  Application is used by HP and their external PC manufacturing partners to track quality information.   Worked with object data sources, table adapters, master pages, typed datasets, caching, exception handling and logging, role-based security and Visual Source Safe. 


Developed presentation, business and data access layers, and a web service external interface.  The business layer leveraged .Net datasets and caching with simple SQL calls to provide high performance.  The new application is substantially faster than the predecessor application using the same database.

 

Lead developer and architect; acting project manager and business analyst for 6 months.  I instituted the organization’s first agile development process. Wrote business requirements and IT specs.  Located and hired additional .Net resources.  Organized training resources for VB6 skilled staff.  Established team development practices for code review and training.

 

Software Consultant

03/04 – 04/05

Intel, Santa Clara, CA

Developed a C# WinForm and SQL Server application and web service for tracking WIP in 10 Validation Centers worldwide.  Implemented software design patterns and reused application blocks and sample application code.   Developed presentation, business and data access layers, and a web service interface.  Used Infragistics UltraWinGrid component.  Initiated team development practices for code review and training.

 

Software Consultant

12/03 – 02/04

ADP, San Ramon, CA

Implemented Enterprise Instrumentation Framework, EIF, and developed reference applications and user guides for several insurance application middleware APIs using C#, ASP.Net, and web services.

 

Software Consultant

05/03 – 08/03

RE Infolink, Campbell, CA

Developed a web-based Real Estate listing search application in ASP.Net and VB.Net for use by RE agents.  Used web services, typed datasets, output caching, XML data files.

 

Management Consultant, Group Program Manager

06/01– 11/01

Microsoft MSN TV, Mountain View, CA

Hired to organize a 15 person Program Management group in MSN TV.  Set objectives, organized management structure, established Program Management role as partner with cross-functional teams.  Established development process using Microsoft Solutions Framework, MSF. 

 

Director of Web Development and IT Operations

03/00 – 02/01

Zadu, San Mateo,  CA

Managed the Web Development and IT organizations.  Responsible for developing product enhancements and the next generation web product. 

 

Engineering Manager, Sr. Database Architect

05/97 – 07/98

Excite, Redwood City CA

Responsible for delivering the Universal Registration Service that unified 5 separate registration systems used by the Excite web site.

 

Information Warehouse Developer

06/92 - 05/97

Hewlett-Packard, Palo Alto, CA

Developed applications for data warehousing using MPE operating system and Allbase database.

 

Software Design Engineer

06/87 - 05/92

Hewlett-Packard, Mountain View, CA

Developed applications for data warehousing, call tracking and document retrieval. 

IT Manager, Software Design Engineer

06/79 - 05/87

Hewlett-Packard, Palo Alto and Mountain View, CA

Managed IT support group of HP Labs.  Developed applications for data management.

 

 

 

Recent Training

I keep my technical skills current. 

Foothill College courses

Completed

Expression Blend

2009-08

WCF

2009-08

WPF

2009-06

 

Industry expert training:

 

Other recent college-level training:

·        Microsoft .NET: Architecting Applications for the Enterprise by Dino Esposito.

·        Windows Communication Foundation Step by Step by John Sharp.

·        Head First HTML with CSS & XHTML by Freeman & Freeman.

·        Pro WPF: Windows Presentation  Foundation in .NET 3.0 by Mathew MacDonald.

 

Professional Associations

Active member of BayNET:  SF Bay Area .Net user group, since 2002.

Member of the StackOverflow developer community.

Member of the CodePlex open source community.

 

Microsoft Certified Professional

Designing and Developing Enterprise Applications

07/07

Application Development Foundation

05/07

(MCSD) Microsoft .NET Certified Solution Developer

03/03

Microsoft .Net Academy - ADO.Net

12/02

 

Education

Stanford University

Master of Science, Industrial Engineering, 1980

Stanford University

Bachelor of Science, Industrial Engineering, 1979

Claremont McKenna College

Bachelor of Arts, Economics, 1979