Saeed
Iqbal
Email: ***********@*******.***
Cell Phone: 925-***-****
Home Phone: 408-***-****
Professional
Summary:
Main experience is in design and development of many software
applications by using Object-Oriented methodologies. Experience includes conceptual modeling, software architect, system analysis, requirements
specification generation, designing,
developing and implementation.
Create, modify, update and support the projects from initial analysis and
requirements phase to modal, architecture to design, development to
implementation level.
Technical Skills:
Main Skills:
o C and C++,
Standard Template Library (STL)
o Windows
development (Win32, ATL, COM)
o Multi-threaded
/ asynchronous programming
o Managed/Unmanaged
C++, CLI/C++, CLR/Native Introp
o C#, C# .NET, C++
.NET, Visual C++, Visual Basic
o C#/VB ASP.NET, ASP
.NET Web Forms, MVC
o Java, XML,
HTML, CSS, JavaScript, Ajax
o Graphical User
Interface (GUI), Multiple/Single Document Interface (MDI/SDI)
o Windows Forms
(WinForm), XAML, Windows Presentation Foundation (WPF)
o Client/Server
Programming, Web Services, Windows Communication Foundation (WCF)
o Network
programming, Database (ODBC, ADO, ADO.NET) programming
o COM Control, ATL
ActiveX Control, ATL Composite Control, Windows Services
o Windows
Components, Class Library, Windows Form Control Library
o WPF Custom
Control Library, WPF User Control Library
o T-SQL, Language-Integrated
Query (LINQ)
o Tools/Components:
– MS Visual
Studio 2003, 2008, 2010, 2012
– Microsoft
Foundation Classes (MFC)
– Crystal
Report 5.0, 8.5, 2008
– Krypton 4.3.0
(Component Factory)
– FlexGrid
(Component One)
– NSIS
Installer
– Mantis
– Rally
Sofwares
– SVN
– MS Source
Safe
– TFS
– TortoiseHg
Operating System:
Windows XP/Vista, Windows7/8/8.1, Unix,
Linux
Databases:
PL/SQL, SQL/SQL Plus, SQL Server, MS
Access, Oracle 6.0/7.0
Industry:
Semiconductor Equipment, Electronics,
Medical Devices
Employment
/ Project Experience:
v Sr. Software / Automation Test Engineer
July 2013–To date
Hewlett-Packard
(HP) Sunnyvale, CA (OTSI Contractor)
1. Project Title:
Confidential
Environment:
Microsoft Visual Studio 2012, Win32, C++, MFC, Visual
C#.NET, WPF, WinForms, GUI Desktop Applications, Windows 8, 8.1 (Touchscreen),
Multithreaded, Agile Environment, TFS (Team Foundation Server)
Description:
Coordinate between the teams, finding code and build related issues.
Update the build process and optimize the build process. Update the code and
remove warnings in the source code, apply security features into the code.
Build a complete one solution for the distributed teams to optimize the
debugging process. Test and find issues / bugs in software application. Create
and define Automation process for testing. Use Rally Software for plan,
build, test and release process.
Contribution:
Coordinate
between the teams
Update the build process
Optimize the source code
Optimize the debugging process
Test and find issues
Create Automation process
v Sr. Software Engineer
July 2012–June 2013
Consultant
at S.E.A. Medical Systems, Inc., San Jose, CA
2. Project Title:
IV
Check STS
Environment:
Microsoft Visual Studio 2008/2012, C/C++, Visual C#.NET, WPF,
WinForms, GUI Desktop Applications, LINQ, C# ASP. NET, MVC 4, SQL Server
2008/2012 (T-SQL), MS Access, Code Refactoring, Windows 7/8, WCF
Description:
Adding, updating and improving existing software applications, and
creating new applications. Also work with a small device connected with USB,
wrote an interface for that device. Custom message is send and receive in continues
process; gather that data and represent in a graph and save the data in
required order. Also wrote a calibration procedure for that device.
Contribution:
Gather information from user for design and
development phase
In adding, updating and creating of new software
applications
Creating new and updating GUI’s
Fix bugs in related software application
Also create software automation as per user request
Write software modules for data conversion from one
format to other format
Generate analysis result report for the user after
processing cycle
v Sr. Software Developer
Mar. 2012–Apr.2012
Thermopylae
Sciences and Technology – Contractor at Google, Inc., Mountain View, CA
2 Months
1. Project Title:
Earth Enterprise Edition
2 Months
Environment:
Ubuntu (Linux), C/C++, GUI, Qt
Description:
Adding and updating of modules. Some of the modules are coming from
Google map written in Java has to be ported for Google Earth and re-write
them in C/C++. Update the GUI on client side using Qt for cross platform
implementation.
Contribution:
In creating and updating of modules
Creating new and updating GUI’s
v Staff Software Engineer
Nov. 2007–Mar.2012
Sony
Electronics Inc., San Jose CA
4 Years 4 Months
1. Project Title:
Sony
Internal Projects (Evaluation)
4 Months
Environment:
Windows 7, Visual Studio 2010, Visual C/C++/C#.NET 4.0,
Windows Presentation Foundation (WPF)
Description:
Evaluation the third party DLL’s by creating sample application.
Contribution:
In evaluation and creating sample application
2. Project Title:
Media
Backbone Conductor (Web based Application)
10 Months
Environment:
Windows 7 (64bit), Software AG Designer, css, JavaScript, HTML,
PrototypeJS, Internet Explorer (Ver. 7.0+), Firefox (Ver. 3.5+), Scrum
Environment, C# ASP.NET, Web Forms, WCF, Windows Web Services
Description:
Updating and fixing bug a Web based application build by using
Software AG Designer tool. The application has also customized user
interfaces, developed and overridden by using css, JavaScript based on
PrototypeJS. This application should be able run on both Internet explorer
(Ver.7.0+) and firefox (Ver 3.5+).
Contribution:
In adding new, updating functionalities
In bug-fixing and
testing of related modules
3. Project Title:
Standalone
Ingest Station
8 Months
Environment:
Visual C++ (.NET 2008, MFC, Win32, DLLs), Visual C#.NET
2008, Multithreading, Windows 2000, XP, Vista (32-64bit), COM, ActiveX
Control, Windows Forms, Class Library, Windows Forms Library,3rd
party DLLs and Library, NSIS Installer, Krypton 4.3.1 (Component Factory),
Web Services, Scrum Environment
Description:
A standalone video capturing application was developed that uses Sony
HDCAM-Player Deck. A video interface card from Black Magic or from AJA Video
Systems was used as per user requirement. This application shows live video
and ability to record and play in different video formats including DPX. This
application also uses 3rd party DLLs provided from Black Magic and
AJA. The GUI is developed using Visual C++ .NET 2008. This application also
contain Web Service implemented using Visual C# .Net 2008 to send an XML file
to another application (Media Backbone Conductor). An installer was also
developed using NSIS with customized user pages.
Contribution:
In updating, bug-fixing and testing of all modules
Added functionality to play and record in DPX
format
Design, develop, and implement whole customized GUI
Fix memory leaks, and implement the functionality
to release devices when not in use.
Develop a separate class library for video cards
Design and develop common installer for both video
cards.
4. Project Title:
SALSA
8 Months
Environment:
Visual C++ (MFC, Win32, DLLs), Multithreading, Port
Application from 32-bit to 64-bit, Windows Server (64bit), Windows Service,
Java, NSIS Installer
Description:
In this one requirement was to run a Java application as a Windows
Server 2008 service. To implement this, first a Java application was develop
to run the required java application using Java, and then a windows service
application was developed in Visual C++, which then invokes that java
application. An installer was also developed using NSIS that was responsible
to stop / start the service, installing or updating of database.
Contribution:
In design, develop, updating, bug-fixing and testing of all modules
5. Project Title
Stadium
View – Sports Solution
12 Months
Environment:
Visual C++ (MFC, Win32, DLLs), Multithreading, Windows Vista
(64bit), COM, ActiveX Control, Video LAN (VLC) ActiveX Control, Microsoft Web
Browser, NSIS Installer
Description:
In this project a customized user Brower was required. When the
application executes using this Browser, it shows up with full screen and
always remains on the top. Also the application shows different views from
live streaming from stadium, when user chooses a view it shows up on second
monitor in full screen mode. This application for second monitor was
developed using VLC ActiveX Control. This application can record two views in
parallel, and can play the recoded one, similar to DVR. An ActiveX Control
was also developed to handle the application’s recording and playing
functionality.
Contribution:
In development, updating, bug-fixing and testing of customized user
browser application
In development, updating, bug-fixing and testing of Video Player, Video Recorder and Video Controller applications
6. Project Title:
SXRD
4K Client side Application for Digital Projector
10 Months
Environment:
MS Visual C++, MFC, Win32, MFC DLLs, Multithreading, ATL
ActiveX Controls, Component One FlexGrid, Windows XP, Crystal Report 2008
Description:
Worked on SONY’s latest technology related to Silicon X-tal
Reflection Display (SXRD) 4K digital Projector. This was Client/Server
application building by using XML, Java, Linux on Server Side. Develop Client
Side GUI by using MS Visual C++, MFC, Win32, MFC DLL’s and multithread
environment. Also create report related to theater shows using Crystal Report
2008.
Contribution:
Complete the development phase
Released the final version for client
v Software Engineer
Jan. 2006-Oct.2007
MAVI
Computer Associates Inc., San Jose, CA, USA
As
Contractor at Sony / Sony Electronics Inc., San Jose CA
1 Year 10 Months
1. Project Title:
SXRD
4K Client/Server Application for Digital Projector
22 Months
Environment:
MS Visual C++, MFC, Win32, MFC DLLs, Multithreading, ATL
ActiveX Controls, Component One FlexGrid, Windows XP
Description:
Worked on SONY’s latest technology related to Silicon X-tal
Reflection Display (SXRD) 4K digital Projector. This was Client/Server
application building by using XML, Java, Linux on Server Side. Develop Client
Side GUI by using MS Visual C++, MFC, Win32, MFC DLL’s and multithread
environment.
Contribution:
Design client side conceptual model after reading server
specifications
Building client side application for first beta
release
In designing, development and testing of all modules related to client side
v Software Engineer
Jan. 2002–Dec. 2005
Integrated
Dynamics Engineering, Livermore, CA, USA
3 Years
1. Project Title:
Software Application and User Interface (UI) for Semiconductor
Wafer Handling Tools in .NET framework
12 Months
Environment:
Visual C++ .NET (Managed), C#, VB .NET, C/C++, Win32,
RDBMS MS Access, ADO .NET, Serial Port Communication (RS232), PCI Interfaces
for Sensor Controls, Socket Programming (TCP/IP), .NET Multithreading, Class
Library (.NET), Windows Control Library (.NET), Windows 2000/XP, Cognex
Vision Software, SECS/GEM
Description:
Update
previous applications/projects by using .NET using Managed Visual C++ .NET,
C#, VB .NET.
Contribution:
In making project analysis specifications
Designed whole conceptual model and architecture of project
In designing, development and testing of all modules
2. Project Title:
Generic
Robot Library Migration
4 Months
Environment:
Visual C++ .NET, Serial Port Communication (RS232),
Multithreading, Class Library (.NET), Windows 2000/XP
Description:
Existing Robotic system
libraries were built under MFC. The whole library was ported under .NET for
the benefit of OEM customers dealing with the software development in latest
technologies. In the process these libraries were improved and tuned to give
at most performance.
Migration includes preliminary analysis, equivalent MFC
implementation design, exception analysis, program specifications,
development, testing, performance comparison, tuning the libraries based on
the feedback from customers.
Contribution:
In making project analysis specifications
Designed whole conceptual model and architecture of project
In designing, development and testing of all modules
3. Project Title:
Software Application and User Interface (UI) for
Equipment Control Wafer Handling Tools (Multiple projects with different
hardware device combinations or configurations)
20 Months
Environment:
Visual C++, MFC, Win32, MS Access, Serial Port
Communication (RS232), PCI Interfaces for Sensor Controls, Socket Programming
(TCP/IP), MFC DLLs, Multithreading, ATL ActiveX Controls, ATL Composite
Control, MS FlexGrid, DBGrid, Windows NT/2000, Cognex Vision Software, Crystal
Report 8.5, SECS/GEM
Description:
Software
application and User Interface (UI) for semiconductor wafer handling tool to
control hardware equipment devices, one Robot as
dual-arm-single-end-effector (with flip)/ single-arm-dual-end-effector /
single-arm-Single-end-effector (with / without flip), Pneumatic Arm, one
/ two Prealigners, one
/ two Cognex-In-sight Camera 1700
/ 1701, with / without multiple Front Openers / Loadports / Tilters /
Indexers / Cassette Plates with Size Sensors, with / without door / panel
interlock mechanism and with / without vacuum and UPS sensor control. The
Robot and Prealigner communicates through RS232
(Serial Communication) ports. Sensor control (Pneumatic Arm, Size
Sensor, Vacuum, UPS, Light tower, door/panel interlock) controlled through
device drivers (Adventech). Camera is connected on the network and is
controlled and communicates using Socket
Programming (TCP/IP). The whole applications is based on multithreading to
have parallel execution of controls and use Critical
Sections, Mutex and Semaphore to
avoid collision or overlapping. The application interacts with the user
through MDI MFC GUI, ActiveX Controls and ActiveX Composite Control.
These Controls includes Robot, Prealigner, Camera, Stations Types (Cassette,
Tilters etc.) and Sensor controls and are placed on individual control bar
and then combines on main user interface. This application also uses MS Access for storage of permanent,
configurable and dynamic data. A customized report can be generated on user
request related to wafers in Cassette for label purpose or detail report.
These types of reports were created by using Crystal Report 8.5. This wafer-handling tool is
used for wafers to move from one cassette to another, aligning, ID reading,
sorting and other user specific requirements. This whole application runs in
Auto Mode or in Manual Mode (to work or reset or test individual hardware
device) and SECS/GEM mode. Also run able in Simulation mode
without hardware, to make possible for fast addition, modification, and
robust testing and demo purposes. Main customers for these types of
semiconductor equipment include Applied Materials, HP, Fujitsu, Fairchild
etc.
Contribution:
In making project analysis specifications
Designed whole conceptual model and architecture of project
Designed whole RDBMS in MS Access
Designing ATL ActiveX / Composite control
In designing, development and testing of all modules
Also updates previous project to remove bugs
v Software Engineer
Sep. 2000–Dec. 2001
Baseer
Systems Inc., Santa Clara, CA, USA
As
Contractor at Cybeq Systems / Integrated Dynamics Engineering, Livermore CA
1Year 4 Months
1. Project Title:
300mm Wafer Sorter
10 Months
Environment:
Visual C++ 6.0, VB 6.0, MFC, ATL ActiveX Control WIN32,
Serial Port Communication (RS232), PCI Interfaces, Multithreading, Windows NT
4.0, TCP/IP, Cognex
Description:
Software
application for semiconductor wafer handling which control hardware devices such as Robot (single end-effector), FOS,
OCL,
Pre-aligner, Cognex Vision system and Sensors. The Robot, FOS, OCL and Pre-aligner communicate
through RS232 (Serial Communication) ports. Cognex Vision System communicates through Telnet. Sensors (such as
vacuum control, power supply and Light tower etc) are controlled through NT
device drivers provide by third party. By using ATL ActiveX Control these control are created. The total application is based
on multithreading to have
concurrent control and communication between the devices. The application
interacts with the user through an interactive MFC GUI. This application is MFC MDI, and all the ActiveX Controls are placed on
one form.
Contribution:
In making project analysis specifications
Involved in diagnostic and testing of firmware for Robot, which actually handles the silicon wafer
Involved in diagnostic and testing of a macro language that actually interacts between firmware and APIs of Robot
Designed whole conceptual model and architecture of project
Involved in developing, configuring and testing of individual controls for hardware
devices
Responsible for integration of all these controls with main
application and synchronization between
hardware devices
In designing, development of all modules
2. Project Title:
Second
Generation Sorters (200 mm Wafer)
6 Months
Environment:
Visual C++ 6.0, VB 6.0, MFC, WIN32, Serial Port
Communication (RS232), PCI Interfaces, Multithreading, Windows NT 4.0
Description:
Software
application for semiconductor wafer handling which control hardware devices such as Robot, Pre-aligner, Vision system and Sensors. The Robot and Pre-aligner devices
communicate through RS232 (Serial Communication) ports. The Vision System and other Sensors (such as
vacuum control, power supply and Light tower etc) are controlled through NT
device drivers provide by third party. The total application is based on multithreading to have concurrent control and
communication between the devices. The application interacts with the user
through an interactive MFC
GUI.
Contribution:
In enhancement and maintenance
In diagnostic and testing of firmware for Sensors
Modification in existing software application as
per customer requirements written in Visual C++
Customer support in software and hardware related issues
In design, develop and test of all modules
Routine Software Testing to ensure the hardware interfacing
Responsible for final
testing before shipment of the equipment
v Software Engineer
Apr. 1998 –Aug. 2000
Research
and Development Establishment, Military College of Signals, Rawalpindi,
National University of Science and Technologies, Pakistan
2Years 4 Months
1. Project Title:
Secure
Communication System
28 Months
Environment:
Visual
C++ 6.0, VB 6.0, MFC, Multithreading, Win32 API, MS-Access, Windows 95/98/NT,
TAPI, COM, ActiveX Controls, DSP, ODBC 2.5, Crystal Report
Description:
The goal of the
project is to develop secure communication for Windows 95/98/NT using modem,
which must be done on encrypted procedures. Using Digital Signal Processor (DSP), a card was
designed for encryption of data. This system has its own logging procedure.
The Graphical User Interface (GUI) and routine for sending encrypted data is written by
using Microsoft Visual C++ 6.0. The code is written with the help of MFC, Win32 API, DLLs and ActiveX
Control. A Phone Book and other related material are maintained in a
database by using Microsoft
Access 97. All updating, modification and deletion in database are done
through GUI created in VC++ 6 by using DAO, ODBC and RDO. All components of the project are created
individually with the help of DLLs, and then connected with the main program act as MDI. The required reports are
generated with the help of Crystal Report 5.0.
Contribution:
In making project analysis specifications
Analysis of use of Telephony API and COM
Designed whole conceptual model and architecture of project
Made conceptual model for RDMS
Design, develop and test of all modules
Debugging and implementation of project
v Programmer/Analyst
Jan. 1998 –Mar. 1998
GHQ
for C4I Directorate, Pakistan
3 Months
1. Project Title:
GIS
System
3 Months
Environment:
ORCALE,
Developer 2000
Description:
Study and
analyze the basic requirement of C4I Directorate for the development
Geographical Information System (GIS) system.
After basic study a conceptual model for the project is created, which
then converted in basic architecture of Relational Database Model. Work as a
team member in this project.
Contribution:
In making project analysis specifications
In making conceptual model for RDMS
In design, develop and test of all modules
v Programmer/Analyst
Oct. 1996 – Dec. 1997
Department of Computer Science,
National University of Science and
Technologies, Pakistan
1Year 3 Months
1. Project Title:
Domain
Security System Using Techniques of Artificial Intelligence
15 Months
Environment:
Visual C++ 4.1, MFC, Win32 API, WNet API, Allegro Common
Lisp 3.0.2, Win Socket
Description:
The goal of the
project is to develop a fully functional ‘Domain Security System’ for System Administrator
working on Microsoft Windows
NT.
The system employs a GUI,
which helps the administrator to monitor all the
computers connected on the Network, also he can view the logged on users,
what resources they are using and what application they are running. This
network monitoring system can run locally as well as remotely using Windows sockets on TCP/IP. The
monitoring system also includes multiple intelligent agents for monitoring,
which includes ‘Security
log’,
‘File access’, ‘Printer access’ and ‘Low level disk Access’. The whole
system based on “Rule-Based” inferencing
techniques of Artificial Intelligence. Also when any of the monitoring events
occur, it can be adjusted to send a message to a particular computer just
like a Messenger Service of Windows NT. This system was created at User Level
of Windows NT and developed
by using Allegro
Common Lisp Ver. 3.0.2 as GUI front end, which was used to implement Rule Base
system of AI Technique, and in the background a DLL was used. This DLL was created by using Microsoft Visual C++ 4.1 and executes
different Networking functions called by the front end.
Contribution:
In making project analysis specifications
Design whole conceptual model and architecture of project
Design, development and test all modules
v Oracle Programmer
Oct. 1993 – Jul. 1994
Informatic
Computer Services (Private) Ltd., Pakistan
10 Months
1. Project Title:
Inventory
Control System for Hussein Industries
10 Months
Environment:
ORACLE
6.0, PL/SQL, PRO-C, VAX(VMS)
Description:
The
responsibility given here was to analyze and develop an Inventory Control
System for their MIS department. A Relational Database Management System (RDMS) is used for
the development of the system. The environment of development was on ORACLE 6.0 under VAX (VMS).
Contribution:
In making project analysis specifications
In making conceptual model for RDMS
In designing and development of application
v Oracle Programmer
Mar. 1993 – Sep. 1993
Agfa
Gevaert Pakistan (Private) Ltd., Pakistan
7 Months
1. Project Title:
Sales
and Inventory Control Management System
7 Months
Environment:
ORACLE
6.0, PL/SQL, SCO UNIX
Description:
The
responsibility given here was to development a Sales Management System for their MIS
department. This system uses the Relational Database Management System (RDMS) that controls
both sales and inventory system for this company all over Pakistan. Also the
system generates different reports daily, weekly, monthly or yearly, as they
require. For the development of this project both analysis and design was
done. The implementation was done with the help of ORACLE 6.0 running under SCO UNIX.
Contribution:
In making project analysis specifications
In making conceptual model for RDMS
In design, develop and test of all modules
v Education:
Masters in Computer Software
Engineering
National University of Sciences and Technologies (NUST),
Pakistan
1994-96
Master of Computer Science
University of Karachi, Pakistan
1991-93