Frank H. McPherson IV


Profile

Software developer and technical leader with 25 years experience, for a variety of employers and clients ranging from stealth-mode start-ups to industry-leading large companies.


Skills

Scala, Java, Unity 3D, C#, C, Cocoa


Specialties

Scalable Data Processing Systems, Geospatial Data & Applications, Serious Games, Modeling, Simulation & Training, and Embedded Systems


Experience

Apple Inc., Cupertino, CA

October 2013 to present

Senior Software Engineer, Maps Digital Supply Chain Engineering, Points of Interest (POI) Team

POI Data Updates

Developed and ran a pipeline to ingest, validate, process, and deliver frequent POI data updates from many external & internal sources using varying formats, including CSV, JSON, XML, and Shapefile. Many of these data sources have contributed to tentpole client or services features; for example, Transit, Indoor, and Apple Card.

Apple-owned Maps Data Initiative

Helped prototype and operationalize the POI portion of the Apple-owned Maps initiative, shipping Apple-sourced Maps data in Arizona, California, Hawaii, Nevada, and New Mexico.

Janus Research Group, Inc., Evans, GA

April 2001 to October 2013

Conceived serious game, training, and network operations products to close critical capability gaps for Department of Defense customers. Helped win buy-in and funding from senior DoD leaders.

Unity3D Virtual Environment Engine (UVEE), 2011-2013

Led development of UVEE, an immersive 2D and 3D individual task training platform written in C# and Unity3D. Environments, equipment, and software are all fully interactive from the learner perspective. Developed a scripting platform that allows curriculum developers, instructors, and other subject matter experts to develop UVEE Interactive Multimedia Instruction (IMI)-based training simulations, resulting in cost savings and increased quality of the course material, by obviating the usual need for software developers to produce training material via more traditional programming-based methods. Janus Research Group has used UVEE to deliver over 50 training simulations, replacing or augmenting thousands of hours of classroom and non-interactive computer-based training courses, for tens of millions of dollars of revenue over the lifetime of the product.

Mind’s Eye (DARPA), 2010-2011

Led a team of software developers and video production specialists to develop a corpus of test vignettes in support of the Mind’s Eye program. These vignettes consisted of hundreds of recognizable verbs, filmed live and with a motion capture rig, and then procedurally varied along several axes to produce tens of thousands of videos with known variations, used to train the candidate VI systems, as well as rigorously evaluate their capabilities.

Fingerprint Scanner, 2010

Used .NET API to integrate a hardware fingerprint scanner with a Unity3D serious game, allowing the players to use real-time results from an actual USB fingerprint scanner in the game.

Nodal Network Simulator (NNS), 2005-2010

Saved millions of dollars in equipment and classroom costs for the US Army Signal Center of Excellence by using modeling, simulation, and serious game technology and techniques to develop a multiplayer virtual training environment.

QTPlayback, 2008

Wrote a widely-used cross-platform Unity3D plugin that leveraged the QuickTime SDK and low-level OpenGL libraries to play back Quicktime movies on any texture in a scene. This popular plugin demonstrated the need for full-featured movie playback in Unity3D games, and led the vendor to integrate OGG Theora movie playback capabilities in to a subsequent version of Unity3D.

Network Planning and Simulation Tool (NPST), 2003-2006

Led a team of software developers to develop NPST, a terrain-based communications coverage planner written in Java and Java3D, using various raster and vector terrain data sources.

Netflows, 2001-2004

Developed netflows, a turnkey network performance monitoring system consisting of FlowMonitor, a Snort and LIBPCAP-based packet capture and network flow monitoring component, a Postgresql-based data storage component, and FlowBrowser, a Java front-end used by network operations personnel to monitor and explore the captured network flow data.

AdEvia Ltd., London, United Kingdom

October 2000 to April 2001

AdEvia was a venture-funded pan-European broadband aggregation start-up founded by several key members of the DSL Forum.

The MITRE Corporation, Reston, VA

1997 to 2000

Won the Principal Investigator position for a 3-staff-year internal research and development effort, “Open Source Software in Military Systems”. Published a paper with the same name in “IEEE Software.”

Team member on a High Level Architecture (HLA) Runtime Infrastructure (RTI)-based federated simulation for the US Navy Integrated Ship Defense System (ISDS).

On-site and field support for numerous Army and Joint digitization and modernization efforts, including Task Force XXI, First Digitized Division, and Joint Contingency Force (JCF) Advanced Warfighting Experiment (AWE). Ported Embedded Battle Command (EBC), an ANSI C-based, 425-module, distributed situational awareness and command and control Army Battle Command System (ABCS) application, from VxWorks to Linux. Led the team that developed the boot loader to deploy Linux and EBC on the PowerPC-based, harsh-environment VMEbus embedded computer deployed in the US Army Main Battle Tank M1A2 System Enhancement Package (SEP).

Apple Computer, Cupertino, CA

January 1997 - April 1997

Continued NeXT duties in the Release Control group at Apple during the acquisition process.

NeXT Software, Inc., Redwood City, CA

1995 - 1997

Developed and maintained distributed build tools and assisted with day to day duties of software release control for a four-architecture operating system and complete development tool chain.

Recognition Research, Inc., Blacksburg, VA

1994 - 1995

Developed portions of a distributed forms image processing workflow system for a heterogeneous UNIX and Windows NT network. Deployed the system to several customer sites, including United States Census Bureau and Swiss Bank.

IBM, Lexington, KY

1992 - 1993

Saved over $1 million per year in operating costs by replacing a legacy Multiple Virtual Storage (MVS) mainframe multi-architecture build system with a self-developed IBM Advanced Interoperative Executive (AIX) distributed batch queuing system constructed using shell script, rsh, sed, awk, and other standard UNIX tools. In addition to cost savings, the system increased the execution speed of automated builds and regression test suites for PL/X, a widely-used IBM internal proprietary language.


Education

Bachelor of Science, Computer Science, Virginia Tech, 1994


PDF version of resume

MS Word version of resume