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
Technical Skills: Objective C, C#, C++, mySQL, Java, JavaScript, Assembly Language (6502, 8086, 68000, Risc, etc)
● Windows, OSX, Linux,
Android OS (ICS), iPhone, GDB ● Object-Oriented and functional paradigms ●
Component Architecture, Design Patterns, UML ● STL, template-method programming ● Windows, Linux ● Cross-platform
and distributed application development ● Internationalization ●
Software Security ● web technologies (Joomla, PHP, HTML, CSS, XML, etc) ●
UI (Microsoft MFC, Windows, GTK), DirectX, OpenGL ● Embedded systems
development (Spartan, Stamp, etc) ● Audio systems (OpenAL, ADPCM) ●
Concurrent, multi-threaded application development ● Visual Studio,
MSBuild, GCC, Perforce, SVN, GIT, Codewarrior, XCode & Eclipse CDT, FDT, Java
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.
Education
BS Computer Science, University of Maryland University College
My Principles
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.
References
Available on request
No comments:
Post a Comment