AddThis Social Bookmark Button
Xiang Gao
Rolling Meadows, IL - 60008 USA
Expertise :.Net 3.0, C#, SQL Server 2005
Status :Permanent Resident
Job Type :
Permanent
Position :

Resume
 

Objective
Solution Architect


Summary

I am an application architect, developer with over 7 years of experience. My expertise is in the design and development of enterprise applications using Microsoft Technologies like C#, VB. NET, ASP. Net, Visual Basic, ASP, SQL Server, Windows Distributed Inter Network Architecture and Java Technologies .I adapt to and learn new technologies quickly and thoroughly .I have many years of experience with full systems life cycle development from initial application design through implementation.

Languages C#, VB.NET, ASP.NET, ADO .NET, Java, Visual Basic, COM/DCOM/COM+, MSMQ, ASP, ADO, RDO, DAO, ODBC, XML, Visual Interdev, Windows API, C++, HTML, DHTML, Java Script, VB Script, Crystal Report
Database SQL Server 2000/7.0 Oracle 8i/7.3 MS Access
Methodologies, Tools Microsoft Solutions Framework, Microsoft Visual Modeler, Rational Rose
Networking Windows 2000/NT Server, Internet Information Server, Microsoft Transaction Server, Microsoft Message Queue
Operating Systems Windows NT, Windows 2000/98/95 Windows XP, Unix

Working Experience :


Employment

2002 -  Present

Baker and McKenzie

Baker and McKenzie is a leading global law firm with 67 offices in 35 jurisdictions, with a multinational network of more than 3000 attorneys and a presence in virtually every important financial and commercial center in the world.


2005 -  Present
Member

Member of Technical Architecture Team Baker and McKenzie

The Technical Architecture Team is established to provide feasibility assessment and guidance for projects requiring the development and deployment of technology in the Baker and McKenzie IT environment. It is the responsibility of each Project Team to schedule meetings with the Architecture Team and present the requested documentation at the appropriate times during the project lifecycle .I am the application architect and work closely with most of the project teams and other working groups in GIS at various stages and with varying capacities .I am acting as a major resource to the project organizations in providing best practices and interpretation of GLUE policies published by the technical teams and other standards bodies. Additionally, I provide feedback to standards bodies the need for policy revision when technologies and best practices change such that they are no longer consistent with published GLUE standards.


2004 -  2005

Global Timekeeper Intake System

The Timekeeper project is a web based workflow system. This application includes 3 parts : Data Entry, Work Flow and Extracts. The data entry part is used to enter new or update existing Timekeeper records. The Work Flow part is used to process the work items. After a work item is approved, some data of the Timekeeper is extracted to other systems in the firm.

As a team lead and architect, my primary roles are :
Work with project manager and business analyst to create business requirements, document use cases.
Based on use cases, complete architecture design documents.
Data table design.
Provide prototype and code guidance for the developers.

Review the code work done by the developers. Keep track the progress of the project development.

Work with testers to keep track the defects fixing status.

Work with system engineers and DBA to deploy the application to production server.

Technologies used in this project are :

2004 -  2004

C# VB . NET ASP . NET Microsoft Web Services ADO . NET SQL Server 2000 SQL Server 2000 Reporting Services . Global Practice Library

The GPL web application provides users in Baker and Mckenzie an interface to search and upload documents in/to DM5 system. This application integrates with other web applications and the Active Directory. To integrate with other applications, several web services were created.

As a team lead and architect, my primary roles are :
Work with project manager and business analyst to create business requirements, document use cases.
Based on use cases, complete architecture design documents.
Provide prototype and code guidance for the developers.

Review the code work done by the developers. Keep track the progress of the project development.

Work with testers to keep track the defects fixing status.

Work with DM5 experts to deploy the application to production server.

Technologies used in this project are :

2003 -  2004

C# VB . NET ASP . NET Microsoft Web Services ADO . NET SQL Server 2000 DM5 . Client Matter Intake Work Flow System

Client, Matter Intake is a mission critical application for Baker and McKenzies new client and matter registration and conflict clearance processes. Attorney offices around the world create work items which is gone through a series of approval processes until the work items are finalized. Depends on the organizational role, a user may be able to create, approve, reject, forward or submit a work item.

Some attorney offices have unique requirements on this application. To satisfy all the user interface requirements, we utilized Microsoft. NET serialization/de-serialization features to store user services components in central database. This architecture allows us to download user interface components into users machine based on users location and upgrade the application based on new business requirements.

As a lead developer, my primary roles are : Created functional specification document based on use cases

Designed database to store intermediate work item information
Conducted proof of-concept prototyping and performing demos to functional committee
Implementing .NET Remoting delegates and Events logic.
Created more than 30 Windows forms based on functional specification
Developed core data access components to interact with SQL server 2000 database and mainframe databases.
Create and export Crystal Reports in PDF format.

Wrote stored procedures to save, retrieve, delete the work item
Helped QA personnel to create test tool and test scripts.

Technologies used in this project are :

2002 -  2003

C# C++ . NET ADO . NET . NET Remoting Reflection Serialization SQL Server 2000 CrystalDecisions InTempo Conflicts Search Tool

Conflict Search tool is an enterprise application that allows more than 3000 attorneys from all over the world to perform global client, matter inquiry and client conflict search. Based on the information from search results, attorneys determine the strategy to handle new cases.

It is a multi tier multi threaded client server applications developed using Microsoft. NET technologies

As a lead developer, I was responsible for designing the application architecture and implementing the key features. My primary roles were : Met with clients to collect business requirements and prepared functional specification based on business requirements

Designed application structure and work flow based on approved functional specification
Conducted proof of-concept prototyping and performed demos to Functional Committee.
Participated in the design and implementation of middle tier components and search engine using .Net Remoting technology
Developed a windows services component to host the middle tier Remoting components
Implemented a windows based and a web based front end interface to meet different requirements from the users in different countries.

Created custom controls by inheriting from standard controls. These new custom controls provide complicated features that the application needs. The custom controls were packed into a standard control library and were used by developers in other software development teams.

Technologies used in this project were : C#, C++. NET, ASP. NET, ADO. NET,. NET Remoting, XML, SQL 2000 full text search and Microsoft Visual SourceSafe.


2002 -  2003

Formula Report

Formula Report gives Baker and McKenzie partners an explanation of how their share in the income of the firm is calculated and how to read the report. The formula reports are bound in the Formula Report books for easy reference and is included in the Baker and McKenzie Final Participation Report.

The Formula Report application is developed to replace 11 volumes of paper based reports.

As the lead developer, I played an important role and worked closely with other team members. My primary responsibilities were : Created more than 40 Windows forms based on functional specification
Developed customerized DataGrid control based on the Windows Forms DataGrid control to meet special UI requirements
Create and export over 100 Crystal Reports in PDF, HTML and DOC format.
Developed business components to process business logic
Developed SQL 2000 stored procedures and triggers to improve application performance
Implemented Microsoft Data Access Application Block in the application to simplify the applications architecture and standardize the data access processes
Developed a standard Exception Tracking Module to help tracking and debugging the exceptions during development time

Technologies used in this project were : VB. NET, ADO. NET, Microsoft Data Access Application Block, SQL Server 2000 CrystalDecisions and Microsoft Visual SourceSafe.


2003 -  2003

SCOR Reinsurance Company SCARE Project

SACRE Simulating Correlated Aggregation and Reinsurance Engine, is a software package consisting of a C++ COM object, an Excel Add In and an Excel spreadsheet with various examples and demonstrations of the software. Using C++. NET and ATL, I worked on the COM object which is the core part of the engine and has all of the computations.


2000 -  2002

Allstate Insurance Company

I worked on the Build and Migration team of the MAI project for Allstate Insurance Co. The project is an enterprise Multi tier Internet Web application implementing Microsofts DNA model. With this project, users in the nation are able to get the Auto, Property insurance quote and purchase insurance on line.

My principle responsibilities are administrating VSS, controlling file branching and sharing, compiling the whole project for different releases, migrating the project to Web servers and App servers, coordinating with Development and Testing teams to push the project forward. With an excellent understanding of VSS, IIS, ASP, COM, DCOM and MTS, I was able to efficiently and perform these duties. Particularly, I need to modify. vbp files, configure IIS and COM+, MTS services and manage Windows NT Registry.

As the architect and lead developer, I have designed and completed a number of Intranet projects for MAI :
Build Integration Process
This application provides the build team the ability to react to project demands. These demands include the 2 major categories : VSS Administration and BuildMaster Tasks
It is a multi tier client server application developed using Microsoft VB 6.0 COM+, SQL Server 2000 Visual Source Safe and CDONTS with SMTP.

As the lead developer, I played an important role and worked closely with other team members. My primary responsibilities were : Created more than 20 Windows forms based on functional specification
Developed business components to process business logic
Developed SQL 2000 stored procedures and triggers to improve application performance
Implemented Microsoft Data Access Application Block in the application to simplify the applications architecture and standardize the data access processes

Build Submission Web Application
Through this application, developers from several parallel developing teams can submit files from VSS projects to the build master for compiling. Detailed submission information is saved in a SQL Server database for tracking. After the submissions are accepted in build, notification is emailed to related developers and testers. The TreeView and ListView ActiveX controls are used on the ASP pages to give the user the familiar look and feel of the VSS interface. SSAPI. dll and ADO are used to wrap COM components which serve as the middle tier layer. CDO for NT is used with the SMTP server to send email to the build masters.

I had updated this application in C# and ASP. net and it is being used by other projects in the AllState.

Environment Managing Web Application
There are a large number of test environments and hundreds of machines involved in the MAI project. All server and machine information is updated and is queried with this application. ASP, DHTML, COM and SQL Stored Procedures are used in this application.

Security Managing Web Application
There are several hardware resources creating multiple transactions in the MAI project but those resources is accessed by users with proper rights. In addition, some individuals should have different levels of access to source code. To address these needs, a security module was created to control the resources, transactions and users rights. The application gave the build masters the ability to grant and revoke individual and group permissions by assigning and managing security levels. This application is implemented with ASP, COM and SQL Server 2000. This application is updated in C# and ASP. net.

Viewing Registry Settings on Remote Servers Through ASP

To support various testing teams efforts, an enterprise web application deals with several test environments that, in turn, consist of several servers that require environment specific registry settings. For testers and developers to query these registry settings, they would have to go through the laborious process of contacting an individual with the appropriate server log on rights to report the registry values. To complicate matters, if some other individual is logged on the target server, the query cannot be fulfilled until the current user logs off. These delays result in wasted time that manifest themselves as increased project costs.
This project resolved this problem using COM objects which wrapped the Win 32 APIs, to query the registry settings and render them on an ASP page.


2000 -  2000

Icontact.Com Company

I worked on the middle tier of an E-commerce application .I developed a large number of Java servlets to establish the communication between the user interface and the server side database and connect the client side applets to the remote application server. In this project, I used Java Swing, Java Servlet, Core Java, JDBC and Java RMI. Jbuilder 3.0 was used as the developing tool and the Java Web Server was used as the Web server.


2000 -  2000

JP Flanagan Insurance Company

I was responsible for the design of a system to automatically to create templates to handle policies and endorsements. Tasks included design through implementation. Work was performed in VBA and Excel in a Windows 98 environment.


1995 -  2000

University of Missouri Columbia

As a research assistant for the department of computer science, I worked on a variety of projects for the department, university and companies. 1 of my main projects was an online university manage system. This project implements a Web application to allow users to view and update various university information and perform university related activities through a series of user friendly web pages. This web application is created based on Microsoft DNA model, with the ASP pages being the presentation tier, COM objects residing in the middle tier and the SQL server database as the bottom tier. The technologies, like DHTML, ASP, VB COM, XML Data Island, DOM, ADO and Transaction SQL are used in this project. It used SMTP to send confirmation email.

For a multithreaded streaming video application, I used JMF 2.0. This system consisted of a multithreaded server for delivering multiple streaming videos and a multithreaded client for displaying multiple streaming videos at the same time. Both the client and server were designed as multithreaded Java standalone applications. A Web browser was launched by the client to invoke an applet to receive the stream video and play it back. In this project, JMF2.0 core Java API, Java Swing, Java Applet and HTML were used.

For a distributed computing program, I used Java 1.1.8 to implement a searching document application. On server side, there was a DocumentSet and a Finder. On client side, there was a FinderClient. The FinderClient sent searching keys to Finder which in turn searched the documents through the DocumentSet and displayed the searching results. Java RMI was used to invoke the methods of the remote objects. In this application, I used following Java packages : java. rmi, Java. rmi. server, java. util, java. lang, java. io, java. security and java. swing.

Using Java 2 I developed a multicasting program, in which 3 agents on 3 different workstations can run the multicasting program at the same time. 1 agent sends out a text message or an image, the other 2 agents can print out the messages or display the image on their screens.

I worked with an instructor of Operation System, designed an application for students to implement an operating system in a virtual machine. This application was implemented in C. This virtual machine has all the characteristics of a real machine with regard to CPU instruction traps, page structure of memory, asynchronous I/O and interrupts and channel programs. This application included 3 parts : 1 Process Management ; 2 Memory Management ; 3 I/O Management.


1991 -  1995

Tsinghua University Beijing

As an assistant Professor, I developed lots of small to mid size applications with VB and Fortran for the Hydraulic Engineering Department, Tsinghua University. Most of the applications are Finite Element Analysis and Structure Analysis, fluid dynamics computation and data collection system.


1992 -  1993

Mahab Ghods Engineering Consults Tehran Iran




Education

University of Missouri December 1999
PhD in Civil Engineering

University of Missouri December 1999
MS in Computer Science

Tsinghua University, Beijing, China July 1991
MS in Civil Engineering

Tsinghua University, Beijing, China July 1989
BS in Civil Engineering



Miscellaneous

I worked as an engineering consultant in Tehran, Iran .I developed a Visual Basic application to simulate the operation of a water division system which included an upstream reservoir, 10 miles of tunnel, a downstream pond and a power station.

Training

Reference available upon request.



Positive

Negative