Sr. Embedded C++ Developer Resume
Saint Louis, MO
SUMMARY:
- Over 7+ years of extensive experience in Embedded with C, C++ on UNIX and Linux platforms.
- Expert in STL containers, Socket programming, Multithreading. Experience using Python and Shell Scripts.
- Written queries, stored procedures, and triggers in RDBMS Oracle, Microsoft SQL Server, IBM DB2.
- Fully conversant with Systems Development Life Cycle (SDLC). Well versed with Agile, Scrum, and Waterfall methodologies.
- Experience with various source control tools like cvs, svn and git/GitHub. Used Jira, bug - zilla, and other project management tools.
- Experience in designing and developing web pages using HTML and CSS and working with MVC architecture.
- Experience in developing C++ services using web services architecture, SOAP, WSDL, and XML. Strong knowledge and experience in Oracle 10g/11g database programming using SQL, PL/SQL, Stored Procedures, functions, triggers and other elements.
- Knowledge on SQL server BI tools SSIS, SSRS and software design, code optimization, networking TCP/IP, operating systems.
- Experience in Cloud Integration process for configuring multiple application programs to share data in the cloud.
- Excellent knowledge of C++ templating, C++11, embedded systems design and developing macros, routines in C++. Hands on Experience with the microprocessor peripherals such as PWM, UART, I2C and SPI.
- Worked with multi-microcontrollers platforms involving accelerometers, CompactFlash memory, LCD, USB and ZigBee networks.
- Proficient at debugging code. Acted as second and third level support for various positions.
- Applied knowledge of machine-learning, data science, algorithms and associated tools. Proficient in Test Driven methodology to design, develop & test software modules.
- Proficient in using static analysis tools and caught many severe bugs before production release. Expert in network programming skills including both TCP/IP and UDP.
- Deep understanding of operating systems and familiarity with Linux, Free RTOS+I/O. Experience of OOD design and end-to-end software development.
- Experience working on Data Structures and implementing mathematical models.Authorized to work in United States for any employer
TECHNICAL SKILLS:
Languages & Scripts: C, C++, shell, Python, Perl scripting, JavaScript, JSTL, HTML, CSS
Operating systems: Sun Solaris, IBM AIX, Red Hat Enterprise Linuxv6 & v7 (RHEL), Ubuntu.
Protocols: TCP/IP, UDP, CAN, SNMP, KWP2000, LIN, RS 232, GMLAN, KWP.
Databases: Oracle, Microsoft SQL Server, IBM DB2, SQLite and MongoDB.
OOAD: UML, Design Patterns.
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 Test.
Build Tools: Bitbake, Yocto, Jenkins, cppCheck, Coverity, Make, ANT.
Tools: emacs, UML tools, MS-Office, Splunk, Jira.
Simulation Tools: Labview, Cadence, Pspice, Hspice, Synopsys, Xilinx, dSPACE HIL, Matlab.
Configuration Management tools: GIT/GitHub, SVN, CVS
XML Parsing tool: Xerces.
PROFESSIONAL EXPERIENCE:
Sr. Embedded C++ Developer
Confidential, Saint louis, MO
Responsibilities:
- Designed and Implemented TCP/IP communication code to send put away vehicle data, information and records to the cloud to show/store information on GM site.
- Implementation of CAN protocol and Monitoring of Data Transmission on various ECU units using CAN Analyzer.
- Used Python scripts for generating reports by pulling data from database.
- Involved in code check - ins and code-checkout using GitHub repository and performs code reviews at regular intervals.
- Developed software algorithms and Model-based C++ programs for embedded control systems using MATLAB/Simulink.
- Designed, developed, and deployed new processes for sending trading events to downstream RISK applications.
- Worked and implemented several Arduino based embedded systems.
- Hands on experience in Configuration and Auto System testing of ECUs.
- Porting Bluetooth protocol and development of application software.
- Design and development of Bluetooth and WI-FI driver's development.
- Implementation and integration of Bluetooth and WI-FI resources with existing application.
- Used STL containers, algorithms, various data structures and design patterns in software design like Singleton for db connections & Observer pattern for processing events.
- Writing operator manuals, creating technical drawings, PLC programming.
- Conducted code reviews according to C++ Coding Standards and Conventions.
- Research of automatic recognition mechanisms for Human Computer Interaction devices.
- Experience in Socket Programming, IPC (Inter Process Communication) mechanisms under different OS/RTOS.
- Experience working on a wide range of microcontrollers/microprocessors such as 8051, 8086, ARM, PIC on Embedded devices.
- Performing testing for Infotainment domains such as Radio, Bluetooth Connectivity.
- Performed embedded SDK migration and integrated Wi-Fi and Bluetooth application code.
- Maintenance and enhancement of the Automation using embedded C.
- Migrated from SVN for source control to Git, local GitHub.
- Automated Quality Check tasks by creating PL/SQL procedures, cursors, functions and dynamic SQL.
- Bug Tracking, issue tracking, and project management & updating defect status using JIRA.
- Prepare Test Cases, Test Sets, Defect tracking report, Report progress on HP ALM, created Reports and monitored UNIX logs for troubleshooting defects.
Environment: C, C++, Linux, CAN, LIN, RS 232, QT/QML, Python, Microcontroller, SSL/TLS, Python, Embedded C, TCP/IP, REST APIs, gdb Debug Tools, POSIX Threads.
C++ Developer
Confidential, Irving, TX
Responsibilities:
- Analysis of the Functional Specifications and Business Requirements.
- Design and develop solutions using C, C++, Multi - Threaded, Shell Scripting and Python.
- Revamped most of the existing C, FORTRAN legacy code into C++11 with multi-threading.
- Ported code onto different platforms (Sun Solaris, IBM AIX and Red Hat Enterprise Linux).
- Prepare Design and Development Deliverables.
- Developed a remote thread monitoring tool for a production environment with critical security requirements.
- Work on the Low Level and high-Level Design Documents.
- Used Oracle SQL Developer for Database Activities.
- Peer reviews of the Design and Source Code (C, C++, and Shell Scripts).
- Support System Testing, Acceptance (UAT) Testing and Production changes.
- Debugging and troubleshooting production issues, enforced, documented and implemented C++ standards guidelines.
- Worked on Technologies: QT, QML, C++, QNX, UML, JavaScript and Json.
- Developed communication protocols such as FIX over TCP/IP, SSL/TLS and HTTP for Financial Applications.
- Using Git as code repository and JIRA Tracker as Defect management system.
- Implemented inter-process synchronization using UNIX domain sockets to synchronize various tasks.
- Worked with an alert system that generated alerts for customers based on specific events happening in the market using C++.
- Designed and developed various scripts for enablement or disablement of data using C, Shell and proprietary SQL database.
- Experience in development of Real Time Operating System (RTOS) with concepts like multithreading and Socket programming, operating system concepts like IPC mechanism and synchronization methods.
- Utilized various object-oriented techniques and implemented new logic for processing ICELINK events and CLEARING messages. Developed new C++ encapsulation wrapper classes for OCCI classes.
- Refactored existing code by introducing inheritance based design.
- Improved the code efficiency by optimizing the code and caching frequently used data.
- Utilized STL and C++ algorithms to achieve optimal design efficiency.
- Designed, developed and deployed new oracle PL/SQL stored procedures.
- Utilized OCCI to access the stored procedures from code.
- Develop and Execute the Module Test Cases on Unit and Integration Testing environments using Google Test, Python Unit testing.
- To accomplish all these, I used C++, Shell, PL/SQL, Cpp Check, Clear case, Rational Rose.
Environment: C/C++, SQL, bash,, Linux, LDAP,POSIX Threads, SVN, git, GitHub, OOAD, BOOST libraries, gdb, pdb, dbx, gTest, XML, Jira, Oracle 11g.
C/C++ Developer
Confidential, Long Beach, CA
Responsibilities:
- Coding and implementation of the entire solution for data acquisition from CT - Scanner.
- Preparation of Unit test cases and execution of test cases.
- Read /Write the different scan protocols.
- Implementing the CPP Unit test cases for automation.
- Review of design document, code and test case documents.
- The implementation was done, keeping in mind the memory and speed constraints while developing the algorithms. Interface of X-ray Machine.
- Used C++/ STL /C# .NET as containers for Database Objects.
- Writing google test for automation the unit testing.
- Involved in validating XML messages from external systems.
- Performed development on both windows and Unix environment.
- Used Oracle as Database and involved in writing the SQL queries.
- Writing the python Script for automation the unit testing.
- Took ownership of SDL (Security Data Logger) which was a multithreaded application.
- Responsible for supporting Subsystem Verification Program Testing (SSVP).
- Conducted super bench and cell integration testing.
- Developed Front End UI Screens using C++/MFC.
- Debugged and fixed various issues which were caused due to the porting of code.
- Created UML class diagrams using Rational Rose.
- Porting of application from Windows to Linux, HP-UX, Sun Solaris.
- Used ClearCase as Version Control System for managing the Application Code.
Environment: C, C++, STL, Unix, AIX, Linux, g++, gcc, pdb, Shell Scripting, IBM DB2, Oracle, SVN, event handlers, Observer Pattern, multithreading, thread pools, IPC, gpg encryption, gdb, dbx.
C++ Engineer
Confidential
Responsibilities:
- Coding and implementation of routing software for handling customer queries and re - routing to appropriate divisions. The customer's calls are automatically answered and place into a holding the queue until an agent becomes available.
- Developed tools like LINUX IDE (Eclipse) for C++, C, UNIX Shell Scripting, Clear Case, Clear Quest, QNX, Eclipse, VNC Viewer, XML Parsing etc.
- Involved in designing and developing the functionality and features using C++.
- Involved in the code and requirement reviews of work products developed by team members.
- Database Enhancements for new customers and departments/divisions.
- Writing stored procedures in SQL Server and integrated into the application to access the customer's calls, department's data from databases and store the customer's calls, department's data into database.
- Investigated and resolved issues throughout all areas of the embedded stack (network layer, TLS, flash driver, blue- tooth).
- Working on embedded systems development using advanced automotive technologies such as ADAS, V2X.
- Preparation of Unit test cases and execution of test cases.
- Porting of application from Windows to Linux.
- Developed embedded C++, real time SCA compliant QT software objects.
- Developed and executed User Acceptance Testing portion of test plan.
- Worked on creating various documents that include Use Cases, Class Diagrams, Sequence Diagrams and Activity Diagrams.
- Developed, coded, tested, debugged and deployed web services, MQ for the input and output forms on the web services.
- Review of design document, code and test case documents.
Environment: C, C++, STL, QT Framework, CVS, OOPS, DBX, Linux, GCC Compiler and Perl Scripting, WinDbg, SQL Server 2005, Windows Services, Boost C++ Library.