Post Job Free

Resume

Sign in

C++, C, Windows, Linux, Unix, GDB, Python, UML

Location:
Fuquay-Varina, NC
Posted:
February 24, 2024

Contact this candidate

Resume:

Prabhakar Kummamuru

ad3v2z@r.postjobfree.com

314-***-****

Summary

Have 22 Years of experience in Requirements Analysis, Design, Development, Integration and maintenance of various projects with different clients and different domains.

Have very good experience in developing applications using C and C++ (11) on Unix and Linux, VC++, MFC and Win32 API, exposure to C# and .NET 4.5 framework on Windows.

Have good experience working with template classes and C++ STL both data constructs and algorithms.

Have good experience working with multi-threaded applications and have good understanding of synchronization objects and mechanisms.

Have rich experience in developing GUI applications.

Have good experience with scripting languages on Unix/Linux like bash.

Have experience working with debugging tools to analyse memory dumps like gdb and WinDBG.

Have working experience in COM, building, integrating and debugging COM components.

Have understanding of RDBMS concepts. Worked with Oracle 10, MySQL and MS-SQL Worked on SQL statements like inserting, querying, modifying, relating database tables. Have knowledge of PL SQL scripts on Oracle.

Have experience in working on UML tools like Ration Rose, Rhapsody, StarUML Worked on creating class, sequence, activity, deployment diagrams.

Have experience working with memory profiler tools like Visual Studio’s built-in memory tracker and Rational Purifier.

Have experience working with bug-tracker Rational Clear Quest.

Have good working experience of Vector Canalyzer and Canoe devices and corresponding applications. Have experience creating IG blocks, simulating CAN messages for ECUs. Worked with Value CAN and Vehicle Spy application

Have good knowledge in source control activities using VSS, SVN, Rational Clear case, CVS.

Have good experience in creating windows setups using Install Shield.

Have good skills in writing requirement, design and unit test documents.

Have exposure with Agile software methodology and Scrum activities

Have excellent analytical, problem solving, communication and interpersonal skills, with ability to interact with stakeholders at all levels and work as a part of a team and independently.

Thorough understanding of software engineering concepts, software development life cycle processes

Knowledge of embedded development environment and the behaviour of BIOS.

Good understanding of Object Oriented Analysis, Design and Implementation concepts,

Communication protocol suits TCP/IP, UDP, working knowledge of CAN and LIN.

Have working experience on-site at client place with good rapport.

Experience in development, leading/mentoring teams, customer interactions and project coordination.

Have good exposure to Open Source and proprietary systems in varied domains like defence, embedded, finance and open systems.

Acquired certification in C++ and OOPs from Brain bench

Technical Skills:

Operating Systems : Windows 2010, Windows 7, Windows XP, Windows 2000, Windows NT, Red Hat Linux, Solaris Unix, HP Unix 10

Languages : C, C++, VC++ (Win32, DLLs, COM application development) UNIX shell Script (bash, ksh), Python, Perl, C#

Database : Oracle 10

Application Frameworks : MFC, QT, .NET 4.5, COM

Configuration Management Systems : VSS, CVS, Rational Clear Case, Tortoise SVN, Git

Tools : Debugging tools: gdb, WinDBG

Editors: vim, Edit Plus, CppUnit and pyTest

Compilers: gcc / g++, make, MinGcc

IDEs: Visual Studio 2019 /15, QT IDE

Others : Rational Clear Quest (Bug tracking tool), Rational Purifier (memory management tool), Vector Canalyzer and Canoe (CAN bus manager)

Protocol suits : TCP/IP, UDP, Automotive protocols CAN, LIN

Certifications : C++ and OOAD from Brain Bench

Professional Experience

Inspirix Technologies, LLC 10/2016 – Current

Location – Dematic WI (Remote from NC)

03/2023 – 01/2024

C/C++ Developer

Matflo

Matflo is a C/C++ based platform for developing a variety of systems including:

Warehouse Management (WMS) and Warehouse Control (WCS) Systems. Matflo is a automation

control software system that provides pluggable software components with each component

developed to meet specific requirement of WMS and WCS. Each component is developed with core

functionality and provides flexibility to extend that based on specific warehouse requirement. The

application’s WCS system can be plugged in with existing external WMS system with minimal

changes. The core application is built using C on Linux. Implements user interface OM and OI for

easy access to back-end functionalities. Application back-end data is maintained through flat files.

Develop or enhance existing plugin files to suit customer application needs.

Update user interface to reflect backend changes and provide users with convenient access to updated functionality.

Participate in customer site-visits deploy, resolve software and deployment issues and provide support to customer.

Technologies

Linux, C, C++, gcc, git, Visual Source and Visual Studio 2019

Location – Credit Suisse, NC (Remote from NC)

01/2022 – 01/2023

C/C++ Developer

CSST – Credit Scenarios and Stress Testing

The Credit Scenarios and Stress Testing framework addresses weaknesses identified by the FSA and adhere to Basel III regulations through improvements to scenario and stress testing controls, processes, and infrastructure. The framework will source trade revaluated data from "Front Office for the non-linear revaluation" and "MaRS" for the linear revaluation. The framework computes all the counterparty default scenario, counterparty liquidation days for the Equity, FX, Credit Spread and Interest Rate products, supports the haircut of collaterals if they are not bumped from Front Office data and aggregate the Scenario data to BA and Cluster Level

Responsibilities

Capture requirement and design details and provide software solutions using C++ implements.

Maintain and update existing C++ code available on Linux platforms.

Create and understand SQL queries on project related data tables, views and procedures.

Provide L2 support to issues arising at customer testing.

Technologies

C++, RedHat Linux, GNU toolkit gcc, git, Sybase SQL

Inspirix Technologies, LLC 10/2016 – Current

Location – ETrade, CA (Remote from NC)

01/2021 – 12/2021

C++ Developer

CAT – Corporation Action Transfers

CAT is part of large e-trade financial system that deals with stock trading. CAT caters to all activities related to transfers of stock accounts and ensures integrity of underlying accounts.

Responsibilities

Design, build and maintain efficient, reusable and reliable C++ code.

Capture requirement and design details and provide software solutions using C++ implements.

Maintain and update existing C++ code available on Linux platforms

Implement design decisions like class, sequence and activity diagrams using standard C++ library constructs

Debug C++ code during development and investigate production core dumps using C++ support gdb

Use C++ memory profilers like Purify, Valgrind etc to investigate and resolve memory issues

Develop and maintain C++ code to connect with SQL databases.

Technologies

C++, CentOS Linux, GNU toolkit gcc, git, Purify, Valgrind, Oracle

Inspirix Technologies, LLC

Location – IBM Durham, NC

05/2019 – 12/2020

C++ Lead

DS and MEG development

DS and MEG are two preoperatory medical methodologies that provide useful output parameters, in form of C++ generated flat files both text and binary formats, to other medical methodologies. They process claim records collected by medical insurance agencies and provide valuable output parameters that help them to decide cost benefits to their customers. These two methodologies use extensive C++ code and STL algorithms to achieve its objective and are developed for multiple platforms (Windows, Linux and IBM AIX).

Responsibilities

Maintaining existing development framework (written in C++ with heavy OOP concepts, STLs) and adding new features to the methodology framework.

Working with professionals associated with medical domain and technology teams to get complete insight of the requirements.

Work with BA team to get approval for design.

Work with QA team to validate the implementation.

Use IBM Purify, Valgrind and other tools to work and resolve memory issues.

Working with GIT for code repository purposes

Involving in internal code and document peer reviews

Technologies

C++, Windows 10, Red Hat Linux, AIX, MS Access, GNU toolkit gcc, Valgind and Purify, batch and shell scripts, GIT

Inspirix Technologies, LLC

Location - ASML, San Diego, CA

11/2017 – 05/2019

C++ Sr. Developer

MAP 27 is a project targeted for next generation laser-produced plasma EUV light source units. MAP 27 is part of a larger embedded software. MAP 27 deals with light source part of whole machine. The MAP 27 caters to droplet generation, positioning, moving and stopping functionalities. Also it controls the light source wavelengths/frequency etc. MAP 27 is developed in C++ on Linux (using WindRiver embedded tools). Python scripts provide support functionalities and Postgress database stands to hold environment data.

Responsibilities

Working on changes and new feature requirements.

Involve in design and requirements documents.

Perform unit testing of developed software using gmock and gtest utilities.

Working with SVN for code repository purposes

Involving in internal code and document peer reviews

Technologies

Red Hat Linux, Postgress, GNU toolkit gcc, Wind River embedded toolkit, python, SVN

Inspirix Technologies, LLC

Location - MasterCard, O Fallon, MO

10/2016 – 10/2017

C++ Sr. Developer

Global Data Repositories

This a collection of application suits that does collection of inbound data from different clients, stores into data base, converts different data format into MC proprietary format, sends data to different clients in their specified custom format. The suite activities are controlled by different cron jobs that are fired at configured intervals. Oracle provides the data storage support. The suite is developed on Red Hat Linux in C++ classes, kshell and perl scripts. The classes have support for communication with external clients over TCP/IP protocols and uses Oracle sql suite for storing and querying database. The git maintains the C++ class repository and Rally is used to capture all story points and gauge scrum iteration activities.

Responsibilities

Implementing changes and enhancement to existing conversion, distribution and comparison suite.

Working on design and requirements documents.

Writing Oracle SQL statements at client end and pass them to SQL server for business transactions.

Unit testing on development environment using CppUnit

Use git repository for development activities and team collaboration

Attending daily scrum meetings and updating CA Rally story status on daily basis.

Conducting internal code-reviews

Interacting with end-customer to capture story point requirements and change requests.

Technologies

Windows 7, Red Hat Linux, Oracle 11, GNU gcc, gdb, perl kshell, git, CA Rally

ZF-TRW Hyderabad, IN

C++ Team Lead and C++ Sr. Developer 07/2014 – 09/2016

Serial Loader and Multi-flashing tool

Serial loader is a desktop application. This is a standalone UI based application. The application supports flashing of secondary boot, application and calibration data to Automobile ECUs using CAN hardware interface. The flashing sequence controlled by ECU specific protocol sequence. The application supports flashing of Motorola S37 format files and Intel hex files. The application has support for most common UDS protocol, KW2000 Protocols. The application has support for most commonly used CAN hardware interfaces Vectror CAN and ValueCAN. The application also supports RS 232 communication.

Multi-flashing tool is a desktop application aimed at flashing multiple ECUs (of same kind) at a time (As of now the application can flash 8 ECUs simultaneously). The application communicates with ECU using popular CAN hardware interfaces. This application developed with 3-tier architecture model. The UI is developed in C#, the hardware communication module and the protocol sequence (business logic) are developed as COM components in VC++. The communication module supports most commonly used can interfaces like Vector, Kvaser, NI CAN, Value CAN etc. The protocol sequence component contains ECU specific logic. Both these components can be extended by adding support for new hardware and new ECU sequence.

Responsibilities

Mentoring team in design and development activities

Implementing new protocols and support for new CAN hardware into Serial Loader and COM components for Multi-flash tool

Implementing threading and synchronization concepts for UI using C# and for COM components using MFC/C++ in multi-flash tool

Implemented Singleton pattern in multi-flash tool where all flashing threads share a single S37 file in read-only mode.

Modifying GUI developed in C# to accommodate new requirements.

Creating IG blocks and simulating CAN messages in Vector Canalyzer/Canoe, Vehicle Spy

Reviving ECUs by flashing primary boot using GreenHills JTAG tool

Creating flowcharts, class and sequence diagrams in StarUML for all new requirements

Documenting design, development and unit test activities

Maintaining copies in SVN and co-ordinating team in SVN activities

Interacting with client from requirement gathering to project delivery

Conducting daily scrum meetings

Conducting internal code-reviews and ensuring team adheres to coding standards

Co-ordinating with quality team and creating required quality related artefacts

Technologies

Windows XP, Windows 7, C++11, VC++, MFC, C#, COM concepts, CAN and RS 232, Vector Canalyzer/Canoe, Value CAN, Vehicle Spy, SVN, VS 2013 and VS2015

HITACHI Harrodsburg, KY Sr. Developer 12/2012 – 06/2014

Test Stand Enhancement

Test Stand is a Front end tool to verify and validate different models of automotive ECUs. Developed in VC++ using MFC and Win32 APIs on Windows XP, the application provides a UI, which controls electro and electro-mechanical activities of ECU, initiates and controls the CAN, K-Line and LIN communications with ECU. Provides a platform for Test Team to validate ECU lot

Responsibilities

Developing the LIN communication module and LIN’s interaction with related CAN commands using VC++

Developed parsing of ECU commands, captured in xls document, using VC++

Designed LIN module class diagrams using Rational Rose

Create design and unit test documents for LIN module and share with end-customer

Participating in discussions with ECU firmware development team and enhancing the tool accordingly

Interaction with Test team at plant and supporting them in testing with the tool

Debugging Test Stand application directly in plant

Flash ECUs with latest S37 files using Green-Hills multi IDE tool and testing them at Test Stand in lab and plant

Capturing ECU measurement data with Vector Canape software and verifying measurement data under different scenarios simulated from ECU load box.

Creating and modifying ECU command sequences in xls documents that are given as input to Test Stand tool.

Technologies

Windows XP, VC++, MFC, CAN and LIN protocols, Vector Canalyzer

Ansaldo STS, Pittsburgh, PA Hyderabad, IN Sr. Developer 07/2012 – 11/2012

Microlock II Simulator

The application simulates a complete ASTS proprietary multiple Microlock hardware devices (employed in railroad) as a GUI. This application provides to test different Microlock scenarios and check different fault conditions. The application developed in C++ with QT framework to run in both Windows and Linux. Communicates with different simulated devices on TCP/IP protocol

Responsibilities

Porting working C++ application from Windows to Linux using QT framework and resolving porting issues

Developed multithreaded C++ code using QT framework thread and synchronization objects

Creating class diagrams and enhancing the application with new requirements

Writing requirement, design documents. Provided help document and developed help into application

Create release packages, setup executables and rpms for Windows to Linux respectively

Write sample test cases to simulate Microlock behaviour

Participate in daily onsite scrum meetings with client

Technologies

Windows XP, Linux, QT Framework, C++, MinGcc, TCP/IP

Ansaldo STS Hyderabad, IN, Pittsburgh, PA (6 months) Team Lead and Sr. Developer 07/2009 – 06/2012

Hermes ATS

The primary goal of the Hermes project is to provide means to effectively and efficiently manage (railroad) transit operations, which include automatic/manual train routing, route planning, route clearing, schedule generation etc. Hermes supports ATO (Automatic Train Operation) and ATP (Automatic Train Protection).

Hermes is developed as collection of modules (tasks), with each module accomplishing different functionality of entire system. The modules communicate by exchanging messages with each other over TCP/IP. This enables modules to run in a distributed environment. Hermes is developed in C++ on Linux. The GUI part developed in Motif X Windows.

Responsibilities

To build a technically strong team at off-shore after working at on-site alongside client and share part of his work from off-shore

Be the point of technical and domain support at off-shore in the process of resolving Software Problem Request and Software Change Requests

Delivering allocated work with quality and on time

Create requirement and design documents for SCRs

Be an individual contributor in resolving SPRs

Initiate internal scrum meetings and update the status to customer

Analysing crash dumps generated during application run and those shared by customer using gdb

Technologies:

Linux, C, C++, make, gcc, gdb, vim, Motif X Windows, Oracle 10, TCP/IP, Rational Clear Case, Purifier, Clear Quest

Bloomberg Hyderabad, IN Sr. Developer 10/2008 – 06/2009

Bloomberg Front End Feed Development

The main role of Front End is to receive data from various contributors and transform the received data into normalized formats used by Bloomberg's internal system. Data is mainly sent to Ticker Plant. For each contributor Bloomberg has a feed, which receives and processes the data.

Responsibilities

Build the application using make files and test against the raw data provided. Compares the production queues and test queues. Daily status is updated through VREQ Ticketing System

Send the source code for the internal review and customer review and ensures the customer satisfaction on the source delivered with review updates

Create unit test case document

Technologies

HP Solaris, C, C++, make, gcc tool set, gdb, vim

Gilbarco Hyderabad, IN Sr. Developer 12/2007 – 09/2008

Laptop Tool Development

LT2 is a GUI application, developed in VC++, to communicate with (petrol) pump over serial port. The purpose of this application is to help user or service field personnel in installing new software to, configuring and troubleshooting the pump. LT2 can query for latest LT2 and pump software updates from file server. This application supports localization of UI for different regions.

Responsibilities

Enhancements/extensions to existing application

Writing Unit test cases, testing and debugging the application using WinGDB

offshore support to client and participating in regular scrum meetings conducted by client

Updating resources to have Multilanguage support

Technologies

Windows XP, VC++, MFC, Win32 API, WinGDB

Gilbarco Hyderabad, IN Sr. Developer 10/2006 – 11/2007

Automatic Pump Test Editor

The editor, developed in VC++ intended to facilitate compilation and execution of proprietary scripts (Petrol Pump testing scripts). The script consists of keywords and the application parses these keywords to decipher the intended action. The application also provides loop features in the script to enable user to any repetitive activities. The generated scripts test various functionalities of target petrol pump, capture the results and provide these results for further analysis. APT communicates with pump, display PC, valve simulator and 2-Wire devices over serial ports, RS 232.

Responsibilities

Design and Development of “Valve Simulator” and “Display PC” features

Enhancement to existing application and testing

Implemented “wait” and “loop” features of the script

Interaction with client on daily basis in scrum model

Technologies

Windows XP, VC++, MFC, Win32 API

DLRL Hyderabad, IN Team Lead and Sr. Developer 08/2005 – 09/2006

Divya Dhristi (DD)

DD project intended to cater to the electronic surveillance need of Defence Department. The projects constitute of many modules, each module catering to the needs of 13 different posts. These modules communicate among themselves on TCP/IP protocol. In each module, the UI is created with collection of OCX components. In addition, each module communicates with DSP devices on LAN. All the modules are developed in VC++.NET on Windows XP. DD uses Oracle to store all the data collected at posts. It has PL/SQL scripts to automate database tasks and handle database events.

Responsibilities

Mentoring team and providing technical support

Design and development of Search, Monitor Posts and Recce Post

Participated with client in ATP (Acceptance Test Phase) of application with actual receivers and deployment

Worked with Oracle database like creating tables, inserting, querying and modifying table structures and contents. Worked with PL/SQL to handle database event activities.

Technologies

Windows XP, VC++, .NET, Oracle, PL/SQL, COM OCX, Win32 API

Pratt & Whitney East Hartford, CT Developer 02/2005 – 07/2005

Compressor Design Systems

CDS is a porting project developed earlier for HP-Unix 10. The present system enables to port to Windows 2000 and upgrade to HP-Unix 11i. The application developed to run in both console mode and windows GUI mode. The core program written in C++ and the supporting mathematical computations are in FORTRAN. The GUI supported by Tcl extensions ([incr] tcl and [incr] tk). BTL is used to generate the application graphs.

Responsibilities

Porting code from UNIX to Windows and resolving the compatibility issues.

Interacting with client

Technologies

HP-Unix 10 and 11i and Windows 2000, C++, Tcl / Tk, BTL

Pratt & Whitney East Hartford, CT Developer 07/2004 – 01/2005

ALISA – FABL++ Converter

The software intended to convert Aircraft engine data from ALISA to FABL++ input format. The ALISA input format is understood by FORTAN and FABL++ input format expects C++ generated flat file. The converter is a tool to generate a compatible input format for FABL++ giving ALISA format as input. The converter tool developed in C++. It uses the mixed language programming (FORTAN and C++).

Responsibilities

Design of FABL++ software

Development and testing of FABL++

Interacting with client

Technologies

Windows 2000, C++, VC++ and FORTRAN

OSL Vancouver, BC Developer 11/2003 – 06/2004

Electronics Chart Precise Integration Navigation System

ECPINS is a marine navigational software system developed to aid commercial and military liners at sea. It collects data from various sensor devices for analysis. The application developed using C++ Win32 API on Windows 2000.

Responsibilities

Enhancement to existing application

Unit testing

Interacting with client

Technologies

Windows 2000, Win32 API

DLRL Hyderabad, IN Developer 12/2000 – 10/2003

Controller with Multimode Display

CMD is PC based software with various subsystems of “Analysis Receiver” connected to it on RS 422 serial communication. CMD controls run time behaviour of “Analysis Receiver” subsystem by sending appropriate commands. It displays and stores on-line Radio Frequency data collected by “Analysis Receiver” subsystem. The application uses “ASCII Sliding Window” and “Binary Stop and Wait” protocols to communicate with “Analysis Receiver” subsystem.

Responsibility

Debugging and enhancements to existing application and support to client Unit testing

Developed picture data protocol at CMD end

Interacting with client

Technologies

Windows NT, VC++, MFC

EDUCATION:

Master’s in Computer Application MVSR Engineering College, OU Class of 1999

Achievements:

CMC Special Performance Award 2010



Contact this candidate