Qualifications
  • Experience designing object-oriented software architectures using methodologies such as Design Patterns and commonality-variability analysis
  • Over ten years experience developing Windows applications using Win32 API, MFC, ATL, WTL, .NET Framework
  • Extensive coding in a variety of programming languages, including C++, C, T-SQL, Pascal (Delphi), and Java
  • Leading software quality process improvements such as design and code reviews, check-in testing automation, and code analysis tools
  • Developing secure software including threat modeling, using access control, encryption, and compression
  • Developing networking software using SOAP, multicasting, sockets, TCP/IP, UDP, FTP, HTTP, and SMTP
  • Developing database applications using C libraries, direct APIs, extended stored procedures, and T-SQL
Work History
Symantec Corporation (Altiris, Inc.) Lindon, Utah
Software Engineer April 2004 - Present
  • Currently working on Altiris Protect and Altiris Software Virtualization Solution products.
  • Developed Windows File System Filter Drivers (Legacy and mini-filter).
  • Debugged Windows Kernel.
Microsoft Corporation Redmond, Washington
Software Development Engineer / Dev Lead November 1999 – February 2004
  • Earned Microsoft "Ship-It" awards for shipping SQL Server 2000, SQL Server 2000 64-bit, and Windows Server 2003. Developed components shipped in Office XP and Visual Studio .NET.
  • Rearchitected SQL Server setup from InstallShield technology to Windows Installer.
  • Technical Lead responsible for security – Planned and coordinated a team-wide security review process, including threat modeling of components and complete code review coverage. Designed and implemented a security class library for managing accounts, privileges, and access-control.
  • Created a compiler and linker for setup meta-data, improving developer productivity by approximately 100%.
  • Created developer productivity tools, such as a test automation infrastructure for pre-check-in developer tests, or a code review applet that automates generation and sign-off of code reviews by team members.
  • Managed a team of 3 developers responsible for development of data access components such as MSXML and SOAP Toolkit, and for SQL Server features.
  • Created the "component update" feature to automatically install operating system components as required during SQL Server setup.
  • Created the "failure handling" feature to handle setup failures elegantly, by gathering data about the failure and system state during failure and uploading them to Microsoft for support.
  • Lead development for Microsoft Database Engine (MSDE) SKU as provided for deployment within vendor applications.
Altiris, Inc. Lindon, Utah
Software Engineer December 1997 – November 1999
  • Shipped first version of Altiris eXpress, and RapiDeploy, as well as minor versions of LabExpert.
  • Created the "AClient" service, which is responsible for performing actions initiated at the eXpress console, such as starting a PC imaging process or reconfiguring the PC after imaging is complete.
  • Created the "ImageExplorer" tool to allow customers to view and modify PC images created with Altiris products.
Novell, Inc. Provo, Utah
Application Engineer June 1993 - December 1997
  • Created "The Guide" marketing software for providing basic information and competency tests for prospective students of Novell Education, as well as course guides for existing students.
  • Managed development of in-house applications for Novell Education databases. These applications were used by employees to manage certification, partner, and financial information for the Education department.
  • Developed software control system for printing of certificates for students passing Novell certification tests.
Education
Utah Valley University
Fall 2007 - Present

Political Science Program

Microsoft Technical Education
  • Microsoft Certified Professional certification – SQL Server 2000 Administration
  • Design Patterns I & II (5 days)
  • Writing Secure Code (1 day)
  • Peer Mentoring (2 days)
  • Management Essentials (2 days)
  • New Developer Lead Training (2 days)
University of Washington
Winter 2001 – Fall 2003

Computing & Software Systems program
Completed 20 of 90 upper-division credit hours toward Bachelor of Science degree
GPA 3.90

Utah Valley State College
Fall 1993 – Fall 1999

Computer Science and Information Systems program
Completed 80 of 126 credit hours toward Bachelor of Science degree
GPA 3.51