Sr Embedded C/c++ Developer Resume
CA
SUMMARY
- Around 12+ years’ experience in C, C++, Linux, Python and SQL.
- Experience in various aspects of system architecture, software design, development, implementation, and validation.
- 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.
- Prior experience of IoT or Event Stream Processing; experience in capturing, using, and\or analyzing streaming data
- Served as Single Point of Responsibility for Software Development Life Cycle with accountability of requirement analysis, architectural design, technical design, creating POC, preparing/reviewing estimation, coding, holding technical discussion, implementation, defect fixing and tracking, maintenance, and application enhancement.
- Experienced in operational systems incident management, root cause analysis and application/product performance management.
- Experience in Development of Project Plan, Software Design Document and Validation Plan Worked on Client/Server, SQL Server and Web based applications with strong business understanding and knowledge of Order management systems.
- Experienced with Data flow diagrams, Data dictionary, Database normalization theory techniques, Entity relation modeling and design techniques. Sound knowledge of porting code on specific platform, memory and performance estimation, memory management using linker command files.
- Expert - level knowledge of Visual C++, MFC and Win32 API
- Developed C++, SOAP webservices on UNIX and Linux platforms using gsoap.
- Proficient in static analysis tools like cppCheck and Coverity.
- Good understanding of OSI Model, TCP/IP protocol suite
- Experienced with full software development life cycle, architecting scalable platforms, object-oriented programming, database maintenance and agile methodologies.
- Experience in using the C++ Standard Template Library (STL), BOOST Library.
- Experience with Qt and QML UI Development.
- Experience with golang it for generating APIs that interact with our front-end applications
- Experience in implementing and using Data Structures and Algorithms.
- Good knowledge in embedded development using QT interface and QNX development area.
- Experience working on a wide range of microcontrollers/microprocessors such as 8051, 8086, ARM, PIC on embedded devices.
- Familiar with embedded diagnostic and development tools.
- Experience in C, C++, STL, Visual C++, Visual Studio 2008 Team Suit, Platform Builder 7, eVC++ 4.0 and MFC, Win32 APIs.
- Experience in using C and Assembly language to debug and update firmware versions.
- Experience in working Automated Testing methods.
- Strong verbal and written communication skills used to successfully develop presentations, write reports, and draft correspondence.
TECHNICAL SKILLS
Programming Languages: C, C++, Python, Java, Golang, Shell Scripting
Operating Systems: Linux, Sun Solaris, Windows.
Database Systems: MySQL, MS Access, SQL server, Oracle, Cassandra.
ORM Framework: Django
Methodologies: Agile, RAD, Waterfall, Test Driven and Scrum Models
Web Services: SOAP, RESTful, WSDL.
IDE Tools: Eclipse IDE, Net Beans IDE, Visual Studio, Can, Canoe, Ethernet
Application Software: Microsoft Word, Excel, PowerPoint, Outlook
Continuous Integration: Jenkins, Quick Build, Bamboo, CI/CD Tools
Frameworks/ Tools: Boost, Apache Active MQ, ANT, Gradle, Maven, JAM, cmakeBazel, gdb, dbx, pdb, link, cppCheck, Covertiy, gprof, valgrind, Jenkins, git, svn
PROFESSIONAL EXPERIENCE
Confidential, CA
Sr Embedded C/C++ Developer
Responsibilities:
- Worked on designing, and implementing Internet of Things (IoT) application of Home Automation & sensor devices (e.g. Ethernet, Wi-Fi, Cellular, ZigBee, Z-Wave etc.)
- Used Python scripts to generate various reports like OATS, P&L, transaction history, user privileges, limit rules and commission schedule reports.
- Providing technical support to new team member. Expert-level knowledge of Visual C++, MFC and Win32
- API Configured internet software/web servers on UNIX, Linux and Windows-based systems.
- Optimized design and code for high performance and fixed various bugs.
- Develop and Execute the Module Test Cases on Unit and Integration Testing environments.
- Peer Review of the Design and Source Code in C, C++, Embedded C,Java
- Proficient in QA processes, test strategies and experience in testing documents like Test plan, test procedures and Test Cases
- Used various data structures/design patterns like Observer, Singleton, Facade in software design. Possess good knowledge in creating and launching EC2 instances using AMI’s of Linux, Ubuntu, RHEL, and Windows and wrote shell scripts to bootstrap instance.
- Used Python scripts to generate various reports like OATS, P&L, transaction history, user privileges, limit rules and commission schedule reports.
- Used GIT/Git Hub and SVN for source code control.
- Developing and maintaining application in C/C++ for Internet of Things (IoT) devices.
- Responsible for NAND utility tools validation of bad blocks.
- Integration of REST APIs for WLAN setup for Android app.
- Experience in troubleshooting, analyzing, and determining root cause of firmware issues during development, lab testing and operation at customer sites.
- Developed new reports using Python to identify the sales margin overrides.
- Implemented code in Python to retrieve and manipulate data.
- Implemented license checking function for client application using C#.
- Designed and managed API system deployment using fast HTTP server and Amazon AWS architecture.
- Worked extensively on Internet of Things solution using MQTT/HTTPS Protocols on Arduino/ARM embedded boards to port the solution to public cloud (AWS).
- Debug and analyze the performance and system resource usage of software modules and interfaces to third party controllers and components.
- Used C++ STL containers, algorithms in the application.
- Designed, developed, and implemented algorithm for network servers to expand the capacity of existing tool with new released hardware.
- Used Git for code repository.
- Used TCP/IP and UDP for communication on Linux environment.
- Used concept of Design Pattern for design and implementation the code.
- Worked on Performance Improvement & memory leakage.
Environment: C, C++, C#, Linux, Python, Solaris (Shell Scripting), Sybase-TSQL, Oracle, Jenkins, REST, SQL, PL/SQL, JIRA, Sun Studio 7 (Forte -Cross Environment), MQ Series, SQL-Loader, Toad.
Confidential, CA
C++ Software Developer
Responsibilities:
- Analyzing the customer specifications to develop the software requirements.
- Performing software development activities, which includes Requirement gathering, Design conceptualization, and Coding.
- C++ coding of Models (IVR Programs) in a 3layer (Framework, Attributes, Models) architecture application.
- Singleton design pattern as used in the framework.
- Send/receive XML request and response through http protocol.
- Used Curl (Command line URL) concept to send and receive http request.
- This server provides a XML response for the XML request which acts as a dummy server.
- Developed a C++ application by creating a class for each application. Each application uses the functionalities of frameworkPreparing program, unit test specifications and system test plan for the components.
- Expertise in Python, Linux Shell, Windows Powershell, Perl scripting, Kernel debugging and QT-QNX.
- Creating a new Win23 application to present the user-interface for maintaining process settings as well as seeing viewing run status of the client/server process. This ran as a system tray application in a very similar way to the way Instant Messenger runs.
- Creating data-specification Win32 database and UI application for "smart chips. Required dynamic, runtime creation of database schema, SQL writing to both create and present current database to the user and UI programming. UI mainly includes a complex, multi-step, multi-path wizard, which was done to the Wizard 97 specification.
- Worked on IOT end to end controllers.
- Worked on Server platform and workstation software on Windows Workstation editions
- Managing the configuration and controlling the code version using subversion
- Strong experience in debugging crash-dumps is using WinDBG, Platform Builder 7 on Windows and Workshop on Solaris and Unix Operating system platform providing end-to-end
- Ensuring the compliance to the development processes and methods.
- Analyzing the issue raised either during testing campaigns or in-service usage.
- Providing technical support to new team member. Expert-level knowledge of Visual C++, MFC and Win32
- API Configured internet software/web servers on UNIX, Linux and Windows-based systems.
- Optimized design and code for high performance and fixed various bugs.
- Used various data structures/design patterns like Observer, Singleton, Facade in software design. Possess good knowledge in creating and launching EC2 instances using AMI’s of Linux, Ubuntu, RHEL, and Windows and wrote shell scripts to bootstrap instance.
- Implemented the client application as a windows NT service with the socket communication, multi-threading and an FTP client application
Environment: C, C++, Embedded C, STL, Unix, Linux, g++, gcc, Python, WIN32,Windows, gdb, Aws, Shell Scripting, C#.
Confidential, NY
Embedded / C++ Software Developer
Responsibilities:
- Prepare Design and Development Deliverables.
- Develop and Execute the Module Test Cases on Unit and Integration Testing environments.
- Peer Review of the Design and Source Code in C, C++, Embedded C,Java
- Proficient in QA processes, test strategies and experience in testing documents like Test plan, test procedures and Test Cases
- Collaborated with the engineering team members to define and develop new products.
- Used GIT/Git Hub and SVN for source code control.
- Followed Agile and Scrum Methodologies Application Programming Interface (API), written in C++ and C#.
- Fixing the bugs according to the requirements. Implemented custom Gina DLL and windows Hook DLL.
- Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
- Demonstrated solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
- Created conforming XML parser and wrote ODBC code to store data into database. Done in C++, with ODBC Win32 API used directly, not through MFC or similar.
- Worked on MDVR system development on Embedded XP and Windows Embedded compact.
- Analyzing, designing, and implementing change requests for the C/C++
- Prepared and installed solutions by determining and designing system specifications, standards, and programming in Desktop Framework
- Followed Agile Methodologies.
Environment: C, C++, Embedded C, STL, QT/QML, Unix, Linux, g++, gcc, Java, IBM DB2,WIN32 multithreading, gdb.
Confidential, CA
Lead Software Engineer
Responsibilities:
- Analysis of the Functional Specifications and Business Requirements
- Develop and Execute the Module Test Cases on Unit and Integration Testing environments.
- Peer Review of the Design and Source Code in C, C++, Embedded C.
- Proficient in QA processes, test strategies and experience in testing documents like Test plan, test procedures and Test Cases
- Worked on IOT for microcontrollers in hardware layers
- Developing the CAN libraries to monitor internal vehicle variables on the field.
- Collaborated with the engineering team members to define and develop new products.
- Strong expertise using the simulations tools like Canoe, Cadet, Vbench, Ethernet.
- Used Python scripts to generate various reports like OATS, P&L, transaction history, user privileges, limit rules and commission schedule reports.
- Used GIT/Git Hub and SVN for source code control.
- We currently using Golang for generating APIs that interact with our front-end applications.
- Followed Agile and Scrum Methodologies Application Programming Interface (API), written in C++ and C#.
- Development experience with XML, JSON, TCP/IP, UDP/IP and multithreaded application using IPC mechanism
- Fixing the bugs according to the requirements.
- Used QT5.0 to design and develop monitoring system for online usage.
- Developed Micro services using Go language and developed corresponding test cases.
- Testing the machine equipment’s by using the ECM (Electronic control Machine or unit).
- Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
- Demonstrated solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
- Analyzing, designing, and implementing change requests for the C/C++
- Prepared and installed solutions by determining and designing system specifications, standards, and programming in Desktop Framework
Environment: C/C++, QT/QML, Linux, Golang, Canoe, Cadet, Kafka, GitHub, Docker
Confidential, LA
Software Engineer (Data)
Responsibilities:
- Worked on developing several key projects in Yahoo Search Marketing Team such as keywordvalue index, ad infusion, user reaction model and advertiser value index.
- Used supervised and unsupervised machine learning algorithms to analyze Yahoo search data.
- Helped build regression models to predict best ad placement to maximize revenue.
- Developed several tools to process large data sets.
- Analysis of the Functional Specifications and Business Requirements.
- Prepare Design and Development Deliverables.
- Work on the Low Level and High-level Design Documents.
- Rewritten legacy lib raries written in Fortran into high performant multi-threaded C++.
- Developed gSOAP C++ web services within process caching techniques for high performance.
- Design and develop solutions using C, C++, Multi-Threaded, Shell Scripting.
- Developed Oracle SQL queries, stored procedures for Database Activities. Worked on DDL and DML statements including design of the tables.
- Peer reviews of the Design and Source Code (C, C++, and Shell Scripts).
- Built rpm packages for deployment.
- Integrated with Jenkins, migrated repo from svn to git along with history.
- 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.
- Developed various reports in Python to connect to databases and generate csv, fixed field length reports
- Development experience with XML, JSON, TCP/IP, UDP/IP and multithreaded application using IPC mechanism
- Developed various monitoring alert using Python to monitor logs for application errors.
Environment: C/C++, Python, Kafka, Shell Scripts, SQL, Qt/QML, Docker, LINUX
Confidential, Atlanta, GA
C++ Software Engineer
Responsibilities:
- Worked with LUEE Team at Aerospace Engineering Dept (Funded by NSF) built a prediction model that predicts student’s success in a course based on online Environments.
- Designed, implemented, and maintained a multi-threaded server that received and processed acknowledgement messages from downstream applications regarding event data pushes using C++,STL, multi-threading, shell scripting and UNIX.
- Involved in Software designing and development process in socket programming.
- Participated in the development of a multi-threaded publish/subscribe process which consisted of several subscriptions and push servers using C++, STL, multi-threading, shell scripting and UNIX.
- Used android's WIFI API to find and connect with PC in same network.
- Coordinating with vendor to determine RCA on few occasions; by facilitating veritas and Solaris explorers, core dumps, RHEL SOS reports.
- Experience in writing Shell scripts using Csh, bash, and Perl scripting for the process automation of databases, applications, backup, and scheduling to reduce both human intervention and man hours.
- Implemented additional rules and logic to provide indicative and corporate actions data to new subscribers by extracting all the required information from data base, generating, and pushing messages using C++ and Rogue Wave.
- Implemented a SOAP webservice client program which was used extensively to process and stored in the data base corporate actions data from various vendor feeds using C++ and Rogue Wave.
- Designed and developed a multithreaded process that generated breaks on income events and notified the users when underlying indicative data changed using C++, STL and multithreading.
- Developed reusable C# libraries.
- Familiar with various design and architectural patterns.
- Leveraged my knowledge of concurrency and design patterns.
- Created BASH shell scripts to automate cron jobs and system maintenance. Scripting and task automation using Crontab, Bash, Korn shell scripting.