A software architect and consultant seeking a position as a senior development director or senior technical lead engineer who loves of doing hands-on engineering in a professional software development environment. I enjoy working on a broad set of duties including architecture, implementation, requirements definition, algorithms, engineering process, and automation, M&A, financials and business development.
Background: Over Twenty years corporate operations, consulting, and start-up experience in the following industries: application development, Android OS development (ICS), video games, social networking games, Linux infrastructure, interactive entertainment and 3D graphics. Project and software development work includes applications and video games on the Android, iPhone, Linux, Wii, XBOX, PSP, XBOX 360, PC, Flash, real-time embedded systems, web applications, and database design.
Managerial and production skills: Well versed in determining staffing needs, and identifying, allocating, and retaining resources. ● Fluent with project scheduling (MS Project, dot project) ● Versed in Scrum and Agile Development and SDLC
Work Experience Highlights
Video Engineer (May 2012 - Present)
Designed and wrote cross platform system for post processing videos with Shaders for iOS, Android and Linux. Designed and implemented back-end fault tolerant system in C++ using Mongrel2, 0MQ, RabbitMQ, Theron and Accord on Linux servers that scales with both multithreading or distributed plugins. The system is to be used for uploading >20,000 videos a day. Wrote PHP code on Linux to process video via MongoDB and add and mix audio tracks for Android and iOS. Design and wrote server side video processing using CUDA, OpenGL and cross platform shader system.
Contract Senior Software Engineer, Sony Ericsson (December 2011 – April 2012)
Designed and help develop a video game for Android phones using Unity3D engine and C#. Wrote and integrated Quantum Hierarchical State Machines for A.I. in game. Wrote touch code for Android, Optimizing graphics code and graphics shaders for game. Lead and teach other engineers on coding practices and help boost engineers skill set through my knowledge transfer. Optimizations and debugging of Android OS (ICS) and Qualcomm OpenGL drivers for new phone hardware.
CEO/CTO, Signature Devices, Inc./Graffiti Entertainment, Inc. (Feb 2003 – December 2011)
Wrote complete game engine for the Wii, including porting OpenAL, writing a complete OpenGL layer, WiiMote libraries, DVD libraries and NAND libraries to use standard C++ file I/O libraries, implementing multithreading on the Wii using pthreads and other libraries. Design and implement technologies for gaming industry, including Elemental Engine II (3D Graphics Engine), www.phatyaffle.com (online gaming Web 3.0 community). Manage 6 ongoing video game projects on Nintendo DS, Sony Playstation, XBOX 360, Wii and PC, with over 100 people across the world. Managed outsourcing groups from Italy, Argentina, China, Canada, Finland, Poland, Russia and the United States. Designed and programmed 3D, Sound, system, movie system, device input for Wii, XBOX 360, PS3, iPhone/IPad. Wrote OpenGL Objective C interfaces for C++ code on iPhone, Ported Reader Rabbit to iPhone. Contract work for Electronic arts on Medal of Honor Pacific Assault - general coding, vertex, pixel shaders DX8/DX9 3D engine work. Contract work for Crytek on Farcry - optimizations, help with Vertex and Pixel shaders and ported Crytek 1 engine to XBOX.
Sr. Engineer, NVIDIA Corporation (Feb 1999 – Feb 2003)
Current responsibilities include Control Panel and Driver work for next generation products. Past responsibilities include but are not limited to the following: Provided “Best Practices” for software engineering team. Defined process for software engineering inside Technical Marketing group. Drive NVIDIA technologies into games. Programming and optimizing code for developers specific to NVIDIA hardware. Wrote NVASM vertex/pixel shader for NVIDIA hardware. Wrote NVTune – performance tool for internal and external usage. Wrote Minnaert, Brushed Metal, Particle System, Refraction and Cloud Cover Demo. Wrote three chapters in books covering vertex and pixels shaders specific to NVIDIA hardware. Wrote benchmark samples for Mad Onion. Very familiar with NVIDIA hardware. Work with architecture, software engineering, external developers and Hardware Engineering to help define next generation products.
Technical Marketing Engineer, Intel Corporation (Feb 1997 – Feb 1999)
Optimize i740 drivers. Worked with Sales to drive marketing and technical material. Worked with Hardware and Software engineers to drive customer requests into hardware. Assisted Hardware Engineering team with issues related to Software Engineering including memory bandwidth issues, AGP bottleneck issues.
Senior Software Engineer, Electronic Arts Inc. (Aug 1994 – Feb 1997)
Lead Programmer for Wing Commander III, Sony Playstation. Organized assets for over 2 hours of video for PSX version. Ported code that was originally in 28 Megabytes down to 3.5 Megabytes of Sony Playstation. Reversed Engineered Sony Playstation movie converter to write one under DOS that would be much faster and could batch process movies. Created DCT (movie format for Sony) conversion utilities. Created 3-D Engine for Sony PSX for Wing Commander III. Wrote Movie Playback routines to Play branching video, which had not be attainable until this product. Supervise and direct three other programmers, 2 artists and 6 testers for this product.
CEO/Software/Hardware Engineer, Futurescape Productions Inc. (Oct 1992 – Aug 1994)
Managed 8 people, 4 artists and 3 programmers & 1 business manager. Helped develop 3-D code for the Sega Genesis. Wrote library routines for games for the Sega Genesis that Futurescape now uses. Scheduled and tracked employees progress. Trained business manager to use computerized bookkeeping system, how to fill out tax forms, and how to use project tracking software. Ported Incredible Toons from IBM to Sega Genesis. Designed electronic printed circuit boards that are used for game development on the Sega Genesis. Designed hardware for a 128k Save ROM for Sega Genesis games.
Technical Lead, Electronic Arts (Nov 1990 – Oct 1992)
Started as second programmer, on Chuck Yeagers Air Combat Simulator. Wrote scaling bitmap routines, digitized sound drivers, VGA driver routines, and polygon routines in VGA. Translated The Immortal from Apple II to IBM VGA graphics. Received "Rookie of The Year" at Electronic Arts. Promoted to Technical Lead after 1 year.
BS Computer Science, University of Maryland University College
Constantly educate yourself ● The last 10% is the hardest and what I do best ● The maintainability of code drops non-linearly in proportion to its size. Write less code, or shorter code, whenever possible ● Engineer the code don’t just program it ● Build components and unit test them using practical principals of design patterns ● Code should reflect the team, not the individual (abide by coding standards) ● Love what you do and I do.
Available on request