My resume can be downloaded in the following formats:

Below is my detailed resume with all projects and skills description, with web links to the projects.


Resume


Objective

To pursue a career in the game industry as a Game Engine Programmer.

Skills
    Languages and Programming
  • Extremely proficient in C/C++ and Java
  • Significant experience developing in JavaScript, SQL, ASP and Lua.
  • Windows programming experience with Visual C++, MFC, Win32 API, MS Access.
  • Graphics programming in OpenGL and experience in graphics engines such as Ogre3D, VTK and Electro.
  • GPU Programming experience with CUDA and shader programming with GLSL, HLSL.
  • Experience with object oriented programming and application of design patterns.
  • Experience with game engines and game programming
  • Network programming with TCP/IP, Socket.

  • Applications
  • Databases: MS Access, MySQL 5.0, Oracle 9i, PL/SQL Developer
  • Programming Tools: Microsoft Visual Studio (6.0, 8.0), Netbeans 5.0, Eclipse, Matlab.
  • Windows 95/98/ME/NT/2000 Use, Setup, Diagnostic skills
  • Graphic design in PhotoShop, GIMP.
  • 3D Modeling and Rendering in Blender.

  • Other skills
  • Excellent communication skills, both written and oral, especially communication with the non-technically inclined
  • Math: Linear Algebra, Vectors, Numerical Analysis, Trigonometry.
  • Physics: Vehicle Dynamics, Collision detection, Open Dynamics Engine.
  • Knowledge of 3D graphics and rendering techniques including scan conversion, ray tracing, volume rendering, texture mapping, anti-aliasing, particle systems.

Education


M.S. in Computer Science, August 2007 - Till Date
University of Illinois at Chicago
Expected year of graduation: September 2009
GPA: 3.55/4.0

B.E. in Computer Science and Engineering, August 2002 - May 2006
Maharshi Dayanand University, Gurgaon, India
GPA: 3.75/4.0

Professional Experience


Master's Research, August 2008 – Till Date
Electronic Visualization Laboratory, UIC
  • Designing, documentation and development of EVL's Driving Simulator to be used for a study in Sleep Apnea at the College of Nursing at UIC. Currently under testing.
  • The users can drive through different urban and rural scenarios for some specified time and events are generated to record user reactions.
Technology Used: Ogre3D as the graphics engine and ODE as the physics engine.
Controls Used: 30-inch monitor and a Logitech driving force wheel with force feedback used.


Graduate Research Assistant, May 2008 – Till Date
Center for Education, UIC
  • Design, development and testing of new features and queries for the Family Literacy Centre Website.
  • Database maintenance (MS Access) and technical support.

Software Development Engineer, July 2006 – July 2007
Comverse Network Systems India Pvt. Ltd
Part of Special Development Group. My responsibilities were to build new modules and customize existing modules in the core product, KenanFX and code debugging.
  • Service Move functionality for Foxtel (Australia) in Customer Center of KenanFX 2.0.
Designed and developed the Service Move wizard with validations to help a customer care executive create customer orders involving address change, disconnecting existing services and connecting new services, packages or products.
  • CSR Transactions Subsystem for BSNL (India) in Kenan FX 1.2.
Designed, developed and tested the subsystem which provides display for the details of payments, adjustments or deposits made on Invoices, provided with a utility to call PL/SQL procedures at the database level according to the option selected.


Course Projects

Computer Visualization
Visualization of ENDURANCE project
Designed and developed an application using QT Widgets and VTK libraries to visualization data collected at Lake Bonney for various physical and chemical properties.
Technology used: QT Widgets, VTK (C++).

Visualization of ILLINOIS Water Quality Data
Designed and developed an application using QT Widgets and VTK libraries to visualization data collected at by USGS for water quality in US States from various water sources for the time period (1991 – 2007).
Technology used: QT Widgets, VTK (C++).


GPU Programming
Ray Tracing in CUDA
Developed and optimized the ray tracer algorithm for polygons and spheres in CUDA. Tested against two graphics card and a traditional algorithm written in OpenGL, to measure performance.
Technology used: OpenGL, CUDA

Galaxy Simulation using CUDA
Implemented an NBody simulation of Andromeda and Milkyway in CUDA and applied different optimization of the CUDA kernels to study their effects and influences.
Technology used: OpenGL, CUDA


Game Design and Development
SkyRunner
A game about a stick character trying to get through obstacles like giant spiders, volcanoes to fight his evil twin. Our team consisted of a Media Designer, Lead Programmer and Interface Programmer.
  • As a Lead Programmer was responsible for building framework, implementing physics for character and objects in the world, integration with UI and Wii Mote for interaction.
Technology Used: 3D game based on OGRE3D as graphical rendering, ODE as physics.
Controls Used: Wii Mote


Virtual Reality
VR creation of literary work
A virtual environment based on the book Harry Potter and The Goblet of Fire. The user can walk through the world, cast two spells and take part in tournaments. As a Lead Programmer was responsible for building framework and implementing physics.
Technology Used: Electro, Lua script, ODE


Compiler Design
C Minus Compiler
Designed and developed a C- compiler with features of conditional statements, arrays and structures. Was divided into 6 stages.
Technology Used: GCC compiler, SPIM simulator for MIPS Instruction Set.


Numerical Analysis
Basins of Attraction
Designed and developed a project on finding the Basins of Attraction for a given equation through implementation of Newton Raphson Method.
Technology used: C++, MatLab.


Object Oriented Languages and Environments
Binary Threaded Tree
Developed a binary tree class that implements functions such as insertion, sorting, deletion, searches and initialization. The user can interact with 5 binary tree at a time. User friendly menu system is provided in the program.
Technology Used: C++ (templates).


Issue Tracking Management - Service Desk Suite
Developed Ticket generation and maintenance software, which is can be deployed online for any organization to maintain and resolve customer queries. It can also be used to track and resolve project related issues within a particular department, similar to a web forum.
  • As the Team Leader and Programmer, was responsible for managing the team, distributing responsibilities, writing specifications and technical document, designing and developing high level modules and doing presentations.
Technology used: Java Technologies, MySQL 5.0


Undergraduate Summer Intern
Registry Repairs, June 2004 – August 2004
TATA Consultancy Services, India
Developed and tested a Registry Repair application in Visual Studio environment (Windows Programming).
Used MFC classes to create a working window application and interface which allows the user to perform a scan on the Window Registry.

Trouble Ticket Solution, June 2005 – August 2005
Bharti Televentures India Pvt. Ltd, India
Developed a ticket maintenance system in Visual Basic and MS Access, which was implemented in various Airtel Franchises. It helps executives maintain billing and payment records of their respective customers.


Relevant Coursework

Computer Algorithms 
Computer Graphics
Video game design
GPU Programming
Numerical Analysis
Computer Graphics Visualization Virtual Reality
Artificial Intelligence
Computer Networks
Software Engineering
Database Management Systems


Personal Interests
  • Drumming
  • Pencil Sketching
  • Playing video game (genres – FPS, RPG, strategy and casual games).
Favorite games are: Prince of Persia - Sands of Time triology, Age of Empires 3, BioShock, Cake Mania 2.