SUMMARY
A veteran software engineer with more than 19 year experiences, fluent with both C++/C, STL on UNIX and C#, VC++6.0, MFC, W32 API on Windows. A quick learner with a solid track record and excellent oral and written communication skills. Thrive in cutting edge of technologies with strong mathematical and analytical skills.
TECHNICAL SKILLS
• Math Skill: Applied mathematics, numerical and algorithmic analysis
• Application Design: Object Modeling Technique, OOD, Design Patterns, STL, Multi-Thread
• Language: VC++ 6.0, C++/C, C#, SQL, UNIX csh/bsh/ksh, UML, XML
• Data Communication: TCP/IP Socket, SOAP, HTTP, RS232, USB, UNIX Inter-Process Communication
• GUI Tool: Net Framework 2.0/3.0, WinForm, Win32 API, MFC, X Window (X11, Xt, Xm)
• Operating System: UNIX/Linux, Windows XP
• Relational Database: MS SQL Server 8.0, Oracle 7.0
• Source Code Management: Visual SourceSafe, SCCS, RCS
PROFESSIONAL EXPERIENCE
Electro-Optical Sciences, Inc. Jan. to Jul. 2009
Suite 201, 3 Main Street, Irvington, NY 10533
Software Engineer
• Designed a brand-new user interface and framework for an existing skin cancer detection application that controls a handheld optical probe on a Windows XP Embedded platform, employing MFC/VC++ 6.0 and BCG Software library. The framework is consisted of a thread pool, a task control gallery, a dialog layout manager, a dialog navigation adapter, and an INI file based configuration manager with many design patterns used. (sample code available if requested)
• Automated the process to create Windows XP Embedded image for the production system with the Microsoft Target Designer and Windows’ command line script.
EPICOR Software Corp. Jan. 2001 to Nov. 2008
15 Governor Drive Newburgh NY 12550
Senior Software Analyst/Developer
• Designed, developed, and maintained the commercial point of sale software applications, specialized in TCP/IP socket, SOAP, HTTP and RS232 data communication, data encryption and the UI for the point of sale peripheral devices in a full development life cycle.
• Developed a TCP/IP tool on my own with the capability of serving as socket server or client to facilitate programming and testing when the real bank server is not available and this tool had been adopted by the entire company.
• Develop lower level RS232/USB data communication components to interact with MSR, printer, scanner, signature or pinpad (VeriFone, Ingenico, and Hypercom), credit card chip reader.
• Developed a method where the same point of sale application can be customized for the use of difference customers through the use of .Net reflection.
• Developed and maintained the credit authorization applications with C#, VB.Net, VC++6.0 and VB6.0 in multi-tier, client-server, and object-oriented design packaged in .Net assembly, ActiveX DLL, COM controls. The UML is used to model the existing and the new applications. The database used is MS SQL Server 2008.
• 8 years, Retail Commercial Software, C#, VB.Net, VB6, VC++6.0, C, XML, UML, MS SQL 2008, TCP/IP socket, SOAP, HTTP, RS232, USB, Modem, Visual SourceSafe, Crystal Report, Vibes, .Net Framework 2.0/3.0, Windows NT/XP, WinForm, Win32 API, COM, WISE Install, DOS, OOD, Design Patterns
Geophysical and Environmental Research Corp. 1999 to 2000
One Bennett, Millbrook, NY, 12545
Senior Software Engineer
• Single-handedly completed a multi-tiered airborne scanner image data processing application from analysis, design, implementation, documentation, and customer support to training. The programming was done in C++ on Unix Solaris 2.6 SPARCstation-10 by GNU C++ 2.7 and X (X11/Xt/Xm) libraries with estimated lines of application's source code 10500 and that of class libraries' 9000 plus five MS Word 7.0 documents totaling 300 pages.
• Developed a hi-res scanner control and analysis application on HP Jornada 540 Pocket PC running MS Windows CE 3.0 with MS eMbedded Visual C++ 3.0, which connects with a scanner through RS232 serial communication, fetches spectral data from scanner, and plots radiance graphs with a multi-thread design.
• 1 year, Radar Digital Imaging, C++, X Window(X11/Xt/Xm), Unix/SunOS, RCS, Win CE 3.0, MS eMbedded C++ 3.0
Canadian Pacific Railway 1996 to 1999
401 – 9th Ave. SW, Calgary, Alberta, Canada
Business Application Designer Builder
• Designed and developed client and server GUI software for the centralized train control system from the ground up, which employs NT 4.0 and OS/2 2.3 clients and SCO Unix server. The development arsenal includes MSVC++ 6.0, MFC, RogueWave C++ toolkit, XIPC messaging communication middle ware, IBM VisualAge C++ 3.0 and MS Win32 API. The architecture of software is shaped by Object Modeling Technique of Jim Rumbaugh, Design Patterns of Erich Gamma.
• Designed and developed a data transporter using IBM MQ-Series and XIPC middle ware to ferry data between many UNIX clients and NT Oracle database server to profile railway traffic flow for the purpose of aiding transportation planning.
• My capacity in the aforesaid projects involved hands-on analysis, design, implementation, providing advises and conducting code reviews for other team members. Maintaining a responsive contact with internal customers and testers alike and keeping a close eye on project progress were another perspective of my mandate.
• 3 years, Train Control, C++, SCO UNIX, OS2, WinNT, Win32 API, STL, RogueWave C++ toolkit, IBM MQ-Series, XIPC message queue, ZAPP3.0, UIMAX3.0, OOD, UML, Design Patterns
Riley’s Datashare International Ltd. 1994 to 1996
1223 – 31st Ave. NE, Calgary, Alberta, Canada
Senior Programmer Analyst/System Admin
• Developed a virtual database interface to SQL or non-SQL databases such as Oracle, Foxpro, Dbase, and Clipper through an ASCII "configuration" file which binds a user defined virtual database to one or more specific vendor database, therefore insulating the application from the inevitable dbase change whether it be column data type or table-to-table relationship. The virtual dbase is equipped with merging columns from the same or different table and/or converting data type when required.
• Developed and maintained petroleum information software suite of LogBase, GeoWell, and GeoSection through use of the cross platform GUI APIs of WNDX2.04 and XVT4.0.
• Developed an X/Motif GUI program to channel data between Schlumberger's GeoShare software suite and Datashare's along with many dbase data preprocessing utility programs and UNIX sh scripts.
• Managed system and network services (NIS/NIS+, DNS, SMTP) and internet connection (POP3, ISDN, and Firewall) for about forty SunOS workstations and PCs (Slackware Linux). Administered an Oracle database to mirror client database setup for software development purpose.
• 2 years, Petroleum Well Information, C++, X Window, WNDX, XVT, SQL, PL SQL, Oracle 7.0, PL/SQL,OCI(Oracle C Interface), UNIX csh, bsh, ksh, Linux, SunOS, Unix System Admin
Intermap Information Technologies Corp. (formerly Intera Information Technologies Corp.) 1990 to 1994
2500, 101 – 6th Ave. SW, Calgary, Alberta. Canada
Programmer Analyst
• Developed various programs for radar digital image data processing related projects with C++ and X Window (X11,Xt and Xm) on RISC/6000(AIX3.2) and SPARC5(SunOS4.1.3) workstations with image data geometrical and radio-metrical corrections, differential GPS controlled re-sampling, and mosaicking for the final digital map product.
• The tremendous growth of my technical know-how of the C++ language, the GUI fundamentals, the X Window libraries, the object oriented design, and the UNIX operating system had been experienced in this position by my ferocious manual devouring and eager learning-by-trying effort.
• 4 years, Radar Digital Imaging, C++, X Window, UNIX/AIX, UNIX sh, awk, sed, IPC, SCCS, GPS, OOD
EDUCATION
MS, University of Calgary, Geomatics, Department of Civil Engineering, Calgary, Alberta, Canada
BS, Tongji University, Geomatics, Department of Civil Engineering, Shanghai, China