A Quick Introduction
So... Who am I and what can I do?
In certain respects I am a generalist. I've designed and authored an application for monitoring data from industrial cooling tower controllers, coded a character creation pipeline that slices, dices, and stitches back together 3D animated meshes, and administered an SCM system used by people across three continents. But over time everyone tends to specialize in some way. For me, I always find myself involved in either workflow automation or tying disparate systems together. That is where I excel the most. When things don't work well, I help make them work well. It may involve optimization of a manual process, or full automation through programming.
I will benefit your group if you need someone who knows how to use technology to improve workflows. The primary job may be development, test, DevOps, management of [insert obscure application/system here], or a mishmash of different responsibilities. I will always end up optimizing the job in a way that makes life better for everyone involved.
Now on to the lists. Lots of lists...
Summary of Technical Experience
Current projects involve iOS, Swift, and Xcode. These are training/prototyping projects, so their technologies are not yet included below. (Experience not yet significant.)
|Technology||Years of Experience||Last Year Used|
Significant experience with the following technologies. But experience is either limited in scope or the amount of time spent using it.
- C++ (Mostly related to .NET interop.)
- Autodesk Maya (Rigging/Animation/Scripting)
- Substance Designer
Independent Project Experience
Links to various public projects, including source code and documentation, can be found on the homepage of this site. at http://www.stevefsp.org/.
- Adapted Recast Navigation for use with .NET and Unity3D. (Successfully used by a third-party in a Google AppStore "Editor's Choice" application.)
- Designed and implemented a FK/IK animation rig along with associated ease-of-use tools. (Scripted creation, FK/IK blending and synchronization, pose management, etc.)
- Designed and implemented multiple 3D character creation pipelines for use with Maya and Unity3D. (Maya ⇒ Model and Texture Variants ⇒ Unity3D. Design and run-time creation.)
- Designed and implemented a Unity3D character management framework for use at both design and run-time. (Base characters ⇒ Variant creation and management)
- Designed and implemented a complex character animation controller suitable for use with both AI and human input, including optimizations for each input type.
- Authored an online guide covering automatic voxelization-based navigation mesh generation.
Experience from Last Employer
Visa Inc., Open Systems Software Configuration Management Group (SCM)
- Responsible for design, documentation, deployment, maintenance, administration, advanced technical support, and tools/automation for SCM systems.
- Implement infrastructure tools and automation for a mixed Windows/UNIX SCM infrastructure. (Design, develop, create end-user and administrative documentation, create QA and test environment documentation, production installations and upgrades.)
- Act as one of two ClearCase/ClearQuest SME's for the VISA organization.
- Provide technical and process SME mentoring for junior team members.
- Provide technical and process SME support for internal customers.
- Provide 2nd level pager support. Includes responding to system outages and handling end-users issues that 1st level is unable to resolve.
Selected SCM Related Accomplishments (Technical)
- Senior member of initial rollout of Rational ClearCase and ClearQuest at VISA.
- Designed and implemented enterprise ClearQuest schema. (Highly customized. 12+ custom record types including defect, enhancement, software turnover, change history, and various configuration record types.)
- Handled all data migration from a wide variety of legacy defect tracking systems into ClearQuest.
- Supported a customer base of dozens of QA and development groups representing hundreds of applications. (Six sites on three continents. Peak of 1000 registered users. Peak of 100 concurrent users.)
- Supported a large mixed infrastructure of 20+ hosts with over 1000 ClearCase VOB replicas. (Non-virtual, 50-50 Windows/Unix)
Selected Development Related Accomplishments
- Led the design, development, and deployment of three Windows service applications, coding over 90% of the applications.
- Implemented a multi-tier infrastructure for monitoring and managing ClearCase MultiSite (source code) synchronization.
- Implemented a multi-tier infrastructure that provided integration between ClearQuest and ClearCase.
- Created many monitoring and administrative tools. (E.g. License tracking and reporting, access monitoring, repository validation, etc.)
Selected Development Project Details
- Primary technologies: C#, Java, Visual Basic, SQL Server, IIS, Perl.
- Windows and UNIX server processes with a MSSQL data store and ASP.NET front end.
- High use of Windows/UNIX interop. (50-50 infrastructure split.)
- Extensive use of OOP. Approximately 75% of the total code base in re-usable libraries.
- Components written in any command line capable language can be plugged into the server and utilize higher level services such as the DB and networking components.
- Job scheduling including on-demand, fixed interval, floating interval, and crontab-style scheduling.
- Custom integration between ClearQuest and ClearCase. (ClearQuest ⇒ Client Library ⇒ Host Services ⇒ ClearCase.)
Independent Projects and Training (March 2008 - Now)
See the "Independent Project Experience" section.
VISA Inc. (November 1997 – March 2008)
04/2003 – 03/2008 : Software Engineer
05/2000 – 04/2003 : Sr. Systems Programmer Analyst
11/1997 – 05/2000 : Software Configuration Analyst/Sr. Software Configuration Analyst
BetzDearborn (February 1992 – November 1997)
Industrial water treatment. (Purification, cooling, steam cycle, etc.)
U.S. Navy (September 1983 – November 1991)
Naval nuclear propulsion. Submarines. Specialty: Radiological controls and chemistry.