Network Engineer Resume
Objective
A senior full-time or consulting position focused on software architecture design, application development and/or database administration.
Professional Experience
Confidential, Since Dec 2001
Research Associate (faculty rank) Blacksburg, VA
- Developed an application using a C/C++ based multiplatform toolkit known as Qt for a popular numerical simulation scientific software named COPASI.
- Used design patterns such as Model-View-Controller to implement Widgets in Qt.
- Converted widget classes in Qt from single-threaded to being able to operate from a new thread.
- Designed and developed a network component, which allows communicationusing simple APIs between a C++ server and a Java client or vice-versa using raw sockets.
- Component is thread safe and designed to work for any unix machine (Big or Little Endian).
- Developed another software called 'DOME' for the NSF funded project (details below), from its inception to its completion (4 years).
- Used complex query constructs to access a PostgreSQL databasefrom php scripts.
- Implemented with good effect, following database concepts/objects: triggers, transactions, indexes, views, schemas, PL/SQL code.
- Tuned/Optimized complex SQL queries.
- Developed two more systems in php named 'BNet' and 'CurationTracking' to assist in database access and its curation respectively.
- Helped design and administered PostgreSQL database for these three projects.
- Did backups/restore of various PostgreSQL databases for these projects.
- Wrote perl scripts which read an XML file, extracted the data from the file and wrote it to a database (used SAX model for parsing XML).
- All projects at this workplace use CVS as the code repository.
- Working knowledge of ETL tool Informatica.
- Supervised a number of graduate students.
Confidential, Aug 2000 - Dec 2000
Associate Consultant Mumbai, India
(An SEI-CMM Level 5 Company and a Citigroup Subsidiary)
- Worked on Equity Desk Trade System, a highly customizable XMotif based system designed for Solomon Smith Barney to trade stocks at any market in the world, from any place, at any time.
- Work required knowledge of makefiles, sockets, shared memory, mutexes, semaphores, CVS, etc.
- Wrote Unix shell-scripts and system utilities in C.
EDUCATION
- Master of Science, Computer Science & Applications
- Bachelor of Engineering, Electronics and Telecommunications
- Languages : Qt , C/C++, Visual C++, Java, Perl, Visual Basic, Scheme, Prolog.
- Databases : PostgresSQL, Oracle, Sybase, MS Access, PL/SQL.
- Internet : php, javascript, HTML/CSS, XML, RDF, Java Servlets.
- Operating Systems : Windows NT/ XP/2000/9X, Solaris, Linux.
- Others : CVS, CGI, OOPS, UML,XMotif, TOAD, Informatica, Visual Studio.
Projects at Virginia Bioinformatics Institute at Virginia Tech: Multiplatform software called COPASI using a C/C++ Development kit called Qt
- Qt is a toolkit, which allows a (C/C++) program to run on different platforms (Windows, different unix platfroms, Mac) without any changes to the programmer code or sacrificing any speed since the application is in compiled code (rather than bytecodes).
- Implemented Widgets in Qt using the Model-View-Controller design pattern.
- Converted some of the existing widget classes in this application from single-threaded architecture to multi-threaded architecture enabling them to operate from different "worker" and "UI" threads.
- Writing this multi-threaded code required implementation of concepts such as thread synchronization and mutexes.
- Converted object oriented code and widgets from Qt version 3 to Qt version 4.
- Developed a multithreaded network component using raw sockets, which allows communication using simple APIs between a C++ server and a Java client (or any combination of the type of client and server).
- This component may be thought of as a small CORBA component, which supports only C++ and Java without the overhead of an Object Request Broker (ORB).
- Data from experiments conducted on a model plant legume named Medicago truncatula is put in a relational database.
- The data is enormous and has to be viewed in manageable proportions.
- Hence worked on optimizing queries written at the Front-End to retrieve data in fastest possible way from a server with a processor slower than a modern desktop machine.
- Wrote the software in php which allows data selection as well as a number of algorithms to be run on the selected data.
- Written scripts to mirror data between two copies of the same database at different physical locations.
- Was also the Database Administrator for this Postgres database.
- Supervised graduate students related to this software.
Masters Projects at Virginia Tech:
Online virtual collaborative symposium / classroom(Technologies: Java, Swing, RMI/Sockets and some XML)
- A distance learning software, which allows the instructor and students to communicate using blackboard, online documents, voice and text chatting.
- Design and implementation of distributed buyer & seller stock trading system using Tuple Space concept.
- Tuple Space-based communication has the advantage over the traditional Client-Server architecture that:
- it does not require that a sender must know the receiver\'s location and
- both sender and receiver may not be available at the same time.
- System implemented a collection of seven functions - 1. Selection, 2. Projection, 3. Join, 4. Union, 5. Intersection, 6. Difference and 7. Printing a table.
- A system that responds to HTTP GET requests and serves files on port 80.
Reasearch Study: Learning and Retention in Data Structures: A Comparison of Visualization, Text, and Combined Methods [Publication 1]
- Conducted a research study through an experiment that compares three methods for learning data structures: (1) text material, (2) animated data-structure visualization, and (3) guided tutorial-style visualization.
- Around 60 undergraduate subjects were given 15 minutes to learn the AVL Tree data structure using one of these methods
- This was followed by a short quiz and survey and the results were analyzed using statistical methods.
- Project involved reconstruction of an image from data obtained from a device such as C.T. Scanner. Convolution Back Projection method was used in the reconstruction of the image.
(DBMS: Microsoft Access; Front End: Visual Basic)