Post Job Free

Resume

Sign in

Sr .NET Developer /Software Engineer

Location:
Richmond, VA, 23229
Posted:
August 10, 2010

Contact this candidate

Resume:

Summary:

· *+ Years of experience in Computer Engineering and Information Technology as a C / C++ Software Developer with strong technical experience in Object Oriented Design and development Methodologies. Experience in System level programming using Algorithms and Data Structures, multithreaded programming using C++, STL, using OOAD techniques

· Proficient in designing applications using C++ Design Patterns, UML, Object Sequence Diagrams and GUI using Qt-3.3.6.

· Experience in developing the Web Service Interface in Client and Server modes including handling SOAP exceptions.

· Strong experience with BASH, CSH and PERL scripting, VxWorks, UNIX, DHCP, VLAN, TCP/IP protocol development

· Strong experience with AGILE and SCRUM/SPRINT development environments. Extensive Experience of Software Development Life Cycle (SDLC) in EDA, WiMAX, Embedded, Telecom, Insurance and Health Care domains.

Technical Skills:

Languages/Libraries: C, C++, STL, XML, Java, Visual C++, COM+ / DCOM, Qt Designer and .NET C#.

Tools: Eclipse, Net Beans, Qt-3.3.6, Visual Studio 6.0, Oracle SQL Developer, JXplorer 3.2, X-Lite 3.0, Altova MapForce

Operation System: UNIX, Linux, Solaris SPARC v9, Windows 2000, XP and VxWorks.

Version Control System: Clear Case, CVS and WinCvs, Visual Source safe and Clear Quest.

RDBMS / Database: Oracle 10g, OCCI (Oracle C++ Call Interface) and MS SQL Server.

Education:

Masters (M.S) in Computer Engineering from Indian Institute of Technology (IIT), India

Bachelors (B.S) in Computer Engineering from J. N. T. University, India

Work Experience:

Acision, Richmond VA C/C++ Software Engineer September 2009 - Present

Acision develops the mobile messaging software, providing communication solutions for network operators and service provider. In addition to baseline call answering capabilities, I developed advanced features from scratch such as Enterprises Auto Attendant (EAA), Screen & Intercept, Anonymous Mailbox, Audio Read Receipts, Auto forwarding, Broad cast Alerts, Message Playback Speed Control and many more features. All the projects I worked are under AGILE/SCRUM environment.

Project 1: Audio Read Receipts

This feature allows operators to offer voicemail only subscribers who don’t have email service the ability to access read receipt messages in their mailbox via the Telephone User Interface (TUI).

Responsibilities:

· Designed the C++ coding architecture by using Object Oriented Approach.

· Implemented the message classification based on the flags for Message Disposition Notification (MDN) identification.

· Implemented C++ coding for MDN classification and message aging for Read Receipts.

· Developed the XML call flow for using this feature by end subscriber (includes set / resetting LDAP attributes) and tested it.

Tech. Environment: C++, XML, STL, GDB, UNIX, JXplorer, Clear Case, Clear Quest, LDAP, REST API’s and Eclipse

Project 2: Anonymous Mailbox

This feature allows operators to offer special “tip” or “crime watch” line mailboxes for callers to leave “tip” messages anonymously.

Responsibilities:

· Developed the C++ code to avoid the caller’s identification details in all places (Including IMAP headers).

· Developed the XML call flow for using this feature by end subscriber (includes set / resetting LDAP attributes) and tested it.

· Implemented a Custom TUI for real time deploying.

Tech. Environment: C++, XML, STL, UNIX, JXplorer, Clear Case, Clear Quest, LDAP, REST API’s and Eclipse

Project 3: Screen & Intercept

This feature supports establishing outbound calls and bridging media with corresponding inbound calls. Feature interest around call screening reflects operator intent in mirroring home answering machine capability, in the network Voicemail service. This capability involves offering the called subscriber the ability to listen in on the message while being deposited and providing the subscriber an option to connect to the caller (interrupt the recording).

Responsibilities:

· Developed C++ code for S&I diverts mechanism to set the Call Forwarding details on the HLR (Home Location Registry).

· Done the XML flow and implemented REST API for provisioning the Screening number and toggling the feature.

· Implemented the C++ code to enable called party to trigger interrupting the record and connect with caller.

· Developed the XML call flow for using this feature by end subscriber (includes set / resetting LDAP attributes) and tested it.

Tech. Environment: C++, XML, STL, GDB, UNIX, JXplorer, Clear Case, Clear Quest, LDAP, REST API’s and Eclipse

Project 4: Message Auto Forward

Message Auto-Forwarding allows a subscriber to forward all new messages received via message deposit to be forwarded to another subscriber's mailbox. It can be configured in 3 modes regular, silent and delayed modes.

Responsibilities:

· Developed REST API to toggle the Auto Forward feature.

· Implemented the C++ code for basic auto forward delay feature, implemented a handler to handle this event including storing the time and to calculate the delay time.

· Developed the TUI XML flow for using this feature. This includes writing the test cases by changing different LDAP attributes.

Tech. Environment: C++, XML, GDB debugger, UNIX, JXplorer, LDAP, Clear Case, Clear Quest, TUI, REST API’s and Eclipse

AllState, Chicago IL C/C++ Software Engineer July 2008 – August 2009

Inter-Link is the Policy administration and management system software for AllState insurance. The Universal Application (UA) is backbone of Inter-Link.

Project 1: 64-bit UA for the InterLink of the Encompass

Universal Application (UA) that functions as the platform for the InterLink application currently runs as 32-bit programs on Solaris servers. There are number of limitations in 32-bit UA because of the 4 GB limit in virtual address space. In this, we port UA to 64-bit program on Solaris, to better use the existing operating system and hardware and to expand the address space that InterLink can use to cache Data Base objects.

Responsibilities:

· Done the analysis and documented the changes to migrate to 64-bit code for the UA modules.

· Developed the C++ code for Web Service module, Common and Operating System Routines modules on UNIX platform.

· Done the extensive unit testing as well as the regression testing.

Tech. Environment: C, C++, STL, GDB debugger, UNIX, Oracle10g, SQL, VC++, TenFold Language and Source Insight-3.5

Project 2: Web Service Interface Implementation of UA for the InterLink of the Encompass

This project is to provide Inter-Link developers a transaction to import and define a Web Service, and also provide a TenFold Language API to call third-party Web Service. It can also expose InterLink functionalities as Web Service.

Responsibilities:

· Built the third-party libraries such as Curl, Xerces, Xalan and WSDL and interfaced with the UA code.

· Built a TenFold Language function API to call third-party Web Service. This TenFold Language API takes as arguments the name of the Web Service interface, the method and the input and output parameters. Complex input and output parameters are defined by SET, mapped to XML messages through XSLT. Both the SET and XSLT are specified in the UA transaction.

· Developed C++ code for web-service interface for client requests.

· Implemented the Oracle C++ Call Interface (OCCI) routines for getting the data from the Oracle DB tables.

Tech. Environment: C, C++, STL, MFC, .NET C#, GDB debugger, Cygwin-1.5.25, VC++, Oracle10g, SQL, Source Insight-3.5

Project 3: ISA SOX end user automation

This is UA-technology based solution to automate the audit process at AllState and support the separation of duties as mandated. Through this, the production support team will oversee Non-Agent user security access and store all data required for their sox audits.

Tech. Environment: TenFold Language, Oracle10g, InterLink Application and SQL.

U.S Health Care Inc. Chicago, IL C/C++ Software Engineer March 2008 – July 2008

Project 1: Design of Health Care Integrated Software

U.S Health care Inc. is developing an integrated Graphical User Interface System tool to monitor the daily, weekly and monthly patient’s status along with the health care personnel information. It is a complete Home health care solution to meet the requirements, which integrates Clinical, Billing, Scheduling, Point of Care, Medical supplies, A/R Management, payroll modules into one home health care business application. It aims to fiscally manage home healthcare organization under rigid reimbursement structures Handle complex scheduling requirements, provide clinicians with access to the most current clinical information and data at the point of care.

Responsibilities:

· Done the analysis, Software Requirements Specifications and documented high level as well as functional design documents.

· Business Logic analysis to produce Business Workflow Diagram, Use Cases, Architecture, Functional/Design Specification, Sequence diagrams

· Developed various UML diagrams like cases, class diagrams, interaction diagrams and activity diagrams.

· Involved in multi-tired design architecture and developed a sample demo for better understanding purpose.

· Designed the GUI framework for the entire project using Qt designer 3.3.6.

· Developed Class diagrams showing generalization and other relationships describing the interaction of Objects over time.

Tech. Environment: C, C++, STL, MFC, Qt-3.3.6, VC++, OCI, Pro *C, UNIX, Bash Scripting, Java and COM

Aperto Networks, Milpitas, CA C/C++ Software Engineer September 2006 – March 2008

Aperto Networks develops and delivers the world’s most advanced WiMAX broadband wireless products for service providers. Aperto’s PacketMAX (Base and Subscribers stations) products are designed to meet the demanding capacity, quality and scalability requirements.

Project 1: Implementing the CPE License Key Support for CPE

Aperto’s Subscriber Stations (SS) registers with the base station (BS) to provide services for the end users. CPE Licensing feature restricts the maximum number of SS that can simultaneous register for a given PacketMax base station. This restriction will be provided using license keys, which will be configured and stored in the flash. The default shipping configuration is 16 SS for a PacketMax base station. No license key will be installed if the customer does not order any license key upgrades.

Responsibilities:

· Implemented Object model and interaction between different modules of Base Station on WSS side as well as on CPE side.

· Designed the UI for generating the License Keys based on the MAC address, and data structures for License Keys storage.

· Implemented the mechanism for getting the License Keys from the Element Management System (EMS) server.

· Designed the up-gradable methodologies for customer systems apart from the initial shipping configuration.

· Implemented the security alarm if the customer exceeds the given configuration parameters

Tech. Environment: C, C++, STL, MFC, GDB debugger, VC++, Cygwin-1.5.25, VxWorks, Source Insight-3.5, Aperto’s EMS, Java, Ethereal-0.99.0 and WinCap-4.0.2

Project 2: Implementing the DHCP Renewal Operation

As part of the Auto Provision (CPE feature), the DHCP is giving limited lease time. Before the expiration of the specified lease, the client device has to renew its IP address. The enhancement is done by using the BPF (Berkeley Packet Filter), and to make the device send the REQUEST packet to the DHCP server and getting it renewed.

Responsibilities:

· Designed the functional hierarchy and the interaction between different modules of the Base Station on the WSS side as well as on the CPE side, designed the data structures for the renewal packet.

· Implemented the basic functionality for the DHCP renewal Process, packet detection and forwarding methodologies.

Tech. Environment: C, C++, STL, MFC, Multi-threading, Semaphores, VC++, UML, GDB debugger, Cygwin-1.5.25, VxWorks, Source Insight-3.5, Ethereal-0.99.0, WinCap-4.0.2 and Aperto’s EMS

Project 3: Enhancements for Q-in-Q (double VLAN) mode operation for WiMAX BS

When two organizations are connected two different SU’s and are already using VLAN’s (tagging using IEEE 802.1q) in their local networks. The new BSU/SU network is superimposed on existing network. The second tag is attached to the incoming packets based on the incoming VLAN ID and the classification rules. The receiving side does the exact reverse operation.

Responsibilities:

· Implemented the functional hierarchy and the interaction between different modules of the Base Station in different VLAN modes such as “ALLOW-ALL” and “ALLOW-TAG-ONLY”, basic functionality of the Q-in-Q double tagging.

· Implemented the Tagging and Un-tagging procedures both for the Down-Stream and Up-Stream traffic

· Implemented the bridging services, higher layer services, packet detection and forwarding methodologies.

Tech. Environment: C, C++, STL, MFC, GDB debugger, Cygwin-1.5.25, VC++, VxWorks, Multi-threading, semaphores, UML, Source Insight-3.5, Ethereal-0.99.0, Java, WinCap-4.0.2, OSPF, RSVP, LDP and Aperto’s EMS

Project 4: Implementing the DHCP Option60 Support for the Aperto devices

The setting of the Vendor Class Identifier VCI (Option 60) is to inform the DHCP server about the hardware type and functionality of the device. The value that this option is set to gives the DHCP server a hint about any required extra information that this client needs in a DHCP response. In our scenario, we are going to use this option to tell the client about which IP address and configurations file to take.

Responsibilities:

· Designed functional, procedural hierarchies of DHCP state machine such as DISCOVER, OFFER, REQUEST and ACK states

· Implemented the functionality of Option60 of the DHCP and data structures to support the option60 its detection procedure

· Modified the code to take the new configuration parameters (Ex. Configuration file, Lease Expiry) from the DHCP ACK packet.

Tech. Environment: C, C++, STL, Multi-threading, Semaphores, UML, GDB debugger, VC++, MFC, Cygwin-1.5.25, VxWorks, Source Insight-3.5, Ethereal-0.99.0, WinCap-4.0.2, OSPF, RSVP, LDP and Aperto’s EMS

SoftJin Technologies, Bangalore, India C++ Software Engineer June 2005 – September 2006

SoftJin offers customized Electronic Design Automation (EDA) software development solutions using a combination of EDA building blocks and custom software services. SoftJin also offers a suite of EDA components that serve as core building blocks for development and verification of an optimized tool chain targeted for Programmable Platform vendors such as FPGAs.

Project 1: Developing GUI for PICO-EXPRESS

The Synfora’s PICO (Program In Chip Out) Express tool accepts ‘C’ source code as an input and produces RTL Verilog equivalent for those ‘C’ functions, which are to be mapped onto the hardware. In addition to this TCL command line interface, the aim of this project is to provide a Graphical User Interface (GUI) to this tool. This GUI will enable the end users to interact with the tool in more intuitive and convenient way and also to analyse the various output reports of this tool in more meaningful manner.

Responsibilities:

· Designed the class hierarchy between different functionalities and the interaction between different modules of the front end.

· Implemented the GUI state machine and developed a sample GUI in Qt and presented to the customer.

· Written the parser to read the DOT output of the hardware graph.

· Developed a canvas in Qt to show the hardware graph on it with the data coming from the parser.

Tech. Environment: C, C++, STL, UML, MFC, Qt Designer-3.3.6, VC++, DOT Software, Java, GXL and uDRAW.

Project 2: Pinnauq Synthesis tool project

Given any RTL / Net List file, this synthesis toll will map the Verilog constructs into the hardware units and modules.

Responsibilities:

· Written Verilog test cases and tested the robustness of the Pinnauq synthesis tool by extracting various statistics.

· Written BASH script for running regression tests, which will automatically generate test benches with various combinations for the Verilog and VHDL constructs.

Tech. Environment: C, C++, BASH scripting, Synplicity synthesis tool, XST, PERL scripting, Verilog and VHDL

Project 3: Tharas System Verilog Project

The main aim of this project is to extend THARAS Verilog Simulator to include the System Verilog constructs. Here we have to write the wrapper function upon the existing cheetah API's.

Responsibilities:

· Written the wrapper classes for the System Verilog constructs such as struct, union.

· Written the test cases for testing the wrapper classes for the system Verilog constructs.

· Done the extensive unit test plan as well as the regression test plans.

Tech. Environment: C, C++, STL, UML, Verilog and VHDL

Project 4: Design of Assembler for small processor

The aim of this project is to design an assembler for a processor with 32 instructions. The assembler should be able to recognise the labels, functions and different data types from the given input assembly file.

Responsibilities:

· Analyzed all 32 instructions of the target processor and identified the working of every instruction.

· Written the parser module to read the assembly language instructions from a given input file.

· Implemented the symbol resolution module, which resolves the symbols based on given set of predefined rules.

· Written the encoder module which encodes the given assembly instructions into the HEX format.

· Developed the output module, which writes the object file in the Common Object File Format (COFF).

· Written different unit test cases to test the assembler, which covers all the combinations of the 32 instructions.

Tech. Environment: C, C++, STL, UML and Assembly programming of the target processor

Indian Institute of Technology (IIT), Kharagpur, India M.S in Computer Engineering

Major Project: Design of Grammar based codes for Lossless Data Compression with applications to images

The aim is to propose a Data Compression algorithm based on the idea of representing a string by a Context Free Grammar. I investigated the Multilevel Pattern Matching (MPM) Grammar Transforms and a simple linear time and space complexity algorithm.

Responsibilities:

· Designed the MPM grammar transformations for the given set of input data sequences.

· Developed the interaction between various functional building blocks while the compression is taking place.

· Implemented the decompression method based on the MPM grammar rules rewinding method.

· Developed adaptive wavelet transform for Lossless Data Compression using Genetic Algorithm (GA).

· Designed the optimization procedure for prediction mechanism in the Lifting Scheme (LS) according to the characteristics of the target image data in order to achieve more compression.

Tech. Environment: C and C++, UML and JAVA

J.N.T. University, Hyderabad, India B.S in Computer Science & Engineering

Major Project: Embedded Security Control System

In this project, we used RFID (controlled by PIC microchip) technology as an automatic security measure in high security areas. In this, the user is provided a magnetic card. We provided transmitter at the entrance of the security area, which emits signal at 200KHz. whenever the card user comes into the surroundings of the transmitter, it detects the card and checks for the 64-bit code, which is pre-embedded in it. By this, we can allow only the authorized users to enter the high security area.

Responsibilities:

· Designed the Radio Frequency Identification (RFID) magnetic transmitter and the magnetic card tag.

· Implemented the card detection technology whenever the card enters into the magnetic field of the transmitter.

· Developed communication routines between micro controllers using IC-to-IC (I2C) bus.

· Designed the software for master and slave controllers in PIC16f877 assembly programming.

Tech. Environment: C, C++, Assembly Programming, JAVA and PIC16f877 programming



Contact this candidate