Vaibhav Sharma

Vaibhav Sharma

Objective

To seek a Challenging Position with a Firm, which best utilizes my skills and abilities; helps me grow as a Better Professional.

Summary

I have a total Software-related experience of around 4.5 years, presently working in Computer Sciences Corporation (CSC), Noida. Previously, I have worked with HCL technologies, Noida. I have exposure to C/C++ technologies on Linux/ Unix Systems, and worked on Large Scale/ Distributed Applications and System Programming involving Linux Internals.

Work History

Work History
Jun 2005 - Mar 2008

Sr. Software Engineer

CSC India Pvt. Ltd.

GPSM: Global Packing, Shipping and Marshalling

Client: Nortel Networks.

Environment:C, C++, HP-UX, CC, CVS, Oracle 8i, Shell Scripts, Perl, PL/SQL, SQL Scripts.

Team Size: 4

Role: Technical Lead, Developer

Development and Maintenance of GPSM Application related to Supply Chain Management domain.

GPSM is Nortel’s standard Information System for documenting and tracking activities at all Nortel sites.

Architecture and Design:

GSPM is based on Distributed and Client-Server Architecture.

The application sends and receives information to and from other Information Systems using Electronic Data Interchange (EDI) transactions.EDI transactions are received and validated and error logs are returned to the sender.GPSM also generates EDI transactions that are sent to Interface Applications.

·The application involved concepts of Multi-Threading, Inter Process Communication and Synchronization techniques.

Worked on following Components of the Application:

-Command line tool: Processing based on various Options supplied by the User.

-EDI Input: Interface Applications send in Data through FTP/ MQ Series. UNIX Processes provide EDI Validation, database Validation, and Database loading.

-EDI Output: EDI files are generated and these files are sent across to Interface Applications.

-Translation of incoming file/ outgoing files, to other formats, as required.

ServiceDesk Application

Client: Sun Microsystems.

Environment:Java, C, C++, Solaris, CC, CVS, Oracle 8i, Shell Scripts, Perl, PL/SQL, SQL Scripts.

Team Size: 3

Role: Developer.

Architecture and Design:

Service Desk was an Application for submitting and solving problems tickets for Users. These problem tickets were submitted in form of a HTML Form/ Command Line/ XML Interface for any action to a Java Servlet in the Web Server. Web server would process the Request and construct the Communication object that represented a Database Request and passed it to the middle-ware. The middle-ware used the communication object and interacted with database via JDBC. Database would execute either a simple query or stored procedure, which was where most business rules were enforced. Result from the query or stored procedures were returned to the middle-ware. The middle-ware took that data and stores it back to the communication object, which was then passed back to the Servlet, and servlet would send it back to the browser.

Worked on following Components of the Application:

·Development/ Maintenance of ServiceDesk Application

·SIMS Integration of the ServiceDesk Application:

SIMS was “Secure Identity management Service”. It was a tool used by for providing “Single Sign-On, Authentication, and Authorization services”.

Earlier, users signed into the Service Desk application which was authenticated by the application itself. The integration of service desk with SIMS enabled users to be authenticated by an “Identity server”, and enabled users to be signed in with an assigned Global ID for the user.

The project involved integration of two applications, which involved Design, analysis, coding and testing.

Information Highway

Client: Sun Microsystems

Environment: C++, Java, PL/SQL, XML, CC, gdb, CVS

Team Size: 4

Role: Developer

This was the tool used by Sun Microsystems as the “Enterprise Application Integration (EAI)” tool. The messages were sent across the most internal applications in the Enterprise using this product.

Feb 2004 - May 2005

Software Enginner

HCL Technologies.

Worked in System Software Group COE, HCL Technologies, Noida.

The Group was involved development/ maintenance of development tools like compilers- gcc, binary tool chains, Linux kernel internals, including various Device Drivers.

Projects

Study, Investigation and Analysis of Large-Configuration and Scalability in Linux-2.4 Kernel

Client: NEC, Japan

Environment: Linux-2.4, C, Shell Scripts, cc, make, kdb, ddd.

Team Size: 2

Role: Developer

·Developed a “Hardware Memory-Simulator” for Linux/ IA64 machine:

The project involved modification of ELILO (EFI boot loader) code modification. This was done to simulate a large amount of memory to investigate the scalability limits of Memory management Sub-system in Linux. It required study of initialization of Memory sub-system in Linux and the ELILO code. Investigation of ZX1 chip-set used in IA64 machine was also done.

·Investigation of scalability limits in Linux: This involved investigation of various data-structures and algorithms used in memory management sub-system of Linux.

Linux boot Process Investigation

Client: NEC, Japan

Environment: Linux-2.4, C, Shell Scripts, cc, make, kdb, ddd.

Team Size: 1

Role: Developer

The aim of this project was to reduce the time taken for the Linux boot process. This task involved investigating the booting process of Linux and timing distribution of various stages. It involved the investigation from the point the system booted till the starting of INIT services. Following investigations were done for this project:

·Investigation of KEXEC: It is a tool used to reboot a Linux machine, skipping the boot loader.It replaces the currently executing kernel image with an image as requested by the user.

·Investigation of SEREL: It is tool used to parallelize the INIT services (rc scripts) required to completely boot the Linux machine.

·Investigation of IBM package: It used the concept of MAKE (make –j) utility in Linux to parallelize the INIT services. “make –j” specifies the number of jobs (commands) to run simultaneously.

GCOV porting on IA64

Client: NEC, Japan

Environment: Linux-2.4, C, Shell Scripts, cc, make, kdb, kgdb, ddd.

Team Size: 1

Role: Developer

GCOV (Gnu-Code Coverage) is a tool used for taking the amount of code covered during the Program Execution. The Kernel Patch was built using existing patches for other machines (like i386).

Kernel Patch Investigation and Analysis

Client: NEC, Japan

Environment: Linux-2.4, C, Shell Scripts, cc, make, kdb, ddd.

Team Size: 1

Role: Developer

The task involved Analysis of various Distributions of Linux. It involved the investigation of description of patches, and the Operating Sub-System it affected.

Jul 2003 - Jan 2004

Graduate Enginner Trainee

Siemens Ltd.

Diagnostic Display Tool

Environment: Microsoft Technologies, VC++, IPC, Multithreading.

Developed a tool to implement Gateways for Network Communication. Data from one format was converted to another format. It involved concepts of Inter-Process Communication, Threads, file handling, Shared Memory, pipes, socket programming etc. This tool was a GUI for “Event Recorder software”. The GUI displayed status of various modules written in the software. The status was read from Shared memory and updated the Display on a Dialog based application.

Interface Application Development

Environment: Microsoft Technologies, VC++, Sockets, BizTalk.

Worked on BizTalk for a project is aimed at transfer of data. The data came from Distributed Control System Software, which was transferred to sockets and written in flat file format. That data was sent to BizTalk server, which validated it using orchestration services of BizTalk Server and converted it to a XML file as required by the client using BizTalk Mapper.

Aug 2002 - Jan 2003

Project Associate

IIT, Delhi

Worked as Project Associate in IIT, DELHI, since August 2002 till January 2003. Worked under Prof. S. K. Guha, Center for Biomedical Engg.

Controller Tool

Environment: VC++, Visual Studio 6.

The project dealt with development of Communication Software. Graphical user interface was used on one computer and data was to be transferred to another computer with a Data Acquisition card. These signals were transmitted using modem programming and RS-232 communication. The project involved Design, analysis, coding and testing.

Message Server

Environment: UNIX, C, C++, CC.

The purpose of this application is to provide communication between multiple clients through server. The application implements various utilities like registering the user, logging out, authenticating a user, removing a user, etc. The Curses Library was used to provide graphical interface. Berkeley Sockets were used for network programming with UNIX and C++. Concept of threading was used to handle synchronization amongst multiple clients. “Make File” utility was used to run the various client and server.

Education

Education
Jul 1998 - Jul 2002

B.E.

Madan Mohan Malaviya Engineering College

Secured 73% marks.

Jul 1996 - Jul 1997

XII

Delhi Public School

Secured 80% marks.

Jul 1994 - Jul 1995

X

Delhi Public School

Secured 92% marks.

Skills

Skills

PL/SQL

Used in all Applications on  which I worked on.

UNIX, Linux Systems

Worked on these systems throughout my Career.

Core java

Handled Applications written in Core Java.

Java, Servlets

Responsible for maintainance of Application written using Java Servlets.

C++

Used C++ in Application Programming.

C

Done Systems Programming in C, dealing with concepts of Multi-Threading, Inter Process Communication. Also dealt with Kernel Code for Linux-2.4 Kernel.

Certifications

Certifications

Sun Certified Java Professional (SCJP)

Sun Microsystems