2005...present
Simulation/Game
Programming |
|
|
Sim Game Developer - 
2010...present - Tampa, Florida
Game development:
o Developer of flight simulation games.
o Published a game as a Google Android app (C++, Java).
3D engine, GUI:
o Designed a custom 3D engine (scene graph) that can run on mobile systems.
o Implemented a custom game GUI (alpha-blended, list/button widgets, text console) using SDL.
Physics:
o Realistic control of airplanes according to aerodynamic principles.
o Implemented collision-detection algorithms and game logic (AI).
Art:
o Created 3D models using Blender and GIMP.
Sr. Software Developer - (simulation/training company)
2012...present - Orlando, Florida (Central Florida Research Park)
Simulator/trainer:
o C++ programming for a medical device.
C++ software components:
o Wrote foundations of simulator (memory-management using smart pointers, use of Boost library, etc).
o Developed components of a graphics engine, 3D math, keyframe model animation.
o Wrote prototype physics library based on Bullet physics.
Algorithms:
o Wrote algorithms (ray intersection, BSP) to manipulate 3D objects on touch-screen.
Simulation Software Engineer - (marine equipment company)
2008...2008 - Jupiter, Florida
3D graphics programming:
o Improved the graphics of a ROV/submarine simulator rendered with OpenSceneGraph/OpenGL.
o Developed special-effects and shaders for underwater environment (particles, ROV spotlights, water transparency).
o Used Lua for scripting scenes/scenarios in simulator.
Flight Simulator Software Engineer - (aerospace company)
2006..2007 - Melbourne, Florida
Military flight simulator:
o A "full-up" simulator designed to train pilots in emergency procedures.
C++ 3D graphics programming:
o Mission was to improve graphics so a pilot would feel like he was flying in the atmosphere.
o 3D graphics programming using C++, OpenGL shaders, and OpenSceneGraph (OSG).
o Used procedural-texture techniques to render detailed clouds.
o Developed atmosphere effects (lightning bolts and illumination of clouds).
Software Engineer II - 
2005...2006 - Orlando, Florida
Game programmer:
o Madden NFL 2007 XBOX 360 video game.
2D/3D graphics:
o Created cinematic camera motions (fly-by) using 3D math for game events.
o Added new GUI screens.
Art:
o Worked with artists (as a programmer) to add new character animations.
o Created a special game mode used by artists to create TV ads for Madden.
|
2000...2005
Linux/UNIX Programming
Internet/Web |
|
|
Software Engineer - (telecomm company)
2003...2005 - Tampa, Florida
UNIX server and Internet client programming:
o For a back-end UNIX server, developed a fault-tolerant message library
in C++/UNIX based on IBM MQSeries that could withstand network outages.
o Wrote a Java app that used the message library as a template for use by other dev teams.
Sr. Software Engineer - (startup company)
2001...2002 - San Diego, California
Linux system programming, Web programming:
o For an iSCSI storage device (networked file storage).
o Developed a web app (HTML, MySQL, Perl) to manage storage system.
o Low-level network device driver and socket programming on Linux,
modified Linux device driver to detect when physical connection is broken,
for speed, wrote Linux-specific network code to send iSCSI in raw Ethernet frames.
Linux Kernel Engineer - (embedded operating-system company)
2001...2001 - Santa Clara, California
Linux system programming:
o Adapted the Linux kernel for new hardware boards.
o Wrote/ported device drivers (PCI devices, Ethernet).
o Edited kernel's makefiles, revised memory map, hardwired device drivers into kernel, etc.
o Debugged failure of Linux kernel to boot using remote GDB.
Sr. Software Engineer - (Internet hardware company)
2000...2001 - Santa Clara, California
Embedded Linux:
o Linux system programming for an Internet set-top box.
o For portability, designed a hardware abstraction layer (HAL) over device drivers.
o Rewrote existing device code as Linux device drivers.
o Wrote flash memory device driver.
|
1994...2000
Microprocessor Engineering |
|
|
Sr. Software Engineer - (microprocessor company)
1997...2000 - Santa Clara, California
CPU microcode, x86 emulation:
o Developed microcode for a RISC processor to emulate an x86 processor.
o Implemented x86 features: CISC instructions, protected mode, virtual memory (page mode), SMM.
o Microcode successfully booted operating systems.
o Participated in CPU design, defined instructions to optimize x86 emulator.
Validation Engineer -(microprocessor startup)
1997...1997 - Santa Clara, California
Microprocessor verification:
o Wrote directed and randomized tests in x86 assembly.
Verification Engineer -(electronics company)
1994...1997 - Dallas, Texas
Microprocessor verification:
o Wrote CPU tests and PC BIOS in x86 assembly language.
|