Full Résumé

Click here for a printer-friendly version (PDF)

R. Stacy Smyth
1396 Alki Ave SW, Seattle, WA 98116
(206) 935-4199
Stacy@StacySmyth.com

Summary of Qualifications

Over 18 years of experience as a software developer. Positions have included Senior C#/WPF Developer, User Interface Designer, System Architect, Software Developer, Software Development Manager, Lead Programmer, and Technical Consultant.

Applications/industries have included online games, travel, medical devices, bioscience, banking, inventory tracking, payroll accounting, weapons testing, security, facilities management, linguistics, laboratory sample tracking, and children's educational software.

Technical Background

Platforms
Operating Systems
Languages & Technologies
Tools
PC
(15 years)

Windows 10
Windows 7
Windows Vista
Windows XP
Windows 2000

C#, C, C++, Visual C++
.NET Framework
WPF (Windows Presentation Foundation)
XAML (Extensible Application Markup Language)
MVVM Methodology
LINQ (Language-Integrated Query)
JavaScript/AngularJS
HTML/SCSS
SQL (Structured Query Language)
ODBC (Open Database Connectivity)
Java, Visual J++, JDK (Java Development Kit)
LEADTOOLS Imaging Pro
Visual Studio
.NET Memory
   Profiler
ANTS Performance    Profiler
Snoop
Expression Blend
ReSharper
Fiddler
Photoshop
Perforce
SourceTree
PC, server, and embedded
(4 years)
Debian Linux
Fedora Linux
C, C++
XML
Standard Template Library (STL)
Trolltech QT
Shell scripts
Eclipse
QT Designer
Linux Tool Chain

Education

B.S. Computer Science (Summa Cum Laude) – Rensselaer Polytechnic Institute, Troy NY
Top-ranked computer scientist in graduating class
National Merit Scholar

Experience

L4 Digital
Seattle, WA
Senior C#/WPF Developer,
Javascript/Angular Developer
(Internet television applications)
1/16-Present

As a WPF expert, I was hired to assist with the XBOX 360 implementation of L4's flagship product, the DISH (Dish TV) user interface. By the conclusion of that project, I had sped up the critical portions of the application by a factor of 100. After that, I stayed on to do Javascript/AngularJS development, with an emphasis on performance, for the Windows 10/UWP version of the same product.

Used C# from Visual Studio 2014, Windows Presentation Foundation (WPF), XAML, .NET Framework 4.5, .NET Memory Profiler, ANTS Performance Profiler, Javascript, AngularJS 1.6, Fiddler, and Chrome DevTools.


Wizards of the Coast
Renton, WA
Senior C#/WPF Developer
(Online game application)
2/12-12/15
4 years

As an expert in WPF architecture, performance, and development techniques, I was hired to bring that knowledge – and my ability to share it – to Wizards' flagship software development project, a WPF implementation of Magic: The Gathering Online.

I dramatically improved the performance of the product (one of their major concerns), re-wrote the “battlefield” at the heart of the game to greatly improve users' experience, and worked to help the rest of the team move towards greater proficiency with known-best-practice WPF techniques. I both wrote extensively and mentored frequently in pursuit of this goal.

Used C# from Visual Studio 2012, ReSharper, Windows Presentation Foundation (WPF), XAML, .NET Framework 4.5, and LINQ. Methodologies included MVVM. The client's development methodology included many agile components.


Corbis Corp.
Seattle, WA & Denver, CO
Senior C#/WPF Architect and Developer
(Enterprise application for managing digital assets)
8/11-2/12
6 months

As a WPF expert, I was brought in to design and implement a strategy to convert the client's digital asset-management software from WinForms to WPF/MVVM. (The licensing of digital media, particularly images, is the client's core business.) The strategy I designed was adopted by the client, and conversion was well under way when I departed. I implemented the architecture necessary to support the conversion, and I also converted numerous windows myself, thereby generating a large base of well-documented examples for the client.

The strategy I created did not involve “throwing it out and starting over again”, but was incremental, continuously testable, and steadily reduced the total size and complexity of the code base.

Used C# from Visual Studio 2010, Windows Presentation Foundation (WPF), XAML, .NET Framework 4.0, LINQ, and WinForms. Methodologies included MVVM. The client's development methodology included agile components. Some use of Expression Blend.
Travelport
Seattle, WA & Denver, CO
Senior C#/WPF Developer
(Massive application for managing global travel-related services)
4/10-8/11
16 months

As a member of the elite team of WPF experts at the heart of the world’s largest WPF development effort, I invented and implemented multiple innovative C# and WPF techniques to solve UI and architecture-level problems. These included:

  • A completely original approach to control validation that does not require per-control XAML, while still building on the extensibility of the WPF validation architecture.
  • An innovative reflection-based technique for reclaiming the memory associated with system-generated change notification for POCOs that do not explicitly implement change notification.
  • A novel system for improving the load time of controls by intelligently deferring component initialization until an assessment has been made of controls’ visibility states.

Travelport gave me permission to share the white papers and code associated with these innovations, and they are available both on my website (in the Publications section) and at codeproject.com.

Developed and taught multiple training sessions on advanced C# and WPF for other developers. Wrote and internally published a variety of papers on specific development issues.

Before being assigned to the architecture team, I served as a senior member of the performance team, where I worked on system-wide performance issues spread across 3,000,000 lines of code. This required expertise with a variety of techniques for improving speed, decreasing memory footprint, and finding and fixing memory leaks.

Worked both remotely from my Seattle office and at the client’s site in Denver.

Used C# from Visual Studio 2010, WPF, XAML, .NET Framework 4.0, LINQ, and SciTech .NET Memory Profiler 4.0. Methodologies included MVVM.


The Organized Wedding
Seattle, WA
System Architect
(Event-planning application with strong AI and custom GUI components. Shrinkwrap.)
9/02-4/10
7 years

Designed and implemented the premier wedding planning software in use worldwide at the time. The application made extensive use of hierarchical styling, control compositing, and image manipulation techniques re-implemented from WPF/XAML in what was otherwise an MFC application. Other specialized GUI work included numerous custom controls and customized versions of standard Windows components. Creating this program required mastering a variety of artificial-intelligence programming techniques to allow the program to serve as an “expert etiquette consultant” for the user. I used a tight cycle of rapid prototyping and usability testing to guide the design of the user interface, resulting in high user acceptance and satisfaction. The software sold in 46 countries.

I was solely responsible for all programming on this project, which was completed using C++/MFC and C#/WPF/XAML with extensive SQL through an SQLite database engine. To see examples of my work on this project, go to the Portfolio section of my website.

Used C++ and C# from Visual Studio 2008, MFC, WPF, XAML, .NET Framework, LEADTOOLS, AutomatedQA TestComplete, and InstallShield Express. Initial versions of the software used MS Access; later versions use SQLite. Also did occasional maintenance on a Linux web server, wrote some HTML for the website, and used Photoshop to create and modify artwork used in the software.
Natus Medical Inc.
Seattle, WA
Software Development Manager, Software Developer
(Embedded Medical Device Software)
11/05-2/10
4 years

Completed development of embedded software to run a medical device for preventing brain damage in newborns. This is a Class 3 medical device, so this work was performed under tight government regulation and a disciplined development methodology. Used the Eclipse IDE and QT on Fedora Linux to develop C++ code to run on Debian Linux embedded on the device. Wrote Linux shell scripts, modified Linux configuration files, etc. Used XML for data marshalling between the three independent processes running on the device. Authored technical specifications and edited SOPs. Wrote and modified some HTML for the help system.

Although this started as a team project, by the end I was the sole developer (with a one-year stint as Software Development Manager in the middle). This work continued in parallel with my work for The Organized Wedding.

This product was a recipient of the prestigious Medical Device Excellence Award in 2007. To see examples of my work on this project, go to the Portfolio section of my website.

I also created a cross-platform (Windows and Linux) version of the user interface for a second medical device that monitors the brain activity of newborns.

Used Eclipse, C, C++, Linux, XML, STL, Trolltech QT, QT Designer, and shell scripts.


Perkin Elmer
Billerica, MA
GUI Designer/Software Developer
(Instrument control applications, data analysis applications)
5/00-9/02
28 months

Designed and implemented user interfaces for four separate product lines with a distinctive, totally custom appearance. The applications were designed to control robotic scientific instruments and to analyze the results returned by them. The graphical user interfaces I created had many features that were highly innovative at the time:

  • Live rendering of 3D surfaces as part of many resizable UI controls
  • Non-rectangular controls
  • Use of animation for navigation within biochip images
  • Live rendering of complex data sets in a flexible, user-modifiable format
  • Resizable dialogs throughout, which intelligently resized and reconfigured their contents
  • Almost every portion of the Windows user interface, even standard components – the open file dialog, the font dialog, push buttons, radio buttons, check boxes, menus, spin controls and message boxes – were overridden to have a custom look and feel.

I was solely responsible for the design work on all four user interfaces, and was responsible for all implementation on three of them. To see examples of my work on these projects, go to the Portfolio section of my website.

Used VC++ (6.0), MFC, the Active Template Library, and Rogue Wave Stingray on Windows 98 and Windows 2000.


Empire State College
Saratoga Springs, NY
Instructor
(Java programming course)
10/01-5/02
8 months

Co-designed and co-taught an online course in Java. This was the first time this course had been offered by Empire State College, so the course had to be developed from the ground up: evaluating text­books, selecting appropriate topics, developing applets and applications to demonstrate object-oriented techniques, and otherwise creating a college-level course. The course is still offered.

Used JBuilder and Visual J++(6.0).


Kodak
Lowell, MA
Software Developer
(Image organization application)
3/00-5/00
3 months

Developed a completely original look and feel for an application that arranged digital images into photo albums. The graphical user interface I created had a number of cutting-edge features at the time:

  • Patterned and washed backgrounds for views and dialogs.
  • Translucent controls.
  • The use of auras, glows and other visual effects to indicate control states. This included menu items and individual list items, not just “stand-alone” controls.
  • Frames and caption bars that appeared rounded or beaded, as opposed to simply beveled.
  • Push buttons and combo-boxes that changed appearance when the cursor rolled over them.
  • Run-time use of image filters to change the appearance of screen components, including toolbar items and push buttons.

I was solely responsible for the implementation of this user interface, which I completed in less than three months.

Used Visual C++ (6.0), MFC, and the Active Template Library on Windows 95, Windows 98 and Windows 2000.


Northern Computers
Milwaukee, WI
Software Developer
(Security hardware firm, facility access application)
1/98-7/99
19 months

Worked with an eight-person team to develop software to manage the world's most sophisticated corporate security systems. This software used a distributed architecture with multiple clients and multiple multi-threaded servers that communicated by remote procedure calls and that used SQL to interact with an ODBC database. I designed and developed several of the servers and services in their entirety, a substantial portion of the user interface, and a system of code reuse strategies that reduced the workload for the rest of the team.

As part of the internationalization effort for this project, I also designed and created a software toolkit to assist both the translators and the developers in rapidly creating multi-lingual/multi-national versions of the software.

Used ODBC, SQL, COM, DCOM, Visual C++ (5.0) and MFC on Windows 95 and NT (4.0).


Quest Integrated
Kent, WA
Software Developer & Consultant
(Engineering firm, image-analysis/scientific/military application)
7/96-1/98
18 months

Worked with a three-person team to complete an image-analysis application for use with data returned by a remote probe. This involved the development of a completely custom user interface capable of displaying, and allowing the user to interact with, a wide variety of three-dimensional scientific data.

This package was the first full-featured Windows application developed by Quest, so I served as a consultant on Windows programming techniques and standards in addition to my role as a developer.

For the second half of this contract, I developed the original product into the nucleus for a new line of products. This required the use of sophisticated detail abstraction and code reuse techniques, in addition to a variety of graphics optimization technologies.

Used OLE controls, OLE automation, Internet Sockets, Visual C++ (4.0), and the Microsoft Foundation Classes on Windows NT (3.51 & 4.0).


SecureNet Technologies, Inc.
Lynnwood, WA
Technical Consultant
(Software house, anti-virus application)
6/96-7/96
1 month

Evaluated the progress, methods, and time projections of a third-party development company that had been hired to write an anti-virus package for Windows NT. This involved rapidly gaining a knowledge of the inner workings of the NT operating system and applying this knowledge to both proposed specifications and an existing code base. This was a politically and legally delicate situation, and required diplomacy in addition to technical ability.

Used Visual C++(4.0) on NT 3.51 and an assortment of disk analysis utilities.


Wall Data Incorporated
Kirkland, WA
Software Developer
(Software house, installer/uninstaller)
2/96-4/96
2 months

Worked with a six-person team to complete an installer for a large, inter-platform communication suite. The installed product supported a diverse combination of platforms, so the installation program itself was more interesting than usual. The primary installer was completed using InstallShield; subordinate DLLs and spawned executables were completed in Visual C/C++ using both MFC and the SDK.

In addition to the main project, I was solely responsible for the development of an installer for Wall Data's ActiveX controls. Development of these controls was a small but high-profile project to showcase the capabilities of Microsoft’s brand-new ActiveX technology. A separate department did the development, and completely forgot the installer until three days before ship. I developed the installer entirely in MFC, without InstallShield, and we shipped on time. (We also got a nice note and a case of beer from Bill Gates.)

Used Visual C++ (4.0), MFC, and InstallShield on Windows 95 and Windows NT (4.0 Beta).


Adobe Systems Incorporated
Seattle, WA
Software Developer
(Software house, desktop publishing/linguistics. Shrinkwrap.)
9/95-2/96
5 months

Incorporated an international linguistics package into Adobe PageMaker. This required learning a new development environment on several new operating systems, quickly and without assistance. Because this was a linguistics package, this meant dealing with 18 human languages I didn't know, in a development environment I didn't know, on an operating system I didn't know. This project was completed successfully and on time.

Completing the project required writing cross-platform glue code to communicate between Adobe PageMaker and a third-party linguistics package. Used Visual C/C++ (2.2) under Windows 95 (the one platform that I originally knew), Metrowerks Code Warrior (v1.2.1c2) on Power Macintosh (System 7.5) and Mac 68000.


Edmark Corporation
Redmond, WA

Lead Programmer
(Software house, children's multimedia application. Shrinkwrap.)

7/95-9/95
3 months

Led a team of six programmers to complete a seriously troubled, high-stakes project. Reorganized and re-energized the team, and both planned and led the final push to completion. Dealt with several layers of managers who were concerned about their futures. The product was named one of the seven "must buys" for Windows 95 by the Wall Street Journal (page B1, Aug 24, 1995).

Completing the product required porting and substantially redesigning a completely custom user interface with significant multimedia, massive multithreading, and shell replacement capabilities. Used Visual C/C++ (2.1) and MFC under Windows 95.


United States National Park Service
Wind Cave National Park, SD
Federal Park Ranger
(Interpretive & Resource Management Divisions)
5 years

Led teams of explorers into the world's sixth-longest cave system. Required the ability to exercise leadership under conditions of exhaustion, pain, and significant physical danger. Required the ability to make careful scientific observations and measurements under the same conditions. Spoke extensively to the public on cave resources, exploration techniques, and environmental topics. Developed educational programs for the public. Required the ability to captivate large groups and move them to action.


 

References available upon request