Madhu Kiran Manchinabele Prakash
**** ********** **, *** *** Auburn Hills, MI 48326
248-***-**** acy2mr@r.postjobfree.com
SUMMARY:
More than 6 years of strong professional C & C++ programming experience in various Automotive Industrial applications in windows and 0S9
Hands on experience with GUI Development using Qt Framework on Windows
Extensive Experience in C Programming
Involved in various Phases of Software Development Life Cycle (SDLC) including but not limited to Analysis, Design, Development, Implementation, Testing and Solutions to end User problems
Experience in analyzing the specifications and Project Planning meeting the customer requirements & on time delivery of the Quality products.
Experience in Reuse of existing code across different projects
Experience in leading the offshore team with Project Planning, providing clarifications, follow up of the tasks by having weekly meetings & following CMMI level 5 quality processes and MISRA Standards
Follow the Quality process at each phase of project execution involving the SQA team for review
Experience in providing quote for new features Requested by customer, Planning and on-time delivery of products
Involved in development using Agile Scrum and Waterfall Methodology
Extensive experience in developing GUI based applications using Qt Framework 4.5
Developed Windows Service application with .NET Framework 3.5 and Visual Studio 2010
Extensive experience in developing XML database handling for Automotive Industrial Applications
Extensive experience in rich UI controls using Xibase9 6.3(Radisys)
Used extensively Eclipse and Hawk(Microware) IDE
Extensive experience in debugging using Hawk Debugger and GDB Debugger
Extensive work experience and knowledge of libxml APIs to parse and write XML file.
Extensive experience in development of Protocols such as Open Protocol and PFCS which are used in Automotive industries
Experienced in Function blocks Testing developed for Siemens PLC using Step 7
Performed unit testing using tool C-Unit and also performed several integration testing, system testing and performance testing
Experienced with version control tools like Tortoise SVN
Proficient developing applications for Industrial products and Automotive domain
Experienced working in environment that employs shared resources
Valuable team player with excellent communication skills
TECHNICAL SKILLS:
Microsoft Technologies
MS Visual Studio 2012, MS Office,
Programming Languages
C, C++
Framework
Qt 4.5, Xibase9 6.3
Database
XML, MS Access, MySQL
Testing Tools
Hawk, CUnit
Version Control Tools
Tortoise Subversion
Protocols
Open Protocol, PFCS(Plant Floor Communication Server)
Operating System
OS9/Windows XP/Windows 7/Windows Server 2008/
Education:
Bachelor’s Degree in Electronics and Communication Engineering from Visvesvaraya Technological University
Work Authorization: H1B
PROFESSIONAL EXPERIENCE:
Project : Tightening Parameter Server (TPS) – Open Protocol
Client : Apex Tool Group, MI
Role : Sr. Programmer / Developer
Date : Jul-2016 till date
Scope of the project is to define the specification, project plan, Design & implementation of Open Protocol MIDs to communicate to TPS Server. Included addition of new MIDs to communicate with ECATES server and TPS.
Responsibilities
Involved in defining the specification of the project by interacting with customer
Involved in Project planning having the proper timing estimate
Prepared a new design for open protocol to communicate to ECATES and TPS
Implemented Multiple TCP/IP port connections
Implemented to new MIDs to parse XML
Implemented new Diagnostics screen to show connection and subscription status
Integrated the developed functions into existing software.
Performed unit and system testing
Worked with a team of 3
Currently working on issues reported by customer after system testing
Project : mProOffline Tool porting from Xibase9 to Qt on Windows
Client : Apex Tool Group, MI
Role : Sr. Programmer / Developer
Date : Apr-2016 to Jul-2016
Scope of the project is to port the existing Xibase9 Application on OS9 to Windows using Qt GUI Framework. This is to provide configuration setup offline.
Involved in defining the specification for Porting the UI from Xibase9 to Qt
Modified system level OS9 APIs to windows based APIs.
Provided an Abstraction between UI and OS level layers
Reused the existing Core APIs to read and Write data
Project : Enhancement to Source of Application Selection on Global Controller
Client : Apex Tool Group, MI
Role : Sr. Programmer / Developer
Date : Apr-2016 to Aug-2016
Scope of Project is to extend the source of application selection in Emergency mode to Socket Tray.
Involved in defining the specification for enhancement
Modified GUI to extend the source of Application selection
Design & Development of backend implementation in C Language
Reused the existing Core APIs to read and Write data
Currently Implementing the porting of different screens
Fixed Bugs in the existing software
Coordinating with offshore team to plan the bug fixes
System testing & Release
Project : Open Protocol Client Simulator using Qt on Windows
Client : Apex Tool Group, MI
Role : Sr. Programmer / Developer
Date : Nov-2015 to Apr-2016
Scope of the project is to design and develop open protocol client simulator that communicated to TMS device over TCP IP.
Implemented a windows TCP/IP Library to send and receive data
Designed different screens and dialog boxes, Graph Plot window
Implemented Message IDs as per the Industrial Spec of Open Protocol
Implemented Telegram window to show data communication
Implemented Logging feature to text file which helps for diagnosis
Project : Open Protocol for GM Power Train Systems
Client : Apex Tool Group, MI
Role : Sr. Programmer / Developer
Date : Sep-2015 to Oct-2015
Scope of the project is Design & implementation of Open Protocol to GM Power train software. GM version of software has 32 spindles and Open Protocol communication over 32 ports. This included implementation for single spindle Controller and Multi Spindle Controller.
Responsibilities
Implemented Open Protocol Process for existing project system
Reused Open Protocol library from other versions of software
Implemented TCP/IP communication handling over 32 ports
Integrated the developed functions into existing software.
Performed unit and system testing
Fixed bugs in the existing implementation of the functionality
Project : Tool Position Display for Vision System
Client : Apex Tool Group, MI
Role : Sr. Programmer / Developer
Date : May-2015 to Aug-2015
Scope of the project is Design & Development of tool position and bolt to be tightened display on bitmap screen of Tightening Management System, hereafter referred as TMS, based on the location & position of the tool which has an IRDA LED on it.
Responsibilities
Designed and Developed GUI to display Graphical ring for current tool position
Wrote reusable functions to draw any shape on a bitmap screen.
Implemented timer functions to refresh the screen every 100ms.
Used shared memory to have the data access to different processes
Implemented reusable functions to change the colors of Graphical points on the screen
Integrated the developed functions into existing software.
Performed unit and system testing
Fixed bugs in the existing implementation of the functionality
Environment: C, OS9, Xibase9, XCC 2.1, Eclipse IDE and Hawk (Microware)
Project : Addition of Pass thru IO Signals and FCA data Save
Client : Apex Tool Group, MI
Role : Sr. Programmer / Developer
Date : March-2015 to May-2015
Pass thru signals are IO signals of Tightening Management System (TMS) provides direct line from inputs to outputs.
FCA Configuration such as Number of IO signals, Communication module, Number of tools are saved and read from XML.
Responsibilities
Developed design for Reading and writing of data into XML file.
Designed and developed GUI to enable/disable signals
Extended existing byte configuration to include Pass thru signals.
Developed functions to save and read configuration to binary file.
Integrated the developed functions into existing software.
Performed unit and system testing
Deploying application on the Development and Integration servers(NANT Tools)
Perform regressive testing during in development and integration phases
Made full use event handling, error, handling, event logging features.
Used SVN as a central repository and source code control
Environment: C, OS9, Xibase9, XCC 2.1
Project : Component for I-Wrench
Client : Apex Tool Group, Germany
Role : Sr. Software Developer
Date : July 2014 – Jan 2015
The scope of the project was to develop an independent component (Binary) for communication with I-Wrench and TMS. I-Wrench is an intelligent wrench with two types of communication module Wi-Fi and Bluetooth. The component should be compatible with different versions of TMS software. The maximum number of I-Wrenches supported are 16.
Responsibilities:
Reworked on a part of the GUIs to improve interface without affecting the performance of the application
Designed and developed multi-threaded process for communication of I-Wrench and TMS
Implemented Callback functions for different events on I-Wrench.
Designed and developed shared memory to have access to data between multiple processes and threads
Designed and developed to save and read settings from Binary file
Implemented semaphores to have smooth data sharing between processes and threads
Used C as language to develop code behind business logic
Followed the coding guidelines as per the customer
Involved in Implementation of Exception handling on User Interface layer
Mapping the business requirement to the technical specification and detailed design documents
Provide extensive Production Support, and fix problems in a short span of time
Created test cases and did unit, integration and system testing
Used TortoiseSVN as a central repository and source code control
Environment: C, XCC 2.1, OS9 1.11, Xibase9, XML, TortoiseSVN.
Project : Windows Application of Livewire tool Configurator
Client : Apex Tool Group, MI
Role : Software Programmer
Date : April 2014 - June 2014
Livewire tool configurator is a windows GUI based application used to configure Wi-Fi Settings on to live wire tightening tool.
Key Responsibilities:
Designed and Developed GUI using Xibase9 6.3 framework for windows.
Developed programs for TCP/IP layer communication.
Implemented saving and reading of data into binary file.
Separated UI level interface from communication layer.
Implemented data communication between the two layers UI and communication.
Communication layer is implemented as a separate thread
Used C programming language and windows APIs for TCP/IP communication.
Implemented conversion of data bytes from Intel to Motorola processor.
Used Standard UI guidelines per customer specifications.
Involved in designing database, Define roles.
Developed the software using Agile Methodology.
Performed several testing to fix the bugs and ensure the application error-free.
Performed unit testing using NUnit.
Used TortoiseSVN as a central repository and source code control.
Environment: C, XCC 2.1, Xibase9 6.3 for windows, Tortoise SVN, Eclipse IDE.
Project : Multiple Run screen Viewer
Client : Harley Davidson, NA
Role : Software Programmer
Date : Jan 2014- Mar 2014
Multiple run screen is a windows based application developed using Qt Framework 4.5. It’s used to view multiple tool data simultaneously on a single desktop screen. This Application displays the data similar to TMS screen fetching the data from TMS using Open Protocol MIDs.
Responsibilities:
Designed GUI to have the look of run screen of TMS using Qt 4.5 framework.
Designed and developed a protocol (Open Protocol) library to communicate to controller.
Used C++ for implementation of backend implementation.
Developed UI and functions to have remote connection to TMS
Wrote reusable methods to save and read data from XML in Qt
Used XML for data storage and XSLT to transform the SQL queries returned as XML nodes.
Implemented GUI functionality to have tree view of saved the IP address and port number of TMSs.
Created test cases and did manual testing.
Developed a Deployment setup project using MS visual studio 2010 to install the application
Prepared a User Manual to install and use the application
Environment: C++, Qt 4.5 Framework, Windows, XCC 2.1, Eclipse IDE
Project : Bitmap Viewer
Client : Harley Davidson, NA
Role : Software Programmer
Date : Nov 2013-Dec 2013
Bitmap Viewer allows user to connect to TMS and load a bitmap on to the windows and view it. TCP/IP Connection is used to connect to TMS.
Responsibilities:
Designed and developed GUI using Qt 4.5 Framework for windows.
Developed console application to remote connection to TMS using eclipse IDE and XCC compiler
Design and developed UI layer and Console layer separately.
Implemented function to pass on data between UI and console application using command line arguments
Executed system testing.
Developed a deployment project to create a MSI installation package
Prepared User manual to install the application and use it.
Used Tortoise SVN source code version controlling.
Environment: C++, C, Qt 4.5, XCC 2.1, Eclipse Indigo IDE, MS Visual studio 2010
Project : Backup and Compare Utility
Client : Apex Tool Group, MI, USA
Role : Software Developer
Date : Jan 2013 - Oct 2013
This Utility is a windows application which allows the user to backup files from TMSs and compare the backup file. The comparison utility generates a report in XML format which helps the user to find the differences in the configuration of TMS. Backup is either time based or change based, i.e., backup is made when the scheduled time is expired or if configuration is changed on TMS.
Responsibilities:
Designed and developed GUI using Qt 4.5 Framework to provide option to enter IP address, backup directory and TMS name
Designed and developed 3 levels of components to modularize the application.
GUI, Windows Service and Console Application are the 3 components of the application
Designing and Developed windows service using C#.
Designed and developed console application to remote connect of TMS and fetching binary files.
Developed functions to save and load data from XML
created APIs and used lookup table to provide Scheduler configuration
Created functions for two ways of remote connection FTP and Xibase
Created FTP commands to read files from TMS remotely.
Complete system and regression testing on Windows Server 2008
Created a deployment project to create MSI package
Prepared user manual for install and use the application.
Environment: C++, C, Qt 4.5, XCC 2.1, Eclipse Indigo IDE, MS Visual studio 2010
Project : mProOffline Application
Client : Apex Tool Group, NA
Role : Software Developer
Date : Feb 2012-Dec 2012
Description:
The scope of the project is to port the OS9 application to Windows.
The application on windows allows to configure parameters offline and load it on to TMS using XML.
Responsibilities:
Ported OS9 shell calls to Windows APIs.
Developed code to write data into XML file after parsing the data from binary file
Implemented code to append one XML file to another XML file.
Implemented code to create offline tool database using XML file.
Made full use event handling, error, handling, event logging features.
Developed XML data structures, XSD Schemas & XSL Stylesheets.
Developed deployment project to create MSI package for installation on Windows
Using MS visual studio 2010
Prepared user manual for installation and use of application.
Environment: C, XCC 2.1, Eclipse Indigo IDE, MS Visual studio 2010, Windows XP
Project : Software Update Reporting and Open Protocol Client
Client : Apex Tool Group, NA
Role : Software Programmer
Date : Oct 2011-Jan 2012
TMS has a software update Utility where the existing software can be updated either earlier or latest version. Once the software update is performed a report is generated about the existing and installed versions of software. The report is an XML file having the details of previous and installed software version.
Open Protocol Client is a windows application used to communication to TMS over TCP/IP.
Implemented new MIDs to the application
Responsibilities:
Designed an algorithm to fetch software version data from TMS and generate XML report file
Designing and Developed UI to provide information of software versions
Designed and developed 3 components to Generate, confirm and sending report
Modularized the implementation by having GUI and console application
Developed function using FTP commands to check connection and send report
Executed system testing and integration testing with other versions of software
Environment: C, XCC 2.1, Eclipse Indigo IDE, Xibase9 6.3 and OS9
Project : Global Controller Maintenance and Enhancement
Client : Apex Tool Group, NA
Role : Software Programmer
Date : Sep 2010-Sep 2011
This project includes bug fixing in existing system and implementation of enhancements requested by customer.
Responsibilities:
Designed and developed a protocol(Unsolicited PFCS) to communicate between TMS and any other server machine
PRRs – Problem Reports are the bugs reported in existing software of TMS. Have fixed more than 100 PRRs in the existing software
Designed and developed GUI using Xibase9 for new features
Prepared test cases and executed system testing
Prepared DCD-Design change document for bug fixes and changes implemented