Sr. C++ Developer/embedded Engineer Resume
Peoria, IL
SUMMARY
- Around 6+ years of experience in design, development, coding in the field of embedded systems, Diversified Experience in Application Development, Maintenance.
- Strong experience in C/C++ on Linux using STL, multithreading (POSIX), Boost libraries, data structures, IPC (TCP/IP socket programming).
- Have very good experience in developing applications using C and C++ on Unix and Linux, VC++, MFC and Win32 API.
- 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.
- Good knowledge on Wi-Fi/I2C/BLE/ZigBee protocols.
- Good experience in 8/16/32/64 bit controller based h/w, design, testing and troubleshooting.
- Embedded Linux firmware, SoC BSP board bring-up, peripheral device drivers, kernel module, GNU toolchain, UBoot, bootloader, wireless driver. Monta Vista, Red hat, Fedora, Ubuntu on x86, MIPS, PowerPC, ARM, etc.
- Good knowledge on IoT (Internet of Things) end-to-end application development.
- Experience in model based development using MATLAB, Simulink and State flow.
- Experience with application migration to cloud platforms like AWS.
- Very strong exposure on software development on Embedded Linux and RTOS.
- Deep Understanding of Linux Kernel Internals experienced in user and kernel space.
- Strong ability and skills in design, coding, debugging, problem-solving, integration and maintenance.
- Experienced with Data flow diagrams, Data dictionary, Database normalization theory techniques, Entity relation modeling and design techniques.
- Hands-on experience on SCM tools like GIT/GitHub.
- 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, VxWorks (RTOS).
- Proficient at debugging code using gdb tools. Acted as second and third level support at various positions.
- 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.
- 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 SKILLS
Operating System: Windows, Linux
Programming Languages: C, C++, RESTful, JSON
Cloud Platform: AWS, Azure
Scripting Languages: Shell, Perl, Python
Protocols: TCP/IP, I2C, SPI, UART, RS232, Bluetooth, Wi-Fi
Tools IDE: MS Visual Studio, Eclipse, Source Insight
Databases: Oracle, PL/SQL, IBM DB2, SQLite, MongoDB
Other Tools: Wireshark, Ethereal, GDB, CICD, Jira, Kibana
PROFESSIONAL EXPERIENCE
Confidential, Peoria, IL
Sr. C++ Developer/Embedded Engineer
Responsibilities:
- Attending Sprint Planning meetings and gathering Functional and Non-Functional requirements that are required for the Cat Construction Technology Connected Solutions.
- Designing, building, maintaining efficient and reliable C++ code on Ubuntu for GPS Time Rollover Occurrence for the Product Link devices to provide geo-fence alerts.
- Coordinate all Scrum Ceremonies including Sprint Planning, Daily Standups, Sprint retrospectives, Sprint Demos, Story Grooming, and Release Planning whenever scrum master is not available.
- Working closely with other Engineering officials to develop the new products.
- Giving Suggestions and implementing improvements on current products.
- Writing the new Algorithms and modifying the existing algorithms that are useful for improving systems functionalities.
- Developed visual components through WPF using XAML and Expression Blend.
- Execute Test cases per Test plan, assist hardware team in troubleshooting and defect resolution.
- Work closely with the Hardware & Designing team for board/hardware level design & develop Test software to validate it.
- Making planning’s to develop the next generation software.
- Establishing the Validation Standards and developing the testing protocols.
- Performing duties like preventive maintenance, testing equipment maintenance.
- Writing and Developing Test Automation Scripts by using various scripting tools like Python, Shell script which are very useful in performing automation testing.
- Attending Meeting with offshore Teams in India as well as in USA with clients and customers to give presentations and LIVE Demos on products and systems.
Environment: C++, UNIX, LINUX/Ubuntu, QNX, Python Script, Jenkins, JIRA, Confluence, GIT, Visual Studio, WPF, ARM Architecture, PL/SQL, Shell scripting, Perl, TCP/IP, GPS, GDB Debugger.
Confidential
C++ Developer/Embedded Engineer
Responsibilities:
- Worked as C/C++ developer with Test Driven environment and embedded software applications deployed for marine terminals.
- Port Optimizer is cloud-based software that enhances supply chain performance and predictability 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.
- Usage of MSMQ in various Windows Platform-based contact center applications which uses this service for internal notifications and services.
- Preparing Maintenance Manual, System Description Document and other technical and function documents.
- Automation done for generating various kinds of reports by using Perl/Shell scripts.
- Responsible for coding the various components using C, C++, Golang and Python Scripting.
- Developed applications using an openSSL API which can work as encryption interface (API) between client/server.
- Wireless (WIFI) experience using ZigBee libraries for locomotive devices.
- Designed developed and verified Board Support Package BSP for Ethernet and Serial I/O UART for Wind River VxWorks Cert 6.6.4.1 and the PowerPC 8548E that integrated an e500v2 processor core.
- Developed and modified the segments utilizing C++ in QT Creator UI development framework.
- Created model classes using QT/QML.
- Converted a monolithic app to microservices architecture using Spring Boot using 12-factor app methodology. Deployed, Scaled, Configured, wrote manifest file for various Microservices in PCF.
- Involved in writing optimization techniques performance tuning in Oracle SQL, PL/SQL.
- Designing new software applications in C/C++ to meet business needs.
- Implemented threading using POSIX to run a large number of threads for locking and signaling mechanism.
- Unit testing the programs for correctness against the requirements
- Involved in part of the integration team, which analyzed the builds and used Jenkins for integration.
- Involved in making the Test Plans and Procedures, which drives the Strategies and tools identification, Managing Test design over cross-functional teams. As well created Test Summary Reports.
- Development and Testing, certifying the programs developed on client production platforms for fixing the portability issues, Maintenance.
- Use git repository for development activities and team collaboration.
- Unit testing the programs for correctness against the requirements
Environment: C/C++, DOORS, STL, Wind River Linux, Multi-threading, QT/QML, Jenkins, JIRA, Bash, POSIX Threads, Git, BOOST libraries, OOA, OOD, XML/JSON, Golang, Shell/Perl Scripting, No SQL, JavaScript, IoT gateways
Confidential
C++ Developer
Responsibilities:
- Designed, developed, and tested software applications to ensure secure POS transactions by creating digital signature.
- Design and develop solutions using C, C++, Multi-Threaded, Shell Scripting.
- Experience in implementing the applications under multiple OS platforms using corresponding APIs (Like Linux internal APIs and win32 APIs).
- Developing and modelling the data structures for internal use of project.
- Working in AGILE methodology.
- Working with servers to resolve the issues in deployment and production.
- Implementing improvements in current project products.
- Attending daily meetings to provide my suggestions and to get the new requirements.
- Working with core team and invented methods for users for interacting with MATLAB code.
- Developing and maintaining clear and accurate documentation for current project.
- Involving into the project Test cases according to release or production deployments.
- Implement new headers and functionalities in the project for business requirement usage.
- Working on new and existing modules (plan, design, develop, document, test, deploy, support).
- Resolving production issues and supporting proactively to deliver high quality products.
- Working with both onsite and offshore team for developing and supporting the project.
- Working on extensions of existing products and migration work.
- Generating the reports for business applications.
- Communicating with the web applications by using servers.
- Design scalable and robust solutions that help in enhancement and maintenance activity of future.
- Validate all the current system dependency and find similar support in cloud-based architecture and services.
- Use suitable object design patterns to meet the expectation and create further reference for the team.
Environment: C, C++, Java script, CSS, XML, HTML, Web-Services, Win 32, PL/SQL, Oracle, Cloud Services, UML.
Confidential
C++ Developer
Responsibilities:
- Developed the configuration tool using C, C++ languages in Linux.
- Actively participated in debugging stage.
- Worked on the Storage Stack and actively got involved with the Debugging issues.
- Created API's that were extensively used throughout the component building and for further enhancements using C/Linux Programs.
- Worked as a software Engineer for debugging NAND Utilities.
- Developed and executed test scripts to verify and validate the component built.
- Automated the test scripts using scripting languages like Shell & Perl.
- Understanding of kernel sub-systems and platform devices for ARM architecture.
- Maintenance and bug fixing for existing Confidential HID device drivers.
- Developed analytical components using Scala, Spark, Apache Mesos and Spark Stream.
- Performed GUI, Functional, Regression and compatibility Testing.
- Participate in the planning and analysis phase of Internet/Intranet software, and Web Services application development.
- The parameter determination and optimization is done using finite element analysis method using excel solver interface with LabVIEW.
- Developed test strategies, test plan and test cases.
- Performed Regression testing as and when required to ensure the stability of the application.
- Worked with defect life cycle using Quality Center.
- Involved in creating Library functions and object repository.
- Created the Test Data to parameterize the scripts using Data Driven Testing.
Environment: C, Linux, Device Drivers, Apache Spark, Apache Kafka, LabVIEW, JTAG, NAND Utility, Perl.