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 |
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:
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:
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 textbooks, 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:
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 |
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