VASANTH PRABHU SUNDARARAJ
**** *** *** ******* ****, 10, SanDiego, CA, 92014*
**************@*****.*** *858-***-*****http://www.cise.ufl.edu/~vsundara/
Objective
Seeking any suitable full time position in a software concern that helps
utilize my technical, managerial and interpersonal skills to a maximum
extent.
Summary
. Involved in complete project life cycle of more than 30 projects
. 4 years of experience in project management, software design,
development, integration and testing
. Have worked in diverse environments including SQL, PHP, C, C++,
Java, PERL
. Worked interactively with a lot of teams simultaneously
Education
M.S. Computer science, University of Florida, Gainesville, FL. Overall
GPA: 3.4 / 4.0 Aug 2007 to May 2009
Coursework: Analysis of Algorithms, Distributed Operating
Systems, Database System Implementation, Advanced Data Structures,
Computer Architecture, Computer Networks, Data Mining, Database
Management System
B.E. Computer science, Bharathiyar University, Coimbatore, India,
Percentage: 86.5% Apr 2000 to Apr 2004
Work Experience
Engineer, Qualcomm Technologies, San Diego, California
Sep 2009 to Present
. Integrating frameworks from various development teams onto 7x30
mainline core software
. Compiling and building various flavors of the integrated builds
. Have been taking care of doing complete sanity tests (Voice calls GSM,
1X, WCDMA, OTA calls, data call, Graphics, multimedia) for 7X30
Windows Mobile 7
. Collecting logs for debugging from various sources (Platform Builder,
Serial, ARM11)
. Handling the strip (removing unwanted features) and pack (shipping)
process for 7x30 Windows Mobile 7
. Handling and tracking CRs using CRMDB, a proprietary database
management system
. Interacting with multiple teams to track various issues on 7x30
Windows Mobile 7 builds
. Providing support for various teams that use the 7x30 Windows Mobile 7
build releases
. Handling bi-weekly releases to customers including Microsoft, LG,
Samsung, HTC
Software Developer, Maxous International, Melbourne, Florida
Aug 2009 to Sep2009
. Developed SQL and PHP scripts for their website that handles thousands
of customers real time
. Optimized the database in order to speed up queries and hence lesser
retrieval time
. Maintained and fixed the previous bugs made in the website and made
it more usable
. Wrote algorithms and scripts to implement a multi level marketing
business strategy in the system
. Migrated the whole website to a newer site which has a interactive
social networking site integrated in it
Software Intern Engineer, Qualcomm Technologies, San Diego, California
May 2008 to Dec 2008
. Analyzed C++ code and removed various features from both customer and
internal builds
. Developed Perl scripts to extract memory usage of builds that helped
optimize the memory consumed
Senior Project Engineer, Soliton Technologies, Bangalore, India
Feb 2006 to May 2007
. Handled complete project life cycle of 4 projects adhering SDLC
waterfall model and were ISO 9001 compliant
. Developed SQL based data driven tools to analyze chip information and
for a centralized job monitoring system for Texas instruments,
Bangalore, India
. Designed algorithms for handling large datasets, image processing and
assembly line inspection systems
. Developed event driven state machine architecture and parallel loops
needed for real time projects
. Worked with various U.S. clients right from requirements phase till
integration and validation of projects
. Assisted system design, software development, integration, testing and
validation of 3 projects
Project Engineer, Soliton Technologies, Bangalore, India
May 2004 to Jan 2006
. Involved in complete project life cycle of around 3 projects adhering
SDLC waterfall model
. Developed Image processing algorithms for assembly line inspection and
drivers for instrumentation systems
. Handled a team of two maximum and conducted various training
programmes for new joinees
Projects handled
Qualcomm Projects (4)
7x30 Windows Mobile 7 - Qualcomm Technologies, San diego
Process starts from getting the PLFs (Perforce List File) from
various teams and integrating them onto main target PLF. Then the build
will be spun on remote servers and any errors will be reported to
appropriate team and the fixes will be picked up. Once the build is
ready, sanity tests (listed above) will be run on the H/W with this build
loaded and any bugs will be reported to appropriate teams. If needed CRs
will be raised in CRMDB for a team and will be kept track off till the
issue has been resolved. Finally, Strip process and Pack process will be
done over completed builds and will be released to the customer.
Mobile Applications memory usage analysis - Internship, Qualcomm
Technologies, San diego
Map files resulting in a mobile build have been parsed and the memory
usage of each individual component has been extracted already. Customizing
this application to provide a user friendly interface is being done.
Defeaturizing Mobile applications - Internship, Qualcomm Technologies, San
diego
Features not needed by customers need to be removed from the mobile
applications. Customizing the software according to the customer's needs
has been done for various builds and validated in lab.
Building Mobile applications - Internship, Qualcomm Technologies, San diego
Applications that are to be embedded into mobile applications are
built on batch servers. The resulting build files are loaded onto mobile
test units and tested in lab. Builds performed on different servers need to
be compared.
Graduate Level Projects (13)
Single-User database system that supports SQL queries (UFL-C++) - Computer
Architecture, UFL
Implemented Heap file, sorted file, Relational operators, Query
optimizer and compiler, and integrated these modules into complete DBMS
package.
MIPS Simulator - Computer Architecture, UFL
Implemented a non-pipelined simulator that loads a MIPS binary file
and generates the assembly code equivalent of the input file. Also, an
instruction by instruction simulation of the generated assembly was done.
Implemented using Java.
Pipelined MIPS Simulator with functional units- Computer Architecture, UFL
Implemented a scoreboarding based pipelined simulator that loads a
MIPS binary file and simulates cycle by cycle execution of each
instruction. All functional units (Memory, ALU, Issue, Cache) were
implemented along with registers and buffers. Implemented using Java.
Logical binary semaphore tree in Java - Distributed OS, UFL
Several processes will be competing to acquire a single shared
resource. A logical binary semaphore tree was implemented to provide
synchronization. Starvation and deadlock should be avoided.
Concurrent readers and exclusive writer in Java - Distributed OS, UFL
A distributed client server implementation in which the server will
maintain a shared object and many reader and writer clients try to access
the resource simultaneously. Writer preference architecture was
implemented.
Distributed Group Management in Java - Distributed OS, UFL
A distributed group management protocol was implemented using IP
Multicast / UDP. Group leader selection, group member join and leave
request management are some of the features implemented.
Token Based Distributed Mutual Exclusion in Java - Distributed OS, UFL
A logical token based ring topology was implemented using UDP
protocol. The ring will be created dynamically and the process holding the
ring was allowed to go into critical section.
Gossip Protocol in Java - Distributed OS, UFL
Basic Gossip protocol was implemented for Data and File replication.
File Service Agents that provide access transparency to users and Replica
Managers which propagate updates among them lazily were implemented.
Web-Based Bibliographic Information System - Database Management System,
UFL
The handling of bibliographic references including tasks like
acquiring, storing, retrieving, changing, and searching bibliographic data
as well as publication type management, user management, project
management, transformation of biographical data into different output
formats, and thematic category organization were implemented. PHP scripting
is used with Oracle as the back end.
Comparative study of hierarchical and partitional clustering algorithms -
Data Mining, UFL
Hierarchical and Partitional clustering algorithms were implemented
and their performances were compared. Agglomerative and CURE algorithms for
hierarchical clustering, and DBSCAN and K-Means algorithms for partitional
clustering were implemented.
Comparative study of various data structures for shortest path algorithm -
Advanced Data Structures, UFL
Array, Fibonacci heap and Binomial heap are used to implement
Dijkstra's shortest path algorithm and their performances are compared by
varying the number of points. Random mode, in which random number of points
was used and the user mode in which a file having the points defined by the
user were used to compare performances. Implemented using C++.
P2P file sharing software - Computer Networks, UFL
A p2p file sharing software that acts both as a client and a server
was implemented. The client functionality download files from a running
server and the server functionality includes sending the list of files and
the requested file. Additional features that were implemented are
reassembling of the downloaded files and measuring latency. Implemented
using C++.
BitTorrent - Computer Networks, UFL
File distribution software using p2p protocol has been implemented
among multiple peers in a network. Choking unchoking of neighbours,
selection of preferred neighbours and optimistic neighbour, uploading
downloading and assembling the downloaded pieces were some of the features
implemented. Implemented in Java.
Soliton Projects (14)
Optical Character Recognition - VIE Medtronics, US
This system is used to recognize the characters present in an image
of a cable. The characters are displayed to user for editing and once they
are edited, they will be stored on to the database along with the image.
Spark Plug Inspection System - MICO BOSCH, India
This system is used to measure the eccentricity and offset values of
the spark plugs moving on a conveyor. Plugs that does not confirm to the
provided thresholds should be reported for rejection. This system has
achieved six sigma repeatability
(http://sine.ni.com/csol/cds/item/vw/p/id/635/nid/124300)
Flat Pack Functional Test System - Eltek Energy, Concord, US
This system is used to test the Flat Pack, a micro controller which
is used in controlling the switching between the power source and battery
power supply in case of power cuts. Sequences of 24 tests have to be
performed on each Flat Pack and the results have to be displayed to user.
Detector Pack Inspection System - GE, Milwaukee, US
Defects in packs such as spots, chip off, cracks, centering,
inclination, skew and focusing are inspected by keeping the pack in a
fixture. This project helps the user to ensure that the fixture is
perfectly aligned below the camera.
Automatic Speedometer Calibration - Pricol, India
Speedometer calibration is done automatically using software which
performs initial tests, segment check and calibration of four meters,
namely Speedometer, Tachometer, Temperature gauge and Fuel gauge.
GMPI Pore Cluster Isolation - GM, US
Pore cluster (groups of pores) located on the surface of a cylinder
should be identified and located individually based on the distance
specified between each cluster by user. All such clusters in a given image
should be identified.
Integrated Ballistics Development System - YUMA Test grounds, US
This system acquires Temperature, Pressure, etc., from an army tanker
which is being tested in YUMA test grounds. 256 channels are simultaneously
acquired and the acquired data have to be stored. Data viewing, archiving
to a remote PC and allowing user to perform computations on the stored data
also form a part.
Data Miner - Texas Instruments, Dallas, US
Data acquired during characterization of the manufactured ICs are
stored in local and central databases. Data miner helps analyzing the
stored data.
Production Execution and Tracking System - Texas Instruments, Dallas, US
This is a Job tracking and execution system. Jobs to be executed on
ICs are stored in a central database. The operator accesses the database
and executes the job tasks in each job using the 'Job Selection Screen'
provided to him. The operator can filter the jobs, sort the job tasks in
each job and execute it based on his preference.
Express VIs for Instrument Drivers - Texas Instruments, Dallas, US
Express VIs for drivers are developed which will be used for
configuring the instruments.These VIs provide the user with the touch and
feel of the actual instruments. Agilent E53181A counter configurations,
RSSMA100A CW plugins in universal blocker architecture are some of the VIs
developed.
PCB Inspection System - GE, Milwaukee, US
This system helps to check the alignment of components such as
resistors, capacitors, diodes, etc., in a set top box. The software snaps
the image using a camera placed on top and will look for any misalignment
of the components and if any is found, will be indicated to the user.
Beer Bottle Inspection System - Rita bottling systems, Chennai, India
Beer bottles, which are being reused, pass through a conveyor to
filling station. They have to be inspected for mouth chip off, fungus
formation, cracks, presence of impurities. Initial proof of concept has
been shown.
Brain Tissue Image Analysis - UFL
Data holding various concentration and distribution of metals
acquired from hardware are to be assembled into a valid image file format.
Also, each of these image distributions corresponds only to one pixel and
they have to be merged into a whole Image. Implemented in Matlab.
Temperature Controller - UFL
A temperature controller used to set various temperatures has to be
programmed. A temperature loop has to be provided to continuously set
temperature and measure frequencies using and LCR and plot them over a
graph.
Undergraduate Level Projects (2)
Implementation of Image processing algorithms in C - Soliton Technologies
Pvt. Ltd., Bangalore, India
This project has been done to implement all basic image processing
functions like threshold, edge detection, etc., in C programming language.
These modules are used to execute their functionalities in DSPs and FPGAs.
Motor Speed controlling system in C - Trioztech Pvt. Ltd., Coimbatore,
India
This project is used to control the speed of a motor. The software
compares the speed of a rotating motor with the expected speed and if there
is any difference, the software will issue the command to either increase
or decrease the speed.
Skills
Programming: SQL, PL/SQL,C++, Perl, Java
Operating Systems: Windows (9x, 2000, XP, Vista), Linux (Ubuntu)
Web: HTML, DHTML, JavaScript, PHP
Database: Oracle
Software: Microsoft Visual C++, Eclipse, SQL Developer, Macromedia
Dreamweaver
Tools: QPST, QXDM, Visual Studio Platform Builder, JTAG (ARM11),
Mobile Explorer, WMDC
Version Control: Perforce
Prior experience: LabVIEW, VB, IMAQ Vision, Matlab
Achievements / Awards
. SPIS project done for MICO BOSCH, India, has won six sigma
repeatability
(http://sine.ni.com/csol/cds/item/vw/p/id/635/nid/124300)
. Secured an 'A' grade in 'Analysis of Algorithms' in Masters
. Ranked 3rd in Department of computer science during undergraduate
. Have been a successful marketer for 'Money Man' securities for Intra
Day Trading
. Founder of charitable organizations 'Udhayam' and 'Crayon'
(http://www.crayontrust.com)
Reference: Available on request