vivek - C++ Developer |
[email protected] |
Location: Mc Kinney, Texas, USA |
Relocation: YES |
Visa: GC |
Over 8+ years of experience in designing, implementing, and adapting sophisticated applications using C/C++ on Windows and Linux platforms.
Proficient in backend software development using multithreading in UNIX and Linux with Boost library and STL (sets, maps, lists, stacks, queues, data structures, algorithms). Having 6.5+ years of experience working in an onsite client environment. Skilled in writing shell, bash, and Python scripts for automation and unit testing. Knowledgeable in UNIX Inter-Process Communication (Pipes, Message Queues). Proficient in debugging and troubleshooting complex issues using tools like GDB, GNU, and DBX. Experienced in network programming with TCP/IP protocol and multithreading. Experienced in implementing software design patterns: singleton, factory, observer, fa ade. Developed C++ class test frameworks using CppTest, GoogleGmock, and Boost Unit Test. Good exposure in tools like MUTT, pMax, JIRA, Clarity, Panther GUI, Eclipse - C/C++. Well-versed in SQL query handling in DB2 and C++ and Python SDKs. Experienced in all phases of the software development life cycle: requirements gathering, analysis, design, test case creation, development, unit testing, and maintenance with a strong knowledge of algorithms and data structures. Worked within Agile and Waterfall methodologies. Proven ability to troubleshoot 24/7 production support issues and provide temporary/permanent solutions. Strong business analysis skills: creating new business rules/variables for fraud prevention, defining functional requirements for digital wallet/payment initiatives, and customer-facing applications. Guided, mentored, and trained junior engineers, and conducted review meetings. Strong business analysis skills for fraud prevention and digital wallet payment initiatives. Knowledgeable in HTML5, CSS3, JavaScript, AngularJS frameworks, and Core Java programming. Familiar with version control systems (GIT, SVN, CVS) and Google Test Framework. Excellent communication skills, both written and oral and having strong technical and analytical skills, effectively resolving issues/bugs. Experienced working with multiple teams and independently. Committed to continuous learning and quick adaptability to new technologies and project requirements. Technical skills Programming Languages & Scripts C, C++, Python, Core Java, shell, JavaScript, JDBC, Servlet, JSP, JSTL Operating Systems Sun Solaris, IBM AIX, Red Hat Enterprise Linux, Ubuntu OOAD UML, Design Patterns Protocols TCP/IP, UDP, CAN, SNMP, KWP2000, LIN, RS 232, GMLAN, KWP Databases Oracle, Microsoft SQL Server, IBM DB2, SQLite and MongoDB Libraries & Frameworks STL, BDE, IPC, multithreading, sockets, heap allocators, Google Mock signals/event handling, SOAP web services, Software Design, Quick FIX, OOP/OOD, Design Patterns, Google TestBuild Tools: Bitbake, Yocto, Jenkins, cppCheck, Coverity, Make, ANT Tools emacs, eclipse, UML tools, MS-Office, Splunk, Jira, Open Grok Simulation Tools Verifix, Labview, Cadence, Pspice, Hspice, Synopsys, Xilinx, dSPACE HIL Configuration Management tools GIT/GitHub, SVN, CVS XML Parsing tool Xerces Development Packages and SDKs Universal Windows Platform/Windows Runtime, WinInet, .NET Framework, MFC Library, MS DDK, MS Native SDK, MS Win32 SDK, ATL and STL Professional Experience Client: PWC Sep 2023 to Till Date Role: Sr. C++ Developer Responsibilities: Involved in requirement analysis, design, coding, and implementation. Design and software coding using C, C++, multi-threading, and data structures. Algorithms in different OS environments like WINDOWS, LINUX. Lead the 2-member team to develop the features and helped team members in resolving technical issues. Participated in the scrum meetings give status of tasks, schedule and update the status. Handled multiple modules, areas, and modes (GUI, CLI, iCLI and configuration file mode) of HPSUM Application. Handling Linux and Windows Server deployment issues alone. Implement features like Firewall in stl/windows, Command line support, heart beat mechanism and product optimization etc. Implemented Identify command in C\C++ on Linux 32 bit and 64-bit environment to identify the devices and hardware. Supported C++ testing framework to improve automated testing. Worked with developers to design tests to test new functionality and replicate bugs to improve automated test scripts. Programming and Changing UI screens using C++/QT, Used multi-threading and thread synchronization extensively. Documented testing framework and worked with international team to expand framework to provide functionality which was not yet implemented. Code reviewed changes and created JIRA entries to track and resolve issues. Fixing Quick issues and tracking the Issue management tool. Environment: C, C++ (Vdersion-11), Java, STL, SQL, Perl, Windows, REST, Shell Script, Clear case, Linux, Clear Quest, KDevelop, Doors, Agile Scrum Client: Macy s, Fremont, CA Jan 2022 to Aug 2023 Role: C++ Developer Responsibilities: Test Stand (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. Designed and implemented exceptionally effective calculation to ascertain information to send crosswise over radios from car to connected vehicles/gear. 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. Interaction with Test team at plant and supporting them in testing with the tool. Debugging Test Stand application directly in plant. Capturing ECU measurement data with Vector Canap 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. Software design and development of advanced embedded HMI and abstraction layer for GM Sync 3.2. V2 infotainment system. Involved in Software design, development and maintenance, Perform design and code reviews. Translating automotive infotainment designs from Python into implementations in C++ and QML using QT 5 and Linux Designed Coded and Tested conversion of advanced embedded touch screen software for an infotainment system written in python to QT 5 /C++ using QT Data Models and custom QML views. Worked with Technologies: Python, QT, QML, C++, QNX and UML. Development of high level driver interfaces for miscellaneous analog and digital I/O in C on a UNIX platform utilizing the ClearCase CM tool suite and GNU compiler. Debugging driver interfaces utilizing Lauterbach tool suite. Development of CAN TX and RX interface software in Vector DaVinci. Analyze and edit CAN signals and message lists using Vector CAN db++. Maintaining requirements and message lists in VSEM/Team center Develop OpenXC applications in Java and C# Design, develop, integrate, and test HMI software in a GM car. Fixed hard bugs in HMI software Technologies used include: C++, QT, QML, JavaScript and JSON Extensively used the repositories like Github and SVN. Worked with automated configuration management/code management systems or application life cycle management system such as Microsoft Visual Studio ALM. QNX audio drivers (TDM interface, S/W decoder), system drivers (SPI, I2C, I2S, HMI interface) development Leading end to end execution of project involving review of Shell/Perl/Awk scripts to automate systems. Involved in performing code reviews in C++, Python and Shell scripting languages for moving into development on various UNIX, LINUX operating systems. Environment: Embedded C, C++, OOAD, STL, CAN, VC++ Integrated Development Environment and Debug Tools and Windbg. Windows, Windows CE,Win32 API, Freescale Code Warrior IDE, JDGUI SUITE, Xoreax IncrediBuild Mercurial HG,Python, Microsoft Visual Studio 2005, Ultra Edit, PC Lint, ISG Lab SIM 4.0, Google Test, Code Collaborator, Rally and DeereVPN. Client: Radar, New York, NY Jul 2020 to Dec 2021 Role: C++ Developer Responsibilities: Worked with design and development of a Group of Trading applications used by Security Finance division. The applications handle the securities lending activities of Capital Markets including security borrows, loans, and REPO trading. These applications are developed on 3-tier architecture (Client, Server, and Database) using C++, STL, Rogue Wave, Oracle, MQ, log4cpp on Solaris and Red Hat Linux (RHEL 5) which work in tandem with SunGard's Martini platform which is an industry standard for Securities lending and REPO applications. Responsibilities include working with business users and back-office team in understanding requirements, design, development, testing, deployment and production support. Designed, developed, tested and deployed a position loader for loading settled positions into the database. Utilized C++, BDE, STL, and thread pool to achieve optimal design efficiency. Designed and developed a Mark-to-Market application to mark the securities with market prices to evaluate the collateral margin exposure. Utilized C++ templates, OO Design Patterns. Developed new locate modules (to match short sell trades) using C++, Oracle on Solaris and Linux. Developed a Real-Time application that transmits the trading activities to settlement systems using FIX, to back-office vendors which are eventually sent to DTCC for clearance. Utilized C++, STL containers, BOOST and algorithms for achieving an abstracted design. Designed and coded a settlement reconciler that generates a list of unsettled and partially settled trades to downstream settlement systems for reconciliation. Designed and developed new C++ modules for sending open contracts to Equalled for reaching price agreement with counterparties. Designed and developed C++ programs for borrowing shares from fully Paid customer positions. Python Scripts were designed and developed for Data Import/Export and Conversions. Used Test driven approach for developing the application and implemented the unit tests using Python Unit test framework. Designed a Web Interfaces for test application using Java that validates the results in web version. Enhanced the exposure reports that explain in detail the exposure involved at various levels in a trade (security, counterparty, currency etc.) Utilized C++ and Oracle. git was used as the Source Control tool. Environment: Embedded C, C++, Python, Java, Singleton design pattern, Observer pattern, FIX protocol, MQ, Solaris, Linux, STL, BOOST, Thread Pool, TCP/IP, SOAP services, caching data and IPC. Client: Amgen, Cary, NC Jan 2019 to Jun 2020 Role: C++ Developer Responsibilities: Initiated a comprehensive issue tracking process that improved communication and issue resolution for cross - functional teams and senior management. Shared the ideas to meet the future market demands for the existing and new products. And created the open platform discussions within the organizations for ideas sharing and brainstorming. Reviewed codes in Shell Script, Pearl, Python, AWK, C++, PL/SQL & T-SQL; created subprograms, procedures and functions, DB triggers, cursors and optimization techniques for T-SQL. Worked on Embedded environment using QT-QNX interfaces. Led the migration of historical data to client, fine-tuned SQL & database, generated reports for management, etc. Designed and developed solutions using C, C++, Multi-Threaded, Shell Scripting. Using PVCS Version Manager as code repository and PVCS Tracker as Defect management system. Using Oracle SQL Developer for Database Activities. Developed and executed Perl, Python shell scripting programs Peer reviews of the Design and Source Code (C, C++, and Shell Scripts). Develop and Execute the Module Test Cases on Unit and Integration Testing environments. Support System Testing, Acceptance (UAT) Testing and Production changes. Debugging and Troubleshooting production issues. Responsible for Development/Enhancement, bug fixing as well as Production Support. Involved in writing PL/SQL part depends upon user requirements. Analyzing, designing and implementing change requests for the C/C++. Analyzing the Dependencies of Web Sphere Systems on Mq-Series Qmgrs. Responsible for Administration of Q mgrs in MQ-Series. Involved in writing optimization techniques for more accuracy of Macros in C/C++, C and C++ routines and Oracle SQL, PL/SQL. Developed communication protocols such as TCP/IP, SSL/TLS, HTTP for Financial Applications Wrote Shell/Perl/AWK scripts for Production Systems. Used Oracle and Sybase as the backend databases. Provided support for internal business process and responsible for communicating detailed technical information and providing technical assistance to customers, systems, and management and external sources. Provided on Call Support for Critical Production Problems. Coordinating with End Users with version releases. Experience in Continuous Integration, Test Driven Development, Jenkins, PTC Integrity, SVN Involved in customer query resolution and maintenance of the messaging products like MQ series. Responsible for project lifecycle documentation and day to day status reports. Maintaining Quality measures as per the agreement policy. Environment: C, C++ (Version-11), Python, Java, Unix, STL, SQL, Perl, PRO * C, REST, Shell Script, Clear case, Linux, CORBA, Win32 SDK Clear Quest, KDevelop, Doors, Agile Scrum, Solaris, Sybase-TSQL, Oracle, Sun Studio 7 (Forte -Cross Environment), MQ series, UNIX, Linux, SQL-Loader, Toad, C++. Client: Anand Technoloies, India Jan 2014 to Aug 2018 Role: Software Engineer Responsibilities: Assist in developing automation script for our various platforms (Web, MWeb). Responsible for web logic administration, maintenance and performance tuning using Java Wrote Firmware/Fcode drivers in C for various SCSI and Gigabit-Ethernet hardware products Firmware for a bootable serial ATA device, which uses Sil 3112A chip. Work as a product client team developer on a variety of platforms including Windows, UNIX and Linux distribution using C/C++. Worked with a team of developers to analyze project requirements and add functionality to existing C/C++ applications and SQL databases, such as reading in claims in different formats from different sources, checking for errors, and converting them into a standard format. Created Proxy for Client Application using SvcUtil tools and used as Service Reference. Designed and developed DCA software for D400 product in C/C++ using TCP/IP and UDP programming whose primary function is polling and provision of information from several Intelligent Electronic Devices installed in the substation. Developed device management software in C/C++ using TCP/IP and UDP programming that provides potential issues with set points of configured devices and to identify if protection elements and fault diagnostic reports are enabled for selected devices. Managing the configuration and controlling the code version using subversion. Designed many UML diagrams in Magic Draw for generating C++ code on the fly. Used Embedded Coder for translating models into model source code and executable in QNX Real Time Operating System (RTOS) single-tasking mode. Writing the assembly language program and debugging. Environment: Embedded C, C++, Java, UNIX, LINUX, SvcUtil tools, TCP/IP, UDP, Magic Draw, QNX RTOS. Education Hindustan University Bachelor of Technology Chennai, India Keywords: cprogramm cplusplus csharp user interface message queue database container edition microsoft procedural language quasar toolkit California New York North Carolina Texas |