| Objective |
To provide
professional and expert consulting and/or training on Microsoft database,
middleware and server
systems. |
| Summary |
Michael
is an accomplished system and data architect in the Microsoft realm, with
6 years of experience. He has
worked on high-volume websites, on time-critical batch processes, and on
client/server and N-tier user front-ends. His specialties are database
design and implementation, middleware design using Visual C++ and Visual Basic, and front-ends using Visual C++, Visual
Basic and ASP. He is also certified in SQL Server 2000 Design and
Administration, Visual C++ middleware development and Visual Basic
front-end development. Michael
is a Microsoft Certified Solution Developer, has achieved his
Microsoft Certified Database Administrator credentials, and holds Bachelor’s and
Master’s degrees in Computer Engineering. |
| Experience |
| Summation Legal
Technologies, Inc. |
December
2001 - Present |
As a database and C++
consultant, Michael is leading development on the next generation of
Summation's flagship product, iBlaze™. The primary focus of this effort
is to expand the iBlaze product line to access to SQL Server, in addition
to Summation's proprietary embedded database engine.
| Primary Accomplishments:
|
|
| - |
|
Designed
COM interface layer to abstract data access for both MFC and
web-based front-ends |
| - |
|
Wrote
data access implementations for Summation's proprietary
database engine and for SQL Server in ATL |
| - |
|
Provided
C++/MFC wrappers to simplify interaction with COM interfaces
|
| - |
|
Convert
existing MFC code to communicate with C++ wrappers for
recordsets, query handlers, and other data-related objects
|
| - |
|
Rewrote
existing COM objects to provide better performance,
scalability and maintainability
|
| - |
|
Designed
and implemented tracing system to allow debugging of
objects in testing and production environments |
| - |
|
Wrote
query parser to translate Summation's proprietary database
language into a platform-independent query object |
| - |
|
Wrote "sliding window" recordset object for SQL
Server, to provide full-table recordsets without constituting
the complete recordset at any time |
|
|
|
| Uplister, Inc. |
February
2000 – October 2001 |
As Project Lead (Database),
Michael was responsible for all database design, implementation and
administration on Uplister’s music playlist-sharing system.
The data tier was three SQL Server 7.0/2000 databases, running on
Windows 2000 Advanced Server. Middleware
consisted of J2EE EJBs running in WebLogic 5.1.
In addition to managing a team of up to four full-time consultants
and two interns, he worked closely with marketing, middleware developers
and testers on all key product features, including song/artist/playlist
searching, user activity tracking, data importing and playlist editing.
| Primary Accomplishments:
|
|
| - |
|
Designed
and implemented 120 of 150 tables, 290 of 320 stored procedures and 16
scheduled tasks |
| - |
|
Planned
and deployed 10 major and 27 minor database releases since June, 2000
|
| - |
|
Personally
developed in T-SQL, VC++, VB, VBScript, ASP, JSP and Java
|
| - |
|
Performed
code reviews of VB, VC++, JSP, VBScript and DTS projects
|
| - |
|
Designed,
implemented and tested disaster recovery strategy
|
| - |
|
Implemented
DB change control, security and source control policies
|
| - |
|
Implemented
Microsoft Full-Text Search and custom database schema to provide song,
artist and playlist searching
|
|
|
|
| Aureal, Inc. |
August
1999 – February 2000 |
Michael
was one of four software engineers on the Silo Music Player, a WinAmp-like
music player that shipped with Aureal’s OEM soundcards. His primary responsibilities were client/server communication
over HTTP and MFC client development. He developed COM objects in Visual
C++ 6.0 and Visual Basic 6.0, designed the client’s Playlist Manager
window, and developed a client registration database, complete with
internationalization features for sixteen language-specific OEM versions
of the product.
| Primary Accomplishments: |
|
- |
|
Designed
internationalized SQL Server 7.0 database for user registration and
language-specific upgrades
|
| - |
|
Implemented
VB COM object to translate XML from server into client-side COM object
model
|
| - |
|
Implemented
ATL COM object using CHttp… MFC classes to encapsulate communication
|
| - |
|
Implemented
Playlist Manager MFC dialog with highly customized GUI
|
| - |
|
Designed
and implemented registration, upgrade and first-run protocols between
client and server
|
|
|
Charles Schwab,
Retirement Plan Services |
July
1998 – July 1999 |
As a consultant to Schwab
Retirement, Michael revolutionized the way Visual Basic and Visual C++
developers interacted with the legacy Pascal/BTrieve retirement plan
system. He did this by inventing a C++ system that translated Pascal
BTrieve data into Visual C++ data objects, and vice versa.
He used this system to implement a batch process to update status
information on retirement plan members, a nightly process that was
benchmarked at 90,000 member checks per hour.
Furthermore, he provided training on the data access system, as
well as COM, MTS, ActiveX, ASP and other development topics.
| Primary Accomplishments:
|
|
- |
|
Developed
C++ source code generator and data conversion DLL to streamline use of
Pascal data stored in BTrieve flat files
|
|
- |
|
Developed
MTS COM objects in VB/VC++ for batch updating BTrieve records
|
|
- |
|
Performance
tests showed update speed of 90,000 records/hour
|
|
- |
|
Implemented MFC multi-threaded test application for
stress tests on compressed BTrieve files
|
|
- |
|
Designed
MFC user app for bulk copying data from BTrieve files into SQL Server 6.5
tables
|
|
- |
|
Taught
sessions on COM, MTS, ActiveX, and ASP
|
|
|
| Hyland Software, Inc. |
May
1997 – July 1998 |
Michael was one of twelve
developers who worked on Hyland’s document management system, OnBase. He
worked primarily on high-speed data imports, but also developed ActiveX
controls for viewing documents and images securely over the web.
He also developed a programmable ASCII file parser that could be
configured to parse nearly any text format, thereby reducing development
effort on new file-parsing projects.
| Primary Accomplishments: |
|
- |
|
Designed
ActiveX Controls in MFC for ASCII, AFP and image interaction over WWW
|
|
- |
|
Prototyped
image-viewing controls using ATL 2.1 to compare ATL and OCX solutions
|
|
- |
|
Analyzed
challenges of migrating to DCOM-based, server-side import processors
|
|
- |
|
Designed
and implemented programmable ASCII file parser
|
|
- |
|
Performed
technical demos at two major industry trade shows
|
|
| Certifications |
Microsoft
Certified Solution Developer since November 1999
Microsoft
Certified Database Administrator since November 2001
• Designing
and Implementing Databases with SQL Server 2000 Enterprise Ed. (passed in
beta)
• Implementing Distributed
Applications with Visual C++ 6.0
• Implementing Desktop
Applications with Visual Basic 6.0
• Installing,
Configuring and Administering SQL Server 2000 Enterprise Ed.
• Installing,
Configuring and Administering Windows 2000 Server
• Analyzing Requirements and Defining Solution Architectures
(passed in beta)
• DB
Design/Implementation on SQL Server 6.5
• System Administration
of SQL Server 6.5 |
| Publications |
Cating,
M. December 2002. "Do-It-Yourself
Searching." T-SQL Solutions, pp. 2-6.
|
| Education |
Case
Western Reserve University
Cleveland, Ohio August 1993 – May 1997
| •
Master of Science in Computer Engineering & Science |
GPA: 3.90 out of 4.0 |
|
• Bachelor of Science in
Computer Engineering |
GPA: 3.97 out of 4.0 |
|
|