Narasimha - Embedded C++ |
[email protected] |
Location: Atlantic City, New Jersey, USA |
Relocation: yes |
Visa: EAD |
Narasimha
Email: [email protected] Phone: +1 947 228 6768 Ext 12 C/C++ Embedded Software Engineer with 9+ years of hands on experience in Software Development, Production, Support, troubleshooting & Maintenance. Strong experience in C/C++ on Linux using STL, multithreading (POSIX), Boost libraries, data structures, IPC (TCP/IP socket programming). Strong in Object-Oriented Programming (OOP), Object Oriented Analysis and Design patterns Experience in various aspects of system architecture, software design, development, implementation and validation. Worked on Python, Bash Shell Scripting, Perl Scripting, Kernel Debugging and Qt5 QNX/QML. Strong experience in creating Test Plans and Test procedures, driving Test Strategies and tools identification, Managing Test design through cross functional teams and creating Test Summary Reports. Porting and Integration of different application layers of TCP, PPP and UDP for various home automation products on Embedded Linux kernel. Extensive experience in Oracle Tools and Utilities such as SQL*Loader, Import/Export, TOAD Expertise in C/C++, Pro*C using Pointer, Structures, Macros, Functions. Wrote some scripts using Scala, Python & Golang (with some C, C++ and rarely Rust) Expertise in creating new C/C++, Pro*C Batch Programs with embedded SQL s, Pl/Sql Procedure calls, Arrays and Dynamic SQL. Experience in developing and enhancing the windows applications using VC++ and MFC. Good exposure to Digital Logic Design using Verilog, VHDL, SPICE and implementing in Xilinx FPGA and good experience in Embedded Linux Platform, Building Embedded Linux. Profiling, optimization and bug fixing trading system back-end. Data Manipulation was completely done using Pro * C whereas Tuxedo was used as the Middleware Expertise in Python, Linux Shell, Windows Powershell, Perl scripting, Kernel debugging and QT-QNX. Implementation in C++ and enhancement to a new version using C#. Worked with RTF and custom RTF parser implementations. Design and development of multithreaded application on existing Linux platform on video manager for better servicing the video streaming on mobile applications. Primarily, teh Claims application was developed in C++ on HP/UX platform using distributed transactions provided by Oracle Tuxedo as well Rogue Wave Tools++ to develop client API interfacing with Informix IDS server using advanced SQL Experience in Home automation, entertainment, Telecom provisioning and financial application development programming using C, C++, Python, Linux and Assembly. Verilog and Analog Design experience in the field of Semi-Conductor and board level design. Experience in SVN, Git, Jenkins. Hands on knowledge about business tools, Repo and build maintenance tools, and different firmware & software development tools. Experience with application migration to cloud platforms like AWS. Experience with QT and QML UI Development. Used Boost C++ library for Documentation providing an elegant and efficient platform independent to needed services Monitored, deployed, run-the-business, upgrade, configuration management for Tuxedo services Good hands on experience on Web services like RESTful API, SOAP API and XML data integration. Very strong exposure on software development on Embedded Linux, RTOS. Proficient at debugging code using gdb tools. Acted as second and third level support at various positions. Handled Serial Drivers like HS USB, I2C bus, L1/L2, RS - 232, TCP - IP, SPI, SCI, CAN, J1939, ARC, for serial Communication through 8/16/32 bit Micro Controllers Understand Confidential version 2010 of FIX protocol and map CTCI fields to FIX tags. Good debugging and analytical skills on x86 and ARM platforms. Performed Debugging profiling for optimization purpose and finding bugs in Linux platform. Experience using in Python, Shell, Bash, Pearl scripting, Kernel debugging and QT-QNX. Experience in various SCM tools GIT, GitHub, CVS, Gerrit. Have experience in working on UML on creating class, sequence, activity, deployment diagrams. Have good skills in writing requirement, design and unit test documents. Experience in voice/video application over wireless network. Development experience with XML, JSON, TCP/IP, UDP/IP and multithreaded application using IPC mechanism. Used Design patters for Program creation and organizing code into objects and relationships of objects Good experience on Wi-Fi/I2C/BLE/ZigBee protocols. 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. Have exposure with Agile software methodology and Scrum activities. TECHNICAL STRENGTHS Languages C, C++, Embedded C, Core Java, Rust, RESTful, JSON Operating System Linux, RHEL, Unix, Ubuntu, Windows7/10 Scripting UNIX Shell Scripting, Python Databases ORACLE11i/10g/9i/8i, MSSQL Server, MySQL, DB2, SYBASE 12.5.4, PL/SQL, IBM DB2, SQLite, MongoDB OOAD UML, Design Patterns Configuration Management tools CVS, SVN, Git/GitHub Network TCP/UDP/IP, VPN, Multicast, IGMP v2/v3, STP/RSTP, RS232/422/485, 1553, A664. Web/Application Servers: Weblogic4.x/5.x/6.x/7.0,WebSphere3.x/4.x/5.x/6.0 JakartaTomcat3.x/4.x, IIS 5.0, Sun Java Application Server 8.0,Oracle iAS. Embedded Systems QNX, Raspberry Pi 3, ROS Serial Interface L1/L2, I2C Bus, HS USB, UART, 82C51A, RS - 232, SCI/SPI, J1939, TXMITTERS, CAN, MODBUS, PROFIBUS, FLEXRAY, & ARC Debugging Tools gdb, dbx Build Tools Make Bug Tracking tools Bugzilla, Jira Protocols TCP/IP, I2C, SPI, UART, RS232, Bluetooth, Wi-Fi Libraries & Frameworks STL, IPC, multithreading, QT/QML, Sockets, signals/event handling, Google Test PROFESSIONAL EXPERIENCE: DirectV, PA Feb 2022 to present Embedded/C++ Developer Responsibilities Experienced in STL concepts of C++ in developing the application. Design and development of Embedded Application with QT/QML/C++/C and participated in the Linux standards development. Developed a State Machine which handles Data Collection components. Involved in developing a component named Data Collection, it is used to approach for pausing the generation and posting of data collection messages from the firmware when the data collection cloud service is unavailable, unreachable, or in an error state. Support modules for implementation using PL/SQL Scripts, Unix Shell Scripts and Pro*C. Hands on experience in data processing automation using python. Used python to extract data information from XML Files. Performed Configuration module testing and worked on NAND Flash Utility testing. Experience with networking and application protocols like Ethernet, Wi-Fi, TCP/IP. Used IBM MQ Series to establish message communication in Oracle Tuxedo distributed transaction environments Developed C/C++, Pro*C Batch programs using Multithreading Programming for handling large volumes of data for parallel processing/load to purge RMS data. Production support, bug/defect fixing, integration, field visit to solve customer issues Performed Test Driven Development (TDD) in an Agile development environment Created new UI Screens for SSLVPN. Developed new locate modules (to match short sell trades) using C++, Oracle on Windows. Extensive experience in Oracle Tools and Utilities such as SQL*Loader, Import/Export, TOAD from COBOL to Pro*C. Integration Video surveillance software components to the central software. Confidential FIX protocol implementation for trade reporting to Confidential Hands-on experience performing extractions, margin calculations, and validations on data via Java and re-entering the data into the Murex system Designed and Developed PowerShell Scripts to monitors the events, alerts and sending to host servers database. Data Manipulation was completely done using Pro * C whereas Tuxedo was used as the Middleware Coded and unit tested the components using Visual C++ and Tuxedo, a transaction middleware framework. Managing telecom providers in all global service regions to effectively assist with network planning Worked on improvement of configuration and monitoring tools. Bug fixing, trading support, monitoring and troubleshooting. Worked in developing and enhancing the windows applications using C++ and MFC. Developed applications to consume Transaction Processing Facility (TPF) messages coming from IBM mainframes and submit the results in Oracle and/or DB2 databases. Debugged problems for traders with Murex support. Utilized various object oriented techniques and implemented new logic for processing or monitoring the events or alerts using PowerShell script. Developed Fix adapter for communicating execution reports from WEX/FLEX trading systems to Murex. Created suite of UNIX tools for DSP code generation and analysis. Involved in creating new programs and jobs to generate reports as per the client request using Pro*C and shell scripts. Studied the FIX Protocol Server. Downloaded their C++ Source code sample application that streams FIX messages. Used Strong Swan to native NETKEY IPsec stack of the Linux kernel it is running on. Experienced in Google Protobufs. Implemented unit tests using unittest++ framework. Analyzed, designed, developed and deployed new C++ classes and modules for implementing Main Message Flow (MMF), a layer that ensures persistence and delivery guarantee. Design and develop solutions using C, C++, Multi-Threaded, Shell Scripting. Using Golang, developed scripts. Environment: Pro*C, C, C++ 14/17, Rust, AWS, OOPS, Python, Java, Golang, PowerShell, Oracle Tuxedo, Jenkins, FPGA, Github, Jira, QT/QML SQL, Eclipse, gdb, REST, PL/SQL, Tuxedo, ROS, UNIX, Linux, Shell Scripting, Perl Scripting, UML, TCL/TK, RTOS, Python 2.6/2.7, JavaScript, HTP, JSON, XML, DELL, TX Nov 2019 to Jan 2022 Embedded/C++ Developer Responsibilities Used Python for auto generation of C++ header files for compilation. Used Valgrind tool for identifying memory leaks debugging and profiling. Created Pro*C program using Pointer, Structures, Macros, Functions. Designed and developed HTTPS File transfer utility to copy database backup file on standby host and restore using RMAN, C++, Boost, Multithreading, Oracle, and Perl. Involved in Production support for resolving end-users issues. Extensive experience in writing SQL Queries, PL/SQL Stored Procedures, Packages, Functions, and Database Triggers. Extensive experience in Oracle Tools and Utilities such as SQL*Loader, Import/Export, TOAD from COBOL to Pro*C. Performed Configuration module testing and worked on NAND Flash Utility testing. Worked on fixing Data leakage from Application using multiple interfaces of http, xcap and migrated to HTTPS without changing app functionality. Data structures, algorithm sockets and threading were specified, prototyped, developed and tested on object oriented, multiplatform C++ framework. Debug the application crash logs experience in Php, PowerShell, JavaScript Working experience in Iterative Agile Methodologies (SCRUM) and well versed in SDLC (Software Development Life Cycle) and SCRUM or similar Agile Worked on SOAP Web services using C++ in multi-threaded application development processing XML requests. Used various data structures, algorithms, STL and sockets. Wrote DBI APIs for RMA, AGI, and RBAC component to insert, modify, select and delete record from Oracle database using C, SQL, PLSQL, and Oracle. Wrote Perftest and unittest driver to test DBI APIs using C, Perl, SQL, Oracle, and OCI. Developed application code in the Windows environment using Microsoft Visual Studio for API testing. Involved in Migration of Stored Proc s from Sybase 12.5.4 to Oracle 10g Experience solving systems outside of the semiconductor space such as convection-diffusion Developed Event based State machine to read XML files and populate in C++ STL datatypes for processing and config changes by user. Implemented Core Java Development modules to talk to Oracle Tuxedo JVM to establish communication between JOLT APIs Java-enabled clients to talk to teh Oracle Tuxedo Distributed Transactions services implemented in C/C++ UNIX; to send data to and fro across business clients based on self-describing formats such as XML and tag value pairs text files. Developed the ARM based processor supporting drivers and firmware using C/C++. Written documentation of technical architectural design. Define test cases and write test automation which effectively validate module designs. Built a Custom Pipeline for Jenkins to automate the whole build and Sanity testing process. Developed C, Pro* C/Batch programs using Multithreading Programming for handling large volumes of data for parallel processing/load. Enhanced the existing UNIX scripts to achieve better performance and throughput. Worked on automation of Quality Check tasks by creating PL/SQL procedures, cursors, functions in SQL. Performed Unit testing and Google Test to test the functionality of services. Environment: AWS, C, C++, Jenkins, Github, Jira, Rust, Golang, Oracle, Devops, SQL, Eclipse, gdb, REST, PL/SQL, UNIX, Linux, Shell Scripting, Perl Scripting, API, Github, UML, Agile, Python 2.6/2.7. Tracfone Wireless Inc. Elgin, IL Sep 2017 to Oct 2019 C++ developer Responsibilities Seasoned in delivering under complete GE Transportation Software Development Life Cycle methodology (requirement, analysis, design, data modelling, business process modelling, implementation and deployment). Major role as an embedded engineer using C/C++ on QNX RTOS for design and development of HMI screens for Trip Optimizer (TO) to configure on EMD Locomotives. Design and Implement Trip Optimizer Interface which can fetch Locomotive information and relative data from Trip Optimizer and record this data for later use. Understanding of existing source code and addressing Change requests (Defects) in existing applications and new feature integration, new applications based on requirements. Verification and Validation of multiple sub systems in Locomotive in LAB, VSIM and on real-time locomotives in manufacturing Floor based on test procedures. Capture Network data between server-client to understand and debug the messaging protocols such as CPO mechanism using tools like Wireshark. Worked in Test Driven Development and testing Trip Optimizer sub systems and updating the Validation Plan, Test cases and Function Requirement Documents in DOORS with connection to IBM database. Working in Kanban, Agile Methodology in a 2-week sprint environment. Environment:C, C++, Linux, VSIM - Virtual Simulator, Python, Shell, Trip Optimizer, Event Log Reader,gdb, QNX, HMI, DOORS, WinSCP, Visual Studio Bell Solutions, India July 2015 June 2017 C++ developer Responsibilities Worked as C/C++ developer with Test Driven environment and embedded IoT software applications deployed for Logistics. Container Tracker is cloud-based software that enhances supply chain performance by delivering real time data-driven insights. Major role as an embedded software developer for scheduling, planning and tracking the containers using IoT based solution using x86 platform. Integration of IoT gateway with AWS using DynamoDB and ApiGateway services with REST API between client/server. Preparing Maintenance Manual, System Description Document and Functional documents. Automation done for generating various kinds of reports by using Perl/Shell scripts. Involved in writing optimization techniques for more accuracy of data filtering and aggregation. Reproduced software bugs/defects present in current software deliveries and implemented potential fixes and provided detailed root cause analysis. Environment: C, C++, OOAD, STL, SSL/TLS, Integrated Development Environment and Debug Tools, Ubuntu Linux, POSIX Threads, Intel IoT platform, MQTT, MongDB, AWS Keywords: cprogramm cplusplus csharp user interface user experience message queue information technology hewlett packard procedural language quasar toolkit Illinois Pennsylvania Texas Wisconsin |