Embedded Engineer Resume
San Diego, CA
PROFESSIONAL SUMMARY:
- 6 years of experience in designing and developing client/server and multi - threaded applications using C/C++ and Python.
- Strong skills in C/C++ and object-oriented design and programming, multithreading, network protocols and real-time system.
- Expertise in designing, developing middleware components for software in C/C++ using STL, multithreading, data structures, IPC (TCP/IP socket programming), and design patterns.
- Experience in using C and Assembly language to debug and update firmware versions
- Expert in preparing functional and design specifications.
- Expert in Boost STL containers, Design Patterns, Socket programming, Multithreading.
- Developed Desktop Applications and Mobile Applications and improve application performance using android, Qt.
- Extensive experience using the OOAD and Object Oriented (OO) Model Concepts for development process.
- Experienced with full software development lifecycle, architecting scalable platforms, object oriented programming, database maintenance and agile methodologies.
- Good exposure to each of the phases of Software Development Life Cycle (SDLC), developing projects from stage of concept to full implementation.
- Expert in requirement analysis, design, development, testing and Integration of software modules.
- Experience in implementing business logic using Triggers, Indexes, Views, Stored procedures, Transact-SQL and in Design, Normalization of the database tables.
- Strong experience in automating system test and production tasks using Shell Scripting and Python.
- Act as a point of escalation for Data Centre and IT related issues. Ensured technical and process architecture solutions are documented & designed to support business requirements
- Used JIRA, Version One , Bugzilla and other project management tools.
- Good understanding of SDLC processes, AGILE-SCRUM and waterfall methodologies.
- Good experience with JENKINS and other build environment tools.
- Worked with Git, SVN, CNS and clear case configuration management systems and used tools such as Rally, Review Board, Extra view and Clear Quest.
- Ability to work with team and investigate, resolve real-time issues.
- Strong analytical and problem-solving skills, always striving for new knowledge.
- Excellent communication and interpersonal skills, ability to work independently as well as part of an integrated team
TECHNICAL SKILLS:
Programming Languages & Scripts: C, C++, Java, Python,
Operating Systems: Windows NT/2003/XP/Vista, UNIX/Linux.
Databases: Oracle, Microsoft SQL Server, IBM DB2, SQLite and MongoDB.
Libraries & Frameworks: STL, BDE, IPC, multithreading, sockets, heap allocators, signals/event handling, SOAP web services, Software Design OOP/OOD, Design Patterns, Google Test, Google Mock, Quick FIX.
Version Controls: GIT/GitHub, SVN, CVS.
Build: Jenkins, cpp Check, Coverity.
PROFESSIONAL EXPERIENCE:
Confidential, San Diego, CA
Embedded Engineer
Responsibilities:
- Working on Gathering, Understanding higher level Business/functional requirements and writing Software Requirements to develop and test the new applications
- Understanding the existing system design.
- Analyze the requirement and understanding the dependencies between the components.
- Participate in the cross-component team meeting to understand the dependencies and impact on other components.
- Understanding all the components of the system and coming up with a common interface for the communication medium between components.
- Created Element performance specifications (EPS), Software Impact Analysis (SIA), Test Performance System (TPS) and Test analysis Result (TAR) documents (test plan and test specification) for the PAS Team.
- Presenting the demo to all the component owners
- Developed an intermediate proxy interfaces for the communication between the components
- Involved writing documents in Team Center Product lifecycle management (PLM) which is an information management system that can integrate data, processes, and business systems and, ultimately, people in an extended enterprise .
- Working on developing CPD (Calibration, Performance and Diagnostics) software applications using Embedded C, C++, Python, SQL development environment in RTOS VxWorks framework and Red Hat Linux environment.to verify and validate the EUV light source machinery.
- Work and support various embedded system applications specific to S1/S2 Plasma & Timing Energy and Droplet Generator in EUV Source Confidential releases
- Design and developing CPD Test scripts for Droplet Generator steering system, with Python, C++, STL library and used Vector, List and map for Linux Internal and driver interfaces
- Used Code Collaborator for reviewing the code and document to meet the software quality, did Integrations with JIRA, and eclipse, System Diagnostic tool (STD).
- The completed tasks have to be merged to the main server using version control tools like GIT, SVN.
- Optimization of applications and enhancing the system performance
- Troubleshooting, fixing and deployed many C++, bug fixes of the two main applications that were a main source of data for both customers and internal customer service team.
- Fixing all the bugs found in unit testing, Regression testing, Smoke testing. This also includes helping the application users in understanding the Dev Bench, BT10,BT7 (includes stimulator, sensors, scanner) set up environment for them to make up the Source GUI,ONE GUI application up, and running
- Document and revise system design procedures, test procedures, and quality standards using GTest, GMock and PLC simulator framework test tools
- Implementing Scripts to improve the test code quality and automate test creation.
- Executing and reviewing the test cases, document and report the results
- Support System Testing, Acceptance Testing and Production changes
- Test and deliver the software patches to Trunk (RC) and customer related releases (SPA)
- Check out various versions of the code base to create patches applicable for new release versions and seamlessly integrating delivered patches to SPAs(Source Patch Advice).
Skills & Tools:- C/C++, Python, Python Scripting, CPPUnit testing, Code Collaborator, JIRA, Confidential System Diagnostic Tool, UML, Workbench, Source GUI, AIR and RTOS VxWorks.
Confidential, Mayfield Heights, Ohio
Embedded Software Engineer
Responsibilities:
- Engineering test development and augmentation using C, C++,MFC, CPPUNIT architecture and python
- Was responsible for developing execution, peer reviews and final delivery of Graphical User interface in studio 5000(tool to configure the controllers) and firmware functionality in CompactLogix and ControlLogix Programmable Controllers.
- Worked on Dynamic Cyclic Read/write Implementation in Firmware in ICE1 and ICE2
- Worked on C/C++, Python,Studio-5000(Including Motion instructions), PLC’s, Logix Platform, Clear Case, GIT, Code collaborator, VB6.0, C++ and OOPS, MFC, SQL Server and python scripting .
- Specialization on CIP ( Common Industrial protocol ) used in Studio 5000 Automation Engineering & Design Environment(TM) applications over Ethernet/IP for high-speed motion applications.
- Understand the FRS document and technical documents of Integrated Comms & Execution ASIC ICE1 and ICE2 code.
- Working on C/C++ code and debugging with Logix controllers using Wind River work bench which provides the IDE for accessing and compiling the product source code for Logix based products and controllers with a Logix AUX ARM on VxWorks Operating System.
- Troubleshooting of traffic using Packet Capture and analyze using Wire Shark and analyzing the performance of ControlLogix 5580 and 5570 Controllers (Allen-Bradley products).
- Responsible for developing complete and accurate design description for ICE1 and ICE2 safety integration level 2.
- Specialized in Rockwell Software such as - RSLinx, Control Flash, Studio5000 (Including Motion instructions), Factory Talk, ControlLogix and CompactLogix family.
- Implementation of Design & development of Migration project from VB6.0 to C++ using MFC platform, also application development using WPF, C#.Net and VB6.0. Automated Testing of Controllers & IO using Rockwell Software & custom scripting tools guiding to team members and interacting with customer.
- Implementation of Motion Functional Test (MFT) currently owns a set of manual tests and test ware for the purpose of testing motion related firmware functionality in CompactLogix and ControlLogix Programmable Logic Controllers.
- Developed Automate tests with C/C++/RA Tools software to interact directly with the controller’s.
- Analyze and developing project/module environment, architecture, and interdependencies to determine and apply appropriate test automation methodologies and GUI Integration Unit Testing.
- Responsible for fixing several issues related to synchronization.
- Performing RTB (Run Time Business) activities, such as fixing all the bugs found in unit testing. This also includes helping the application users in understanding the application, setting up the environment for them to make up the application up, and running
- Worked during various phases of Active front end and ITrack small frames projects in Confidential such as designing, development, Execution, Unit testing, Functional Testing (FT), and GUI Integration Unit Testing.
- Version One Tool & Agile Process: - Working on User Stories (Backlog items), Maintaining and Closing the Backlog items once after completing the task.
- Implementing Scripts to improve the test code quality and automate test creation.
- Executing and reviewing the test cases, document and report the results.
Skills: C++, Python, Clear -Case ,Version One, GIT, GIT-LAB, Studio 5000,RQM, Control Flash.
Confidential, NY
C++ Software Engineer
Responsibilities:
- Developed C++ Trade Capture and processing application which is a single unified platform for booking and tracking Credit derivatives like CDSI, Single Name CDS, and Index Tranches, etc.
- Applications Systems that trade with BAML via FIX, Trading Screen, Confidential (EMSX), Fidessa, Autex, Port ware, Ullink, Charles River etc.
- Developed SOA interfaces for booking trades for derivative instruments and receiving orders from external interfaces like SEF, ICELINK.
- Developed asynchronous event model for processing and tracking transactions.
- Designed, developed and implemented new classes and objects in C++ for handling various trade and clearing events.
- Experience in standard library, boost and XML.
- Utilized various object oriented techniques and implemented new logic for processing ICELINK events and CLEARING messages.
- Designed, developed, and deployed new processes for sending trading events to downstream RISK applications.
- Extensive experience using the OOAD and Object Oriented (OO) Model Concepts for development process
- Developed new reports using Python to identify the sales margin overrides.
- Developed native UI using JavaScript with event handlers and fetching data using SOAP interfaces.
- Involved in production support and providing hot fixes to the production issues.
- Application is largely a back-end processing system built using C++ on HP-UX and Oracle as the database with MQ series for the communication.
- Experienced with Perl, Python shell scripting.
- 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 PVCS Version Manager as code repository and PVCS Tracker as Defect management system. Using Oracle SQL Developer for Database Activities.
- 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.
- Worked with Bulk Data Exchange over a FTP gateway system hosted on a Solaris machine. The application was built in Sun Workshop IDE using C/C++, DB Libraries and text was formatted using Python, shell scripting and SED.
- Implemented inter-process synchronization using semaphores to synchronize various tasks.
- Worked with an alert system that generated alerts for customers based on specific events happening in the market using C++,
- Implemented the function to send and receive AMQP messages on RabbitMQ synchronously and asynchronously, and send JMS message to Apache ActiveMQ on the edge device.
- Designed and developed various scripts for enablement or disablement of data using C, Shell and proprietary SQL database.
- 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.
Skills: C++, Python, gSOAP, SQL, AMQP, XML/JSON, JavaScript, Design Patterns, OCCI, STL, gdb, multi-threading, Linux.
Confidential, Harriman, NJ
Sr. C++ Software Developer
Responsibilities:
- Excelled in guiding the work of technical teams. Articulated project goals and scope, translated business needs into technical terms, prepared detailed work breakdown structures (WBS) and instilled shared.
- 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 created subprograms, procedures and functions, DB triggers, cursors and optimization techniques for T-SQL.
- Led the migration of historical data to client; fine-tuned SQL & database, generated reports for management, etc.
- Design and develop 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
- Experience with various Android UI components such as List Views, Spinners, Text View, Buttons, Checkboxes, Dialogs and Action bar.
- Experience working with Material Design for android.
- Wrote Shell/Perl/Awk scripts for Production Systems. Used Oracle and Sybase as the backend databases.
- Render excellent Tier II level support for Apple Mac hardware systems, including Mac OS X encompasses taking on escalated support issues from Tier I support, developing solutions with the Engineering Group for the efficiency of support, and overseeing the inventory and application release within the ADP organization as a whole
- 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.
Skills: Solaris, Perl, Shell scripting, Python, various Android UI Sybase-TSQL, Oracle, Sun Studio 7 (Forte -Cross Environment), MQ series, UNIX, Linux, SQL-Loader, Toad,C++,MAC.
Confidential
Software Engineer
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 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.
- Data base 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.
- Preparation of Unit test cases and execution of test cases.
- Porting of application from Windows to Linux.
- 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.
Skills : C, C++, STL, QT Frame work, CVS, OOPS, DBX, Linux, GCC Compiler and Perl Scripting, SQL Server 2008, Windows Services, Boost C++ Library.