Resume/CV of Jim Brooks DOC/PDF brief resume
LinkedIn

E-MAIL



Cover Letter

Sr. Software Engineer   in   Tampa, Florida

  • Simulators (flight simulators, ROV simulators, medical trainers)
  • 3D engines, game development
  • Android apps
  • Linux system programming (kernels, device drivers)
  • UNIX/Linux sysadmin
  • microprocessor firmware
  • C++ (plus many other programming languages)



2005...present

Simulation/Game
Programming

Sim Game Developer - name
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 - name
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.


Patents

U.S. patent #5,826,084 [HTML, PDF] in microprocessor architecture (Texas Instruments).


Software Projects

prototype WWII flight simulator  P-51H Mustang 3D model  F-42 Night Manta flight-sim video game Palomino Flight Simulator 

Published F-42 Night Manta (3D game app for Android).
Developed Palomino Flight Simulator (open-source).