Senior Software Engineer, Software Architect
Innovative and driven senior engineer seeking opportunities as a contractor, consultant or full-time employee charged with responsibilities that include timely planning, design, implementation, and project management of advanced software systems. Ideally suited for projects that include:
Career Accomplishments
THQ, Inc.
Carlsbad, CA 92008
August 2005 – Present
Responsible as the Graphics Lead for a currently unannounced next gen title. Includes advanced shader development and shader integration into an existing multi-platform engine. Also design and modification to the existing engine to take advantage of the multi-threaded hardware available on next gen consoles. C/C++, HLSL, GLSL, D3D, OpenGL.
Sony Computer Entertainment America
San Diego, CA 92121
December 2003 – July 2005
Responsible for design and implementation of graphics engine and support tools for a PS2 football simulation game. Highly data driven engine, 1, 2 and 4 bone skinning, reflections, shadows, quad shadows, particle systems, scissoring renderer, APIs for SPR usage, DMA chain creation and maintenance, (non-interrupt driven) texture management, (non-GS primitive) fog, render to texture. 22 skinned, animated players with all effects and features render at 60Hz. Responsible for tools for cutting geometry and textures into game ready binaries. Utilized PS2 Performance Analyzer for optimization. C/C++, VSM Assembly (VU0 and VU1), VCL, EE assembly, DMAC, XML, SOAP
Quantum3D, Inc.
San Jose, CA
Senior Software Engineer
June 1997 - January 2003
Responsible for design, implementation and maintenance of OpenGVS and Mantis Scene Management software products for the VisSim industry. Designed and implemented importers, motion systems, special effects, and shader based special effects for nVidia and 3dfx based PC based image generators, collision detection systems, keyframed animation of heirarchial scene graphs, quaternion and matrix math, and physics systems. Responsible for maintenance and low level optimization of all areas of the scene graph manager and rendering loops. Converted a large, single threaded scene graph manager to thread safe multithreaded including use of synchronization objects and debugging. All development was cross platform between W32, Irix, Linux and Sun operating systems. C/C++, Visual C++, .NET, OpenGL, D3D, Vtune, some assembly.
@360, Inc.
San Diego, CA
December 2001 - May 2006
Per contract architected, designed, implemented and tested a secure, multi-OS, multi-user, wireless ISP system. Attributes of the system include custom smartcard programming, mutual authentication schemes, SQL backend database, embedded linux implementation, and access point software design and implementation. Responsible for all aspects of system design, implementation, integration and testing. C++, Visual C++, .NET, OpenSSL, TCP/IP, XML, SOAP
FunLotto, LLC
Columbus, OH
January 1999 - June 2002
Per contract designed and implemented a large, multi-OS, distributed lottery gaming system. Attributes of the system include secure communications via XML messaging over SSL connections, native C++ integration with Macromedia Director movies, OpenGL based Games and User Interface design and implementation, custom JavaCard design, implementation and integration, and SQL backend system design and implementation. Interacted directly with Macromedia content creators. C/C++, Visual C++, .NET, XML, SOAP, OpenSSL, TCP/IP, OpenGL.
Kaiser Electro-Optics, Inc.
San Diego, CA
Senior Software Engineer
April 1993 - June 1997
Responsible for all software engineering tasks. Designed and built demo simulations, test pattern generators, and commercial products on SGI Reality Engine and PC based image generators. Designed and wrote a set of Virtual Reality experiences (CueVue, Shrapnel, and OrbAttack) that include realtime 3D visualization for head mounted display, 3D sound, realtime I/O and headtracker integration. Interacted directly with electrical engineers to help implement electrical component design that readily integrates with custom and COTS software. Documented a software design in preparation for FDA approval. C/C++, Visual C++, OpenGL, Irix gl.
APIs and Tools:
PS2 EE, VU1, VU0 programming, VCL, ProDG, PS2 Performance Analyzer, PIX, Nintendo Wii, OpenGL, DirectX, Direct3D, MFC, .NET, nVidia Cg, Glide, Irix gl, OpenGVS, Mantis, VTree, OpenSceneGraph, BDI DiGuy, Intel VTune, Numega BoundsChecker, PCSC, SwiftX from Forth, Inc., GalactIC from Oberthur, JavaCard Development Kit from Sun, M.O.S.T. Toolz from CardLogix, MySQL (C API, Perl and PHP), OpenSSL, Libxml2, TCP/IP, gSoap
Operating Systems and Hardware
PS2, XBox 360, Win32, Linux, Embedded Linux (Leaf, WISP), PCs, Soekris, Musenki
Languages and Scripting
C, C++ and STL, Java, XML, MIPS Assembly, Intel Assembly (for optimization phases), Perl, PHP, SQL, Forth, Javascript, HTML/CSS, CGI, csh, tcsh, bash
Design Methodologies
UML, Booch
Education
University Wisconsin Madison
References Available Upon Request
Keywords
ps2, vu programming, vu1, vu0, ProDG, performance analyzer, PIX, x360, xbox, wii, simulation, scene manager, OpenGL, D3D, realtime 3d, smartcard, DES, TripleDES, encryption, authentication, linux, sql, MySQL, wireless, embedded, access point, head mounted display, shaders, XML, TCP/IP, OpenSSL, C, C++, STL, Visual C++, MFC, .NET