Anda di halaman 1dari 7

Mohammed Tufan Ali

SUMMERY

Dedicated technical professional having 15+ years of Informational Technology experience, committed to
maintaining cutting edge technical skills and up-to-date industry knowledge.
Extensive experience with multiple technologies C/C++, Python, GTK/QT, Pro* C, UNIX/Linux - Shell scripting,
PL/SQL, Oracle and Hadoop databases.
Displayed and proved capability to learn any new technology and work on it in a matter of few days.
Hands on experience in implementing advanced C++ Code, STL libraries such as Vector, List, map, stack, deque and
Boost libraries in projects
Strong exposure on Python programming in Django frame work, Python Mock Test, Python Automation Test, C++
Google Test, YUM/RPM/APTITUDE commands, GUI Squish Test using Python.
Strong exposure to software development tools like Toad, Clearcase, eclipse, SVN Tortoise, putty etc.
Very good experience in Front end UI development using C/GTK, C++ along with QT/MFC and Java
Script/HTML/CSS.
Experience in working with Sybase, PL/SQL and Oracle Databases. Experience on writing complex Query, Crystal
reports, stored procedures and triggers.
Experience in production supports and meeting customer requirements in different level
Strong in Object-Oriented Programming (OOP), Object Oriented Analysis, Design patterns and SDLC
Work experience in Agile driven and Test Driven Development environment
Fluency with data structures, algorithms, Exception handling, Memory Management and debugging using gdb
Experience in inter process communication (Pipes and shared memory), multithreaded applications in C using IPC
Synchronization mechanisms (semaphore, mutex etc), Socket Programming and developing applications over TCPIP/UDP/CAN Bus protocol
Plenty of experience in automation of manual tasks, report generation, identifying improvement areas, requirements
gathering, and working with the clients.
Knowledge of investment banking and credit risk management concepts.
Excellent understanding of Software Usability and designing user friendly GUIs
Experience in Handling customer calls and providing support for production and development issues, bug fixing,
support and maintenance
Keen to work on challenging assignments in any applications and would like to learn, grow and contribute towards
the goal of the organization

TECHNICAL SKILLS
Primary Programming Languages: C/C++, Python, QT, Shell Scripting, PL/SQL,
Operating Systems: Ubuntu 14.04/UNIX/LINUX/Sun Solaris, Microsoft Windows, HP-UX
Database: SQL, PL/SQL, Sybase, Oracle 9i/10G, HBase/Hadoop
Tools & Technologies: SVN Tortoise, clearcase, GDB Server, valgrind, putty, TOAD, eclipse,
YUM/RPM/APTITUDE, Jenkin, Google/Mock Unit Test
Other Programming Languages: Django (Python Web framework), Java, Java Scripts, XML/HTML/CSS
Network/Systems Software: Message Queue, Rabbit MQ, Socket Programming, TCP-IP/UDP/CAN Bus
IDE & Project Methodologies: Qt-Creator, Pycharm, Net Beans, Visual Studio, Agile, Waterfall
EDUCATION:

B.Tech Computer Science & Engineering from NIT Calicut, Kerala, India, 2000

EXPERIENCE:
John Deere ISG, Urbandale, IA
Senior C++/Python Developer - onsite

Feb 2015 Today

GSix Software Development (Smart Display on John Deere Tractors): John Deere GSix/GreenStar Display is a
display for Agricultural Management Solutions. The GreenStar system provides planning and reporting tools to record
data about field conditions, tillage practices, spraying applications, fertilizer rates, seed varieties and populations,
weather conditions and more. It comes with different apps like Guidance and Machine Control. The benefits of guidance
and machine control are immediate, clear and proven with Lower fuel costs, reduced fertilizer and chemical usage, more
sustainable farming and higher productivity and profitability.
I am working in Reprogramming team in John Deere Intelligent Solutions Group to upgrade the display from WR4 to
WR5 using transition software and incremental updates. Our responsibilities also include to manage the software
packages which comes in forms of rpms by installing/updating/upgrading/degrading from Application Manager from
GUI display.
Responsibilities:

GSix Software Development (Smart Display on John Deere Tractors)

Developed multi-threaded, and multi-process GSix software, both User Interface (UI) screens, and business logic
using C++/QT

Used Model View Controller Architecture

Developed Transition software using python, shell scripts and YUM/RPM to upgrade GSix Display from WR4 to
WR5.

Implemented logics to install/update/upgrade software packages in Reprogramming Application Manager using


QT/C++

Created application screens using QT Widgets, custom JD Widgets developed at John Deere

Production support, bug/defect fixing, integration, field visit to solve customer issues

Performed Test Driven Development (TDD) in an Agile development environment

Implemented several functionalities in Reprogramming application


Created new UI Screens for Application Manager
Implemented backend business logic functionality for the translation of messages for Application Manager

Implemented unit tests using Python, C++ in Google test framework, Squish test in python to automate the GUI
testing

Performed code reviews and Integration Testing with Several Teams

Used Tortoise SVN extendedly to manage different repo branches, integrating many branches in one verifying
successful build.
Environment: C, C++/QT, STL/Boost Library, Python, putty, Ubuntu 14.04, Unix Shell Scripting, Python Mock,
Google Test/Mock, GDB server, SVN Tortoise, YUM/RPM/APTITUDE, GUI Squish Test using Python, Jenkins, Agile
methodology, Windows
Port Authority of NY&NJ, Newark Intl Airport, NJ, USA
Jun 2013 Jan 2015
Senior C++/Database Developer - onsite
Distributed Systems Management (DSM): DSM is web based application software consisting Airport Security
Access Control System (ASACS), Parking Revenue Control System (PRCS), Terminal Operation Management System
(TOMS) and CCTV. This software facilitates the Airport Aviation Manager and operators to control and monitor health
of ID Cross-match system, Employee ID access control, TOMS management, Alarm monitoring, Parking coupons and
promotions, CCTV health information. The services for these systems include Business Analysis, Data
Mining/Generating Reports, Application configuration, Network Design & Administration, Systems / Database
Management, WEB Application Programming, Application Server Software and Deployment, Platform Migration, Alarm
monitoring and Linux System Administration. This System is a faceplate for Airport Security system, Airport parking
systems, TOMS and CCTV.
Responsibilities:

Understanding the requirement by talking to business and users and operators

Design and develop user interface using C++/QT

Design message formats to enable communication between front end and backend.

Used multi-threading concepts and thread synchronization for alarm monitoring and CCTV health system.

Developing Pro*C code for writing PLSQL/SQL query.

Implemented Client-server architecture and used TCP/IP network programming

Designed servers to handle business trading logic and real time in memory database operations. The servers are
designed using C++ techniques to give real time feedback to web front-ends. Client Server technology used
extensively to achieve many technical requirements. The servers also communicated to back-end SQL servers through
stored procedures called from C++ code
Writing shell script programs to copy e-journals from all the parking lanes to sys-log server and displaying them
on web pages.
Systems / Database Management, Linux development and Administration
Write SQL scripts for generating on demand reports requested by business users.
Perform Disaster Recovery tests and Coordinate data base/application server migration.
Data Mining & Generate Reports, Application Server Software Deployment and production support, bug fixing
Integration of Oracle databases with main application.
Involved in trouble shooting the issues and bug fixing programs in C++/QT
Took leading role in organizing review meeting with the clients and development team
Version control and issues tracking using SVN Tortoise

Environment: C++/QT, C++ STL/Boost Library, C#/.Net, Linux, putty, TOAD, PL/SQL, Oracle, Crystal Reports,
TCP/IP, Multi-Threading, Unix-Linux Shell Scripting, Pro* C, Windows
Western Union, Montvale, NJ, USA
Feb 2013 Jun 2013
Web Developer (C++) - onsite
Western Union Agent Point of Sale (WUPOS): Western Union Agent Point of Sale is a web based UI application for
money transfer. It consists of WUPOS, Tran slink, Host to Host, Money link, Hypercom, CSC applications. The WUPOS
application sends Compliance Data to Tandem ID Server for data verification and validation. I am working as part of
WUPOS Compliance Team to handle Compliance Data. Compliance Data captured at Point of Sale (POS), which is
enforced/validated, by ID Server (Host). The advantage is for faster / smoother transaction and processing time, as the
compliance rules are stored in the middleware. Enforcement/Validation of data done based on Location of the agent,
destination of the transaction and threshold limits (i.e. transaction amount at which compliance data is required for Send
or Pay transaction).
Responsibilities:

Programming and Changing UI screens using C++/QT

Used multi-threading and thread synchronization extensively.

Able to debug and modify huge code for bug fixing

Programming oracle databases and writing scripts using SQL, PL/SQL.

Setup processes and procedures for DBA to maintain environment.

Modifying and writing stored procedure and script to reflect changes in UI screen.

Integration of Oracle databases with main java application.

Involved in trouble shooting the issues and bug fixing programs in Java/Java Script

Performed ongoing tuning of the database instances and SQL statements

Took leading role in organizing review meeting with the clients and offshore team

Had to follow up with DBAs in mails to run the scripts in different QA and UAT path

Version control and issues tracking using SVN Tortoise


Environment: C++/QT, Java/Ext JS/JQuery/HTML, Unix Shell Scripting , Python, SQL/Oracle, Net Beans, Tortoise
SVN, Windows
Center for Artificial Intelligence & Robotics, DRDO, Bangalore, India
Feb 2012 Feb 2013
Senior C++/Python Developer - onsite
Coastal Surveillance & Decision Support System (CSDSS): CSDSS is web based UI application software to monitor
the areas of high sensitivity and high traffic density along the coastline of India. A chain of Sensors Stations in the form
of share Radars Stations with Electro optic surveillance system are being setup by the coast guard. CSDSS is a
surveillance system for the coastline of India for generating an integrated picture of surface vessel movements. It is a
proof of concept for monitoring vessel traffic in littoral waters, along India's coastal line.
Responsibilities:

Involved in requirement gathering meetings, brainstorming sessions & detailed design meets
Designed & Developed UI Screens for Simulation software using C++/QT, C#/.Net programming.
Implemented python application for blackened script and automation test
Developed Unix scripts to interface database and batch processing
Designed & Developed UI Screens for web-based Simulator using Java, (Ext JS), JSON
Hadoop/Hbase database programming and designing map reducers
Integration of Hbase Database, RabbitMQ and LarkC with main application
Involved in trouble shooting the issues and bug fixing problems in C++/Java programming
Extensive use of Multi-threading, TCP/IP Socket programming, Thread Synchronization in C++ to read and
incorporate Radar/Satellite data on the GUI screens
Fine Tuning Hbase, SQL database and writing query/stored procedures.
Do extensive code reviews and suggest optimization if needed.
Coordinate with QA for testing and with operations team for production deployment.
Frequent interaction with client for update and design decisions to meet deadline.
Version control and issues tracking using SVN Tortoise

Environment: C/C++/QT/Python, Java/Java Script, SQL/Hbase Database, Indigo Eclipse IDE, SVN Tortoise, Shell
Script/Java Script, C#/.net/SQL, Python, Cloud, Unix/Linux, Windows
Center for Air Bourne System(CABS), DRDO, Bangalore, India
Apr 2009 Feb 2012
Senior Software Developer - onsite
Data Handling and Display System (DHDS): AEW&C system senses the scenario and detects the targets at long range.
After evaluating the threat, it guides interceptors, informs ground exploitation stations and informs other AEW&C
aircrafts & other systems in the network. AEW&C consists of many subsystems like Primary Radar, Secondary
Surveillance Radar, Mission System Controller (MSC), CSM (Communication support Measure), ESM (Electronic
support Measure), DHDS etc. The DHDS comprises of five Operator Work Stations (OWS) connected to MSC via
gigabit Ethernet. The DHDS receives track/plot/emitter data from the Radar/IFF, ESM and CSM systems via MSC
through TCP/IP protocol and provides an Air Situation Picture (ASP) to the operators. This is a display where the ASP is
displayed on the map overlays.
Responsibilities:

Involved in requirement gathering meetings, brainstorming sessions and detailed design meets with IAF (Indian
Air Force)

Provided technology solutions to the client and the design architecture

Development of UI Screens using C++/QT on Unix Platform

Developed pilot training programs using C#/.net/SQL programming

Implemented Data Structures, Algorithms, Factory Pattern and Object-Oriented Design

Followed DO178B Standard to meet level B & C and incorporated Mishra Rules in C Code

Developed code using Socket Programming & Multi-threading

Handled Concurrency issues and incorporated Multithreading Concepts.

Took active part in fine tuning, performance tuning for TCP/IP and Socket programming

Involved in trouble shooting the issues in production and bug fixing programs in C++, Multi-threading and QT

Design the application with Class/Sequence diagram and Pseudo code through UML.

Developed UI Screens to train pilot using C#/.Net programming

Active part in code review based on DO178B standard.

Version control and issues tracking using SVN Tortoise

Building very good relationship with the team, customer and management
Environment: C/C++/QT, STL Library, Unix/Linux, C#/.Net/SQL, Shell Script, TCP/IP & UDP, Multi-threading/Socket
programming, SVN Tortoise, UML, Windows
Veeder Root, Danaher, USA
Senior C++/Python Developer - Offshore

Dec 2006 Mar 2009

Tank monitoring and Leak detection System (TLS): TLS (NextGen) is a Software Solution for Veeder Root, a leading
global supplier of automatic tank gauging and fuel management systems, including the Red Jacket brand of submersible
pumps and pressurized line leak detectors. This software product gets more control of the fuel management services
including Alarm management, Delivery Scheduling, Inventory Planning, Inventory Reconciliation, leasing and Variance
Analysis.
Responsibilities:

Took active part in UI Development and coding using C++/STL/QT/C# in .Net/Unix

Handled Concurrency issues and incorporated Multithreading Concepts.

Implemented Data Structures, Algorithms, Factory Pattern and Object-Oriented design

Developed Watch-Dog tool to monitor the threads and synchronization

Used STL extensively in the project

Writing python code for mock test/automation test

Took active part in fine tuning, performance tuning for Socket programming

Involved in trouble shooting the issues in production and bug fixing programs

Involved in all aspects of Software development(SDLC) Documentations, Coding, integration testing and peer
reviews

Coding, unit testing and integration testing of Touch Screen based GUI Screens, customized for an Embedded
Device and for Desktop PC.

Version control and issues tracking using SVN Tortoise

Building very good relationship with the team, customer and management

Arranging & conducting training, technology updates & knowledge sharing.

Communicating customers and conducting weekly review through teleconference.


Environment: C++/QT, Python, Unix/Linux, Shell/Perl Script, TCP/IP, Multi-threading/Socket Programming,
C#/.net/SQL programming, Message Queue, SVN Tortoise, XML, SQL Database, Python Automation Test
Citibank, London, UK
Jan 2006 Nov 2006
C++/Cybase developer - offshore
Fixed Income Derivatives System: This is a Citibank Derivative System (CDS) for Front End users. Using this system
the user can book a deal using different pricing screens like FRA (Forward Rate Agreement), Swap, Swaption, Caps and
Floor and FX (Foreign Exchange). These are all the different products implemented in this derivative system. The risk
management system runs a batch overnight to calculate risk with the deal.
Responsibilities:

Development of Front End GUI Screens and Message Boxes using C++

Development & Programming of different Custom Controls

Took active part in fine tuning, performance tuning of Database

Interfacing GUI, C++ Code and Sybase Database using advanced C++ libraries

Enhancement & Development of code using advanced C++ Language.

Implemented Data Structures, Algorithms, and Object-Oriented design

Involved in trouble shooting of bug fixing programs in C++, Multi-threading

Contributed for the System design documents reviews

Involved in Documentations, Coding, integration testing and peer reviews

Version control and issues tracking using Clear case


Environment: C++/Sybase, Unix/Linux, Shell Script, Multi-threading/Socket programming, Clear Case
DLRL, DRDO, Bangalore, India
Oct 2004 Jan 2006
C++ Development Engineer - onsite
Electronic Warfare System: The project is for a premier defense laboratory owned by the Government of India,
dedicated to research, design and development of electronic equipment and software for the defense forces of India. Our
team has been entrusted the responsibility of designing and developing sophisticated software for the Indian Air force,
aimed at assisting them in a tactical warfare system.
Responsibilities:

Involved in the requirements gathering phase of the project, client interactions and preparation of the SRS, IRS
and SDD
Developed Front End UI Screens using C++/MFC
Coding for the Signal Analysis Module and Messenger Module
Involved in trouble shooting the issues in production and bug fixing programs
Extensive use of Multi-Threading, Socket Programming and GUIs for Report Generation
Network Programming involving TCP/IP and UDP for broadcasting
Training new resources and Communicating with client.
Preparing status report and progress report of my team members
Share and document the developed components.
Used SVN for code repository

Environment: Pro* C, C/C++, STL, Multi-Threading, Socket Programming Unix/Linux, Shell Script

Bharat Electronics Limited (BEL), Bangalore, India


C++ Development Engineer - onsite

Oct 2002 Sep 2004

Mission Critical Software: This software is used in the field of avionics. This system serves as a force multiplier by
enhancing situational awareness of the defense forces. This system will provide early warning by detecting; identifying
and classifying the threats present in the surveillance area and act as a command and control centre to support Air
Defense Operations. The system will also alert and direct fighters against threats and provide Air Situation Picture to
commanders at the ground control segment of the Air Defense Direction Centers (ADDCs) through the Ground
Exploitation Station (GES).
Responsibilities:

Development of High level and Detail Design for the software

Participated in the architecture discussions with the vendor

Involved in all aspects of Software development(SDLC) Documentations, Coding, integration testing and peer
reviews

Performed System Architecture, Designed and Coded in C/C++.

Developed code for Socket Programming and multi-threading programming

Coded business logic, validations, handlers and interface modules to connect with external and internal systems

Designed, coded and tested both Client and Server TCP sockets for inter process communication.

Implemented Data Structures, Algorithms, and Object-Oriented design

Enhancement & Development of code using advanced C++ Language.

Training new resources and Communicating with client.

Used tools SVN for code repository


Environment: Pro*C, C/C++, STL, Multi-Threading, Socket Programming and Message Queue
Bharat Earth Movers Limited (BEML), Bangalore, India
Sun Solaris System Administrator - onsite

Oct 2000 Sep 2002

BEML CAD Center Administrator: Systems administrator role in a three-member IT team in configuring,
troubleshooting and maintaining Sun Solaris and Unix infrastructure for a mid-sized CAD Center of BEML Research &
Development Center. Provide ongoing management, performance-tuning and Tier 3 support for approximately 50 sun
Solaris systems. We need to manage users, install software, and run batch process over-night. Here the user develops
model/drawing for automotive systems and need to keep backup daily/weekly and perform recovery as needed.
Responsibilities:

Performance Tuning: Ensured that assigned systems were engineered, configured and optimized for maximum
functionality and availability. Implemented solutions that reduced single points of failure and improved system uptime
to 99.9% availability (up from previous high of 97.5%).

Project Management: Led enterprise wide hardware/software installations; oversaw major server
upgrade/expansion project that improved network access protection (NAP), terminal services and network
performance; and integrated new technologies into existing data-center environments.

Security: Strengthened system/network security and business-continuity planning as a member of companys


security incident response team.
Troubleshooting: Rectified many issues by instituting best practices in system log analysis, backups, network
operating center security, user account/permissions management and systems/software auditing.
Provided systems administration support for Unix systems including server and workstation upgrades, backup and
disaster recovery monitoring, user account setup and security administration.
Created and optimized Unix shell scripts using Bourne, Korn and Bash shells.
Writing Shell scripting for process automation
Software Installation and maintenance, User Management for access and permissions
Took active part in fine tuning, performance tuning of database
Report generation, Database Management and testing of the same.
Backup & recovery of data from Tape to Sun Solaris machine

Environment: Sun Solaris, Batch processing, Shell Scripting, VB Script, Windows