C++ Developer Resume
Minneapolis, MN
SUMMARY
- 7+ years of hands on experience in designing and developing the Real Time embedded client/server and multi - threaded applications using C/C++, Python.
- Expert in STL containers, Socket programming, Multithreading.
- Experience using Python and Shell Scripts.
- Experienced with full software development lifecycle, architecting scalable platforms, object oriented programming and agile methodologies.
- Exclusively worked on C/C++, OOPS, assembly, MATLAB programming and embedded C/C++ on Linux/RTOS platform.
- Experience working on a wide range of microcontrollers/microprocessors such as 8051, 8086, ARM, PIC on embedded devices.
- Worked extensively on multi-threaded codes using embedded RTOS environments.
- Strong experience in automating system test and production tasks using Shell Scripting and Python.
- Extensive experience using the OOAD and Object Oriented (OO) Model Concepts for development process.
- Sound knowledge of porting code on specific platform, memory and performance estimation, memory management using linker command files.
- Experience in developing and enhancing the windows applications using VC++ and MFC.
- Experience in using the C++ Standard Template Library (STL).
- Experience in implementing and using Data Structures and Algorithms.
- Developed C++, SOAP webservices on UNIX andLinux platforms using gSOAP.
- Development experience with XML, JSON, TCP/IP, UDP/IP and multithreaded application using IPC mechanism.
- Experience in writing SQL queries and stored procedures and packages.
- Hands-on experience on SCM tools like GIT/GitHub.
- Experience in creating UML Design diagrams like sequence and class diagrams.
- Experience in Socket Programming, IPC (Inter Process Communication) mechanisms under different OS/RTOS.
- Good understanding of SDLC processes, AGILE-SCRUM and waterfall methodologies.
- Expertise with Modelling tools like MATLAB/Simulink, State flow.
- Worked with Git, SVN, CNS and clear case configuration management systems and used tools such as Rally, Review Board, Extra view and Clear Quest.
- Good experience with JENKINS and other build environment tools.
- Experience in using C and Assembly language to debug and update firmware versions.
- Strong analytical and problem-solving skills, always striving for new knowledge. A person with multi-tasking and organizational skills and high ethical standards.
- 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, Shell.
Operating Systems: Windows NT/2003/XP/Vista, Sun Solaris, IBM AIX, RHEL, UNIX/Linux.
Protocols: TCP/IP, RTP, 802.11 Standards, UDP, CAN, SNMP, KWP2000, LIN, RS 232, GMLAN, KWP.
Databases: Oracle, Microsoft SQL Server, IBM DB2, SQLite and MongoDB.
Tools: emacs, eclipse, UML tools, MS-Office, Splunk, Jira, Open Grok.
Libraries & Frameworks: STL, BDE, IPC, multithreading, sockets, heap allocators, signals/event handling, SOAP webservices, Software Design OOP/OOD, Design Patterns, Google Test, Google Mock, Quick FIX.
Version Controls: GIT/GitHub, SVN, CVS.
Build: Jenkins, Cppcheck, Coverity.
Simulation Tools: VeriFIX, LabVIEW, Cadence, PSpice, HSPICE, Synopsys, Xilinx, DSpace HIL.
PROFESSIONAL EXPERIENCE
Confidential, Minneapolis, MN
C++ Developer
RESPONSIBILITIES:
- Modified existing application to provide data integrity verification while performing IO operations to disk drives using Linux AIO library.
- Developed C++ Application for Linux machine that deals with large sets of data with processing each set of data for duplicate requests by choosing appropriate data structure.
- Written algorithm that works at reasonable amount of time for processing entire file with low memory.
- Successfully collaborated with cross-functional teams in design and development of software features for enterprise satellite networks using C/C++, leading to senior role in the organization.
- Developed spreadsheet model to estimate bandwidth of system data, allowing customers to better forecast bandwidth requirements.
- Generated 10,000+ time-series data points to study trend between temperature and frequency; to implement stability algorithm using C/C++for new product.
- Implemented algorithm in C/C++ to calculate key system variable in MS Excel for Customer Support Department, allowing product release on time.
- Spearheaded revamp of human-machine interface using TCL, minimizing test cycle by 75%.
- Analyzed 3 gigabytes of customer data; correctly diagnosed, managed and resolved issues while in Pointe Noire, Congo, helping to retain 2nd largest customer.
- Designed and developed web interfaces using MVC architecture with JavaScript libraries to help choose appropriate options for disk drives with storage interfaces.
- Designed and developed Web Interfaces for replicating the functionality of Excel version of disk drive sizing calculator.
- Also wrote test application using Java that would validate results from Excel version and web version.
- Successfully migrated code to GitHub and performed tasks like branching and merging in team
Environment: C, C++, STL, Linux, AIO library, GDB, GCC, g++, Shell Scripting, HTML, CSS, Webpack, jQuery, Java, Git, GitHub, Visual Basic, Excel Macro, PSTrace, GDB, TCPDUMP, Microsoft Excel, Visio, Agile, GNU Toolchain.
Confidential, Massachusetts, MA
C++ Developer
RESPONSIBILITIES:
- Developed embedded C code, based on Linux OS.
- Involved in writing firmware for embedded microcontrollers in C/C++ and assembly.
- Understanding of SAE standards like J1979 (Updated), RTOS (MQX) specifications.
- Tested the C code for standards.
- Brought up Linux Kernel on newly created RTL design of FPGA, Debugged Kernel, kernel modules, Re-configuration, patched custom kernel builds.
- Worked on the Storage Stack and actively got involved with the Debugging issues.
- Integration of UI with protocol layer API’s, LCD Drivers and File System (License File, Configuration file, etc.).
- Simultaneously supported on ARM, ARM Thumb, Strong ARM, Confidential M68K Dragon Ball and MCore.
- Implementation of protocol layer for CAN protocol and KWP2000 protocol.
- Actively participated in debugging stage.
- Customizing installation and performance management kernel subsystems and system applications for Linux box, to provide kernel, driver development.
- Design, Development, Debug and Testing of the entire software system.
Environment: Embedded C, CAN, RT Linux. ARM (CORTEX-M.
Confidential
C++ Developer
RESPONSIBILITIES:
- Working on C++ mainly to write services and libraries that will run under Linux.
- Understand database architecture and performance (primarily SQL).
- Collaborate with other development teams, quality engineering team and documentation team to execute on product deliverables
- Specified, prototyped, developed and tested an object-oriented, multiplatform C++ framework containing support to: data structures, common algorithms sockets, threading.
- Designed, coded, implemented and tested new features and modules for the derivatives system as part of an Agile team.
- Involved in writing optimization techniques for more accuracy of Macros in C/C++, C++ routines and Oracle SQL, PL/SQL.
- Working on a modern version control system like GitHub
Environment: C, C++, Linux, Git, SQL-Loader, Oracle, Apache, Splunk
Confidential
Embedded Engineer
RESPONSIBILITIES:
- Developed the device driver 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.
- Developed and executed test scripts to verify and validate the component built.
- Implementation of protocol layer for CAN protocol and KWP2000 protocol.
- Understanding of kernel sub-systems, layout and platform devices for ARM architecture.
- Performed GUI, Functional, Regression and compatibility Testing.
- Participate in the planning and analysis phase of Internet/Intranet software, and Web Services application development.
- 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.