||June 2013 – Present
||Senior Software Engineer, Mountain View, CA (October 2014 – Present)
- As part of the Fun Propulsion Labs team at Google, working on open-source game technology to empower game developers for Android and other platforms.
- The team's projects include Zooshi, Pie Noon, FlatBuffers, LiquidFun, and more.
||Senior Software Engineer, New York, NY (June 2013 – September 2014)
- As part of the local data quality team at Google, ensuring the accuracy of local businesses listed on Google Maps using machine learning and data analysis techniques.
||Arkadium, New York, NY
||April 2011 – June 2013
||Manager of Game Programming (February 2012 – June 2013)
Senior Game Programmer (April 2011 – February 2012)
- Technical lead on a suite of Windows 8 games published by Microsoft Game Studios, including Microsoft Solitaire Collection, Microsoft Minesweeper, Microsoft Mahjong, and Taptiles.
- Lead programmer on in-box Solitaire for Windows 8, playable in the Windows 8 Consumer Preview, and Microsoft Solitaire Collection in the Windows 8 Store, written in C# using SharpDX and DirectX.
- Designed and built extensive engine and social game library code for the company's growth into desktop and mobile game development.
- Managed, mentored, and inspired a team of game programmers across multiple divisions, including casual, social, and Windows.
- Led workshops, classes, and programming challenge to help the game programming team learn new skills and get excited about new technologies.
- Created and maintained coding standards for C# game development.
- Led architecture reviews and taught other programmers about advanced development techniques.
||Powerhead Games, New York, NY
||February 2001 – June 2003; March 2005 – April 2011
Technical Director (January 2007 – April 2011)
Lead Programmer (March 2002 – June 2003; March 2005 – December 2006)
Programmer (February 2001 – February 2002)
- Lead programmer on unreleased Wii title and several Wii game prototypes.
- Created Scene engine for full 3D environments, animation, physics, dynamic camera, and pathfinding on Nintendo DS. Also created PC tool for laying out level and collision data.
- Wrote and enhanced DS UI systems including a text system and menu system with Lua integration, adding Unicode localization support; Petz Catz 2 was translated into 9 languages, including Japanese.
- Also wrote other systems: DS wireless libraries, DSi camera and photo support, RAM FS for demo games, particle system, and a Perl-based build system for logging all builds to a server.
- Wrote and responsible for dozens of gameplay systems, including AI systems, user controls, character scripting, dialog systems, sports game systems, rhythm game systems, platforming engines, player customization, virtual pets, story progressions, and many, many mini-games.
- For Imagine: Soccer Captain, created a 5-on-5 sports engine with context-sensitive touch screen controls, character animation, game rules, AI framework, and customizable player appearance, stats, and mood.
- For Backyard Sports: Sandlot Sluggers, enhanced sports engine to add full 9-on-9 baseball; also added a scripting system for complex plays, which was used by designers to create over 350 scripts.
- Implemented support for the Granny 3D animation system in an unfinished PC/XNA title, including a C++/CLI layer between the managed C# gameplay code and unmanaged Granny 3D library.
- Wrote a client/server system for an unfinished downloadable PC game, using a MySQL database and game server written in PHP, which communicated to the client via HTTP requests and JSON replies.
- Wrote HLSL shaders for unfinished PC game to support skinning, specular maps, fur, and more.
- Tech lead on Glow Artisan for DSiWare, winner of the 2010 IGF award for Best Mobile Game Design.
- Lead programmer on Glow Artisan for Windows Phone 7, a Windows Phone 7 Xbox LIVE launch title.
- Wrote memory maps, technical design docs, and submission docs for all of Powerhead’s titles.
- Managed and mentored 8 other programmers, and interviewed all candidates for programming positions.
||Kuma Reality Games, New York, NY
||February 2004 – February 2005
||Programmer (July 2004 – February 2005)
Technical Support Lead (February 2004 – June 2004)
- Added game features in C++ to Kuma\War, a PC squad-based FPS, including new weapons, items, vehicles, and user interface components.
- Used GameSpy libraries to add online voice chat and multiplayer enhancements to Kuma\War.
- Created client-server tools using PHP and MySQL for game-related tasks such as online scoreboard and CD key verification.
- Wrote GUI tool for configuration and remote management of game servers.
- Maintained Java-based account management and online credit card processing tools for the Kuma\War online service.
- Designed technical enhancements for multiplayer gameplay in response to player suggestions.
||Cybersites, Inc., New York, NY
||July 1999 – January 2001
- Programmed a database caching layer in C to speed up access to commonly-used data stored in a large Informix database.
- Developed a generic in-house trouble ticketing system in PHP.
- Created a system monitoring application in Perl 5 to track server availability and notify administrators of downtime.
- Modified an existing SMTP daemon to store received e-mail into MySQL and Informix databases instead of standard UNIX mail spools.
- Wrote an FTP daemon in C with a modular design, with the purpose of storing files and directories in an Informix database rather than on a standard filesystem.
- Adapted the Jabber open-source chat system to store its records via ODBC using Informix instead of flat files.
- Trained and mentored other programmers in the company, instructing them on proper software engineering procedures.
||Polytechnic University, New York, NY
||Graduated June 2001
||B.S. in Computer Science
- President, Association for Computing Machinery, Polytechnic University chapter (Polytechnic ACM), 2000-2001
- Vice President, Polytechnic ACM, 1999-2000
- Editor, “The Bit Stream” (Polytechnic ACM newsletter), 2000-2001
- Copy Editor, “The Bit Stream,” 1998-2000
||Systems: Windows 8 (Metro style), iOS (iPhone/iPad), Windows Phone 7, Wii, Nintendo DS/DSi, GBA, Game Boy, PC, Mac
||Tools: Visual Studio, CodeWarrior, Xcode, Corona SDK, Subversion, Team Foundation Server, Unity Engine, Granny 3D, MySQL
||Zooshi (Android, Fun Propulsion Labs at Google): Senior Software Engineer
Pie Noon 1.1 (Android, Fun Propulsion Labs at Google): Senior Software Engineer (Multiscreen)
||Twisty Hollow (iPhone, Arkadium): Original Game Jam Team (Circle Town), Programmer|
Microsoft Jackpot (Windows 8, Microsoft Game Studios): Manager of Game Programming
||Microsoft Solitaire Collection (Windows Phone 8, Microsoft Game Studios): Lead Programmer & Manager of Game Programming|
||Microsoft Solitaire Collection (Windows 8, Microsoft Game Studios): Lead Programmer & Manager of Game Programming|
Microsoft Minesweeper (Windows 8, Microsoft Game Studios): Manager of Game Programming
Microsoft Mahjong (Windows 8, Microsoft Game Studios): Manager of Game Programming
Taptiles (Windows 8, Microsoft Game Studios): Manager of Game Programming
Solitaire (Windows 8 Consumer Preview, Microsoft Game Studios): Lead Programmer
||ASYNC Corp. (iPhone, Powerhead Games): Technical Director and Programmer (uncredited; left during development)|
VS: Fire & Ice (PC XNA, Global Game Jam 2011): Programmer
||Glow Artisan (iPhone, Powerhead Games): Technical Director|
Did It Myself ABC123 (Nintendo DSiWare, Powerhead Games): Technical Director
Backyard Sports: Rookie Rush (Nintendo DS, Atari): Technical Director
Glow Artisan (Windows Phone 7, Microsoft Game Studios): Lead Programmer and Technical Director
Backyard Sports: Sandlot Sluggers (Nintendo DS, Atari): Lead Programmer and Technical Director
Major League Baseball 2K10 (Nintendo DS, 2K Games): Technical Director
||Glow Artisan (Nintendo DSiWare, Powerhead Games): Technical Director|
Imagine: Soccer Captain w/ Mia Hamm (Nintendo DS, Ubisoft): Lead Programmer and Technical Director
Winx Club: Your Magic Universe (Nintendo DS, Konami): Technical Director
Petz Fashion Dogz & Catz (Nintendo DS, Ubisoft): Technical Director
||My Fun Facts Coach (Nintendo DS, Ubisoft): Technical Director|
Imagine: Movie Star (Nintendo DS, Ubisoft): Technical Director
||Winx Club: Mission Enchantix (Nintendo DS, Konami): Technical Director|
Petz Catz 2 (Nintendo DS, Ubisoft): Engine/Tools Programmer and Technical Director
CSI: Dark Motives (Nintendo DS, Ubisoft): Technical Director
||Catz (Nintendo DS, Ubisoft): Tools and Support Programmer|
Winx Club: Quest for the Codex (Nintendo DS + Game Boy Advance, Konami): Lead Programmer
||Trollz: Hair Affair (Game Boy Advance, Ubisoft): Lead Programmer|
||Kuma\War: The War on Terror (PC CD, Kuma Games): Online Infrastructure & Tools Programmer|
Kuma\War (PC online episodic game, Kuma Games): Additional Gameplay Programmer
||Legends of Wrestling II (Game Boy Advance, Acclaim): Lead Programmer|
Mary-Kate and Ashley Sweet 16 (Game Boy Advance, Acclaim): Programmer
||Mary-Kate and Ashley Girls Night Out (Game Boy Advance, Acclaim): Programmer|
||E.T. Digital Companion (Game Boy Color, NewKidCo): Programmer|