Experience
2016 — Now
2016 — Now
Pennsylvania
2002 — 2015
1110 American Parkway Allentown PA 18109
Developed an internal Multi-OS ATE supervisory control system. I developed interfaces to multiple different test systems using a variety languages including C/C++, VB6, C#, and shell scripts. I also developed interfaces to multiple wafer probers and package handlers using GPIB. The main body of code is compiled for multiple operating systems including Solaris5.5.1, Solaris5.8, HPUX10-20/11i, Red Hat Linux, and Windows-XP. I developed monitors for real-time data display using Java/JNI. The main application feeds data to these monitors using sockets. I also developed and maintain multiple data analysis and summary applications.
I ported the original system from Solaris to both Linux and Windows XP. This included porting from a Unix based compiler Edison Design Group to GNU for Linux and VC++ 6.0 for Windows XP. I also utilized PTCs MKS toolkit to provide Unix like system calls on Windows XP to minimize code differences between it and the UNIX systems.
Projects
• Automatic result based multi-pass wafer reprobe. This feature allows multiple testing passes on a wafer, each with its own user defined criteria. This reduces multi session reprobe.
• Bump defect overlay. This feature overlaid bump defect maps from wafer visual inspection systems onto the wafer probing map to prevent the touching and or testing of defective die. It supports multiple overlay file formats and is used to prevent testing of dice with defective bumps as well as preventing probe card damage.
• Optimized stepping algorithm. This new algorithm optimized the stepping pattern across the wafer when using multi-site probe cards. I designed it to minimize both number of steps and number of dice touched multiple times. This feature reduced wafer test times by up to seven percent as well as significant test cost reduction on several high volume products.
1999 — 2002
Lucent/Agere Systems, 9999 Hamilton Blvd. Breinigsville, PA 18031
Developed software for in house assembly equipment. This assembly equipment was used to build opto-electronic modules. The system was written in MSVC++ 6.0 and ran under Windows NT. The Vision system used was the Cognex 3600. Motion control was achieved with a Delta Tau PMAC servo controller using Cimetrix Open Architecture Controller Software.
Responsibilities included development of pick and place sequence control and optimization, high accuracy vision alignments, software control and process development for multiple eutectic soldering and epoxy based attachment operations, integrated data retrieval and tracking functions and GUI based front end development.
Served as lead engineer and architect on conversion of earlier text based versions of this software to MFC based GUI applications.
1997 — 1999
1997 — 1999
2101 Blair Mill Road, Willow Grove, PA 19090
Worked as the software team lead for all of Kulicke and Soffa’s wedge bonders. This included the standard 8060 wedge bonder, 8090 large area wedge bonder, and 8070 micro-tab bonder. My responsibilities included specification and effort estimation of new features, technical direction of team members, and software development. This was a Real Time application written in C running on a VME based 68030 under VX-Works. The code was cross compiled and debugged remotely from a Sun workstation .
1989 — 1997
1989 — 1997
QUAD SYSTEMS CORPORATION, 2405 Maryland Road, Willow Grove, PA 19090
1-97 to 11-97 - SOFTWARE MANAGER/ LEAD DEVELOPER OF SEMI-CONDUCTOR EQUIPMENT GROUP
Managed a group of three software engineers. Projects included input/output magazine feeder development, table mapping to compensate for nonlinear motions of the gantry system, integration of a wafer feeding/ die eject system, fluxpot for dipping bumped dice, enhanced vision algorithms for die alignment/inspection and a collision avoidance system for the wafer feeders and future hardware that would share space with the gantry system. The GUI processor was programmed using VC++ Ver.1.5 under Windows 3.11. The Real Time processor was programmed using 32 bit code generated with the Win32s C++ compiler and ran under the AMX386 operating system.
5-89 to 1-97 SOFTWARE ENGINEER/SENIOR SOFTWARE ENGINEER/VISION GROUP LEADER
Responsible for development of all vision features added to QUAD’s pick and place equipment. Developed all alignment, inspection and calibration features including a proprietary run-time re-calibration procedure that compensated for thermal expansion of the system for QUAD’s Q-series surface mount assembler.
Integrated and maintained an ICOS MVS200 vision system in a dual processor Real Time multi-tasking control system. This system used the dual GUI and Real Time processor system mentioned above. Responsibilities also included maintenance of QUAD’s C-series central controller software.
Integrated and maintained an ICOS M10000 and MVS100 vision system on Quads older generation MS-DOS based control system using MS C Versions 5 through 7.
Education
Millersville University of Pennsylvania
BSCS, Computer Science
1983 — 1986