Shi (Shawn) Bai
*******@*****.*** 610-***-****
An all-around technology leader with 13-year experience in all aspects
and all major technologies of software development, and proven records of
successful software delivery.
? Team Building ? Project Management ? Multi-tier Distributed Enterprise
System Architecture ? Hands-on Development with C++/C#/Java/SQL ? Large-
scale Transactional/Reporting Database Design ? System/Database
Administration ?
EDUCATION
M.S. in Medical Informatics, University of Utah. 8/1998
M.S. in Bioengineering, University of Pittsburgh. 8/1996
M.S. in Physics, University of Pittsburgh. 8/1994
SKILLS
Methodology: Agile(Scrum, XP, Crystal), Rational Unified Process
Design: OOD, AOP, SOA, Design Patterns, UML (Visio/StarUML)
Language/Script: Java, C#/VC++/VB, C/C++, SQL/ ODBC/JDBC, HTML/CSS,
XML/XSD/XSLT, JavaScript, VBScript
IDE/Dev Tool: Eclipse/IntelliJ, Visual Studio, JUnit/NUnit, Ant/NAnt,
Maven, VSS/SVN, Hudson/CruiseControl, Cobertura, Selenium,
JMeter
API/Framework: Spring/Hibernate, Jersey, Axis/Axis2, Netty, DWR, JSP,
JSF/Facelet, GWT/GXT, HTTP/SOAP/REST
.Net/Win32 API, MFC/ATL/COM/DCOM, STL, ASP.Net
Web/App Server: Tomcat, JBoss, Jetty, Apache HTTP Server, IIS
DBMS: MS SQL (T-SQL), Sybase (Transact-SQL), Oracle (PL/SQL), MySQL
OS: Windows XP/2000/Server 2003, Linux, Sun Solaris, HP-UX, SGI
EXPERIENCE
2/08-Present Sr. Software Architect, Yellow Book USA, King of
Prussia, PA
( BPD - YB advertisers' business profile platform (Java, Oracle)
a) Worked with product owners to define business requirements and use
cases
b) Designed the service tier as a collection of RESTful web services
based on SOA
c) Created service framework as a Maven project using Spring/Hibernate,
Jersey
d) Architected portal framework using GWT/GXT
( WebReach - YB search engine marketing platform (from .Net to Java,
MS SQL)
a) Conducted interviews to fill positions of developer, DBA, QA, business
analyst
b) Adopted Scrum, continuous integration, test automation in development
process
c) Led team to take over WebReach and to migrate the whole system from
Miami to KOP
d) Led team to rearchitect WebReach using modularized architecture,
separation of concerns, and loose coupling, and to redesign database
e) Led team to rewrite and enhance WebReach in Java using
Spring/Hibernate, Netty, Jersey, Axis/Axis2, DWR, JSF/Facelet
f) Worked with infrastructure team to set up dev, UAT, staging and
production environments using Windows Server 2k3, Linux, Tomcat,
JBoss, Cisco CSS, MS DNS
g) Participated in hands-on coding in Java and SQL/T-SQL
h) Led monthly release to production environment
3/07-2/08 Software Architect, Neoware Inc, King of Prussia, PA
( NDM - Distributed multi-tier thin client management system (C++/Java,
MySQL)
a) Designed a new generic C++ framework for multi-tier distributed
enterprise systems without using any third-party middle tier
technology, employing design patterns and other large scale C++
software design techniques, thread pooling, database connection
pooling, socket connection pooling, component software design, and
object RPC
b) Redesigned existing data access layer of using ORM and database
connection pooling
c) Redesigned transport layer using socket connection pooling,
d) Refactored Java Swing console by separating business logic from GUI
and flow control
e) Researched failover and load-balancing
5/05-3/07 Senior Software Engineer, Eclipsys Corporation, Malvern,
PA
( Meds Management - Hospital medication management system (C#.Net, MS
SQL)
a) Enhanced and refactored C++ HL7 DCOM Windows service code
b) Served as team lead on order entry module, mentored team members
c) Redesigned C# Order Entry module by separating business logic from
workflow logic
d) Restructured C# application framework by adding caching, eliminating
duplicate event firing, and redesigning base class to control derived
class behaviors
e) Tuned query performance by using SQL Query Analyzer and SQL Profiler
9/98-4/05 Senior Software Developer, Medical Information Sys, Inc,
Norristown, PA
( ChartMaker - Electronic medical record system (Visual C++/MFC, C#.Net)
a) Hired as second developer and promoted to team lead as company grew
b) Supervised system migration project and other major and minor releases
c) Provided help, training and troubleshooting for team members
d) Collected end user feedback and provided third level customer support
e) Worked on different modules and various enhancements
a. Enhancements to main application using MFC document/view, Win32 API
b. Speech recognition using COM-based MS Speech API and a speech
engine
c. An interface to acquire images from TWAIN compliant image devices
d. A library of SSPI and Platform SDK security functions for
impersonate and delegate
e. Enhancement to COM-based HL7 message SDK from Microsoft HUG
f. HL7 interface as multi-threaded and fault-tolerant Windows services
g. Instrument utility using Windows IPC (pipes, file mapping, mutex,
event)
h. DCOM server using ATL shipping BLOB data
i. Migration to C#.Net, Windows Forms, and ADO.Net
j. ASP.Net web service and client for laboratory data
k. Automated testing utility for scalability and throughput testing
l. Sybase Transact-SQL scripts for tables, views, indices, stored
procedures, triggers
9/96-8/98 Graduate Student, 3M Health Information Systems, Inc, Salt
Lake City, UT
( Patient record database - Study of relational vs. OO DBMS (VC++/MFC,
Oracle)
a) Developed a VC++/MFC application with Oracle and ObjectStore as DBMS
b) Compared query performance by using Oracle OCI and ObjectStore API on
Solaris