Database Resume
Norcross, GA
Summary
Detail-oriented senior database developer with five years experience with SQL Server, focusing on logical and physical design, query optimization, and performance tuning. Expert at creating/maintaining idempotent upgrade scripts for versioned schemas.
Other skills include: 15 years\' experience developing high-quality Windows front- and back-end software for thick-client applications, mobile devices, and the web; creation of publication-quality documentation using Microsoft Office; and agile (Scrum) development.
Experience
Senior Database Developer, Confidential,Norcross, GA (permanent: 12/2007 - 11/2009)
Skills and Tools
Description
Visual Studio 2008 TEAM Foundation Database Edition GDR 2, SQL Server 2000/2005, SQL Profiler, Enterprise Manager, Management Studio, Query Analyzer
Transitioned database installation from hand-written upgrade scripts to using the Team Foundation Database Edition (GDR 2). Created a "database model" consisting of the schema\'s database objects, which allowed us to install/upgrade any database, regardless of its current schema, to conform to the model with 100% fidelity. This eliminated the need to write idempotent upgrade scripts by hand, saving us approximately 40 hours/week. Also used GDR 2 to create static analysis rules, unit tests, sample data generation plans, schema comparisons, and data comparisons.
Overhauled schemas to conform to best practices for normalization, referential integrity, and performance. Revamped all indexing, using clustered, non-clustered, composite, and “included” / covering indexes, improving performance while reducing database size. Modified existing upgrade scripts to be idempotent.
Reviewed all design and implementation of 100+ table database for team of application developers. Performed advanced query tuning using: execution plan analysis; examining read and write counts; creating and updating statistics; re-writing to use sargable expressions; and adding/dropping appropriate indexes (clustered, non-clustered, composite, included).
C#/ASP.NET, ADO.NET, IIS, AJAX, AJAX Control Toolkit
Designed, created, and maintained C# code-behind pages to display web forms, which called our business logic assemblies. Used AJAX Controls Toolkit to improve client-side responsiveness and usability.
C#/.NET
Created and maintained assemblies that implemented business logic via a home-grown metadata layer through ADO.NET to SQL Server. Involved a half-dozen large assemblies and a COM+ application. Experience in debugging .NET issues such as wrong assembly versions in the GAC, or assemblies with the same strong name and version, but different GVID.
Maintained CLR assemblies for SQL Server 2005 that perform complex calculations on large datasets. These assemblies referenced what Microsoft calls which are not supported for use in SQL Server CLRs, and so required workarounds.
CSS, XML/XSLT/XPATH
Created XSLT files to transform XML data into HTML documents for display and printing using a CSS style sheet. Created a "debug mode" framework in the style sheet that changed the colors on the styles, and labeled each element with its y-axis value, to greatly speed development.
Senior Software Engineer, Confidential,Duluth, GA (permanent: 1/2007 - 11/2007)
Skills and Tools
Description
SQL Server 2000, Query Analyzer, SQL Profiler, Enterprise Manager, SQL Server 2005 Management Studio Express
Responsible for maintaining, upgrading, and tuning customer databases up to 200 GB in size. Created maintenance plans, backup strategies, and remote monitoring system. Resolved deadlock issues and performance problems. Standardized and normalized schemas, added indexes, constraints, and referential integrity. Wrote T-SQL scripts for both initial installation and upgrades, and mentored team members. Performance tuned using PerfMon, Query Analyzer, and SQL Profiler.
Windows Mobile 5, Pocket PC SDK, Visual Studio .NET 2005, C#/.NET, ASP.NET, JavaScript, HTML, AJAX, Web Services
Using ASP.NET, created a POS system connecting Pocket PCs running Windows Mobile 5 over a wireless network to a Windows 2003 server. When the Windows Mobile client application requested data from the server, a web service responded by querying a SQL Server 2000 database.
Server side: Wrote the web service\'s ASMX file in C#, whose methods were exposed by its WSDL file. Database access was done via ADO.
Client side: Implemented the mobile application as ASPX pages with C# code-behind pages, a master page, and CSS. Users\' input sent requests to the web service, then displayed the responses. Since "Atlas" (AJAX Controls) was not supported on Windows Mobile 5, I created the SOAP document by hand, and did a POST via an XMLHTTP ActiveX object.
C#/.NET, WinForms, Serialization, Multithreading, Interop, MD5, AES, SHA-256, Visual Studio .NET 2005, XML, XSLT
Wrote two WinForms applications in C# that supported downloading of only the new or modified items from a collection of 50,000 resource files.
Server side: The server application generated an hash signature for each file; the filenames and signatures were then stored in a single XML document as name/value pairs.
Client side: The client application checked for new/updated resource files on an ad hoc basis. First, the XML document on the server was downloaded and stored locally. Next, for each local resource file, the client generated a hash signature, and did a lookup for it in the XML document. If the hash signatures differed, the client downloaded the new/updated resource file from the server.
Senior Software Engineer, Confidential,Alpharetta, GA (contract-to-permanent: 7/2004 - 11/2006)
Skills and Tools
Description
SQL Server 2000, Query Analyzer, SQL Profiler, osql, Enterprise Manager,
Senior Developer for 2005, 2006, and 2007, a network monitoring tool, using the "Scrum" agile development method. Designed and maintained, wrote T-SQL scripts for both initial installation and upgrades, and mentored team members. Performance tuned using PerfMon, Query Analyzer, and SQL Profiler to optimize queries, indexes, constraints, triggers, stored procedures, etc.
ASP, JavaScript, HTML, DOM, XML
Created and maintained ASP pages for web interface, which included charts, reports, and user interface to SQL Server database using ADO.
C++, MFC, Visual Studio .NET 2002/2003, COM, XML
Implemented thick-client GUI user interface to SQL Server database using ADO. Wrapped classes in COM objects for web interface access.
Consultant, Confidential,Roswell, GA (contract: 10/2002 to 7/2004)
Skills and Tools
Description
C++, MFC, Visual Studio .NET 2002/2003, Oracle 9i, Microsoft CryptoAPI, COM
Enhanced in-house sales tracking application. Tuned dozens of SQL queries, improving their performance by 10 to 30 times. Used highly efficient OO4O (for database access. Simplified and improved user interface. Wrote application to test hints.
Consultant, Confidential,Atlanta, GA (contract: 4/2001 to 10/2002)
Skills and Tools
Description
MSVC6, Microsoft CryptoAPI, COM, C++/MFC, ADO, OLE DB, Oracle
Designed and implemented password management class using the Microsoft CryptoAPI to store and retrieve security information for access to secure Oracle databases. This class called COM servers for various services, and allowed "fall-back" to encrypted flatfiles.
Refactored several large C++ / MFC programs which interfaced to Oracle databases and optical storage jukeboxes (FileNet) for image creation, retrieval, and display. This improved the UI and increased efficiency.
MSVC6, MFC, ADO, XML, DOM, SAX2, DOM, UML, ASP, HTML, JavaScript, OLE DB
Created application to convert tax returns from XML format stored in database tables to TIF images for storage on optical platters. Designed and created web pages to search, retrieve, and display TIF files stored on optical storage jukeboxes (FileNet).
Education