1. Mark D. Andrews
502 Coventry Way
Mount Laurel NJ 08054
856-495-5078
markandrews2609@gmail.com
Skills Summary
Twenty-five years of professional experience in systemarchitecture, project lead, requirements analysis,data analysis,
functional and technical design, application development, database development and optimization in a variety of industries
including retail sales, publication, telecommunications, entertainment, and finance.
Database design and development including Data Warehousing,Data Mining, Data Modeling, Database Design, and
Performance Tuning.
Java, SQL, PL/SQL, C/C++, UNIX Shell, Python, TCL, Perl
Oracle DBMS RAC and non-RAC, DB2, MySQL, PostgreSQL
Eclipse, SQL-Developer, TOAD for Developers, Oracle Enterprise Manager, PL/SQL and SQL
Unified Modeling Language (UML), Agile Methodologies,Design Patterns
Self-motivated, excellent written and verbal communication, teamwork, and leadership skills.
Experience
Advanti Solutions, Inc., Boston, MA May 2014 – October2016
Advanti is a consulting company serving the investment industry.
Data Architect – Open Aristos (OA)
Wrote data ingestion components in Python to perform specific tasks in the ingestion process such as acquisition,transformat ion,
validation, and persistence as related to specific internal and external data sources.Each data source or vendor required a new set
of components to complete the onboarding process.
Enhanced SQLAlchemy, a Python ORM toolkit, creating Oracle specific functionality not provided in the Oracle dialect.
Accessing unique constraint information on tables was one such augmentation.
Researched, tested,and developed the formal installation procedures for OA and all associated infrastructure (database,pyth on,
libraries, etc.) on both Windows and Linux.
Implemented REST APIs in Python providing customers a standard interface to access OA data.
Worked with client's usercommunity in an Agile process to ensure APIs met their needs.
Data Architect – SQL Server Upgrade Code Review and Analysis
Reviewed client's stored procedure code base of several hundred procedures to locate and categorize constructs that were
incompatible with an upgraded version of SQL Server. Primarily this consisted of locating dependencies in the code on the
expectation that rows returned from tables would be ordered the same as when they were inserted.
Data Architect – PostgreSQL and Sybase to Oracle Migration
Developed the process whereby a client's PostgreSQL database was migrated to Oracle. In addition to migrating the database
proper (tables, stored procedures, etc.) the client's applications, written primarily in Java and Bash shell scripts running on Linux
servers,had to be analyzed and modified. During this process a considerable amount of obsolete applications where identified and
purged simplifying future maintenance.
Migrated the client's customer reporting system. This was a TCL application on Linux and Sybase database producing monthly,
quarterly, and annual reports. The database was migrated to Oracle and the TCL applications were first modified to function with
Oracle and then re-written in Java.
2. Thomson Reuters, Inc., Philadelphia, PA January 2004 – February 2014
Thomson Reuters acquired BIOSIS in 2004
Senior Systems Analyst – Content Management System (CMS) June 2007 – February 2014
Provide Oracle and Java expertise to development team which included educating and mentoring team members, reviewing team
members’ code, and providing recommendations to management on improving the development process.Produced high level
designs and detailed analysis of Linux applications the CMS group was charged with developing.
Design of both logical and physical database layouts.
Utilized all aspects ofOracle database resources including partitioned tables, cluster indexes, functional indexes, collections, and
packages.
Ability to write effective and efficient functions,triggers, and stored procedures.
Query evaluation using tools such as explain plan, auto trace, and Oracle Enterprise Manager.
Query tuning using a variety of techniques to reduce or eliminate performance bottle necks such as avoiding lock contention,
effective use of indexes, and creation of cluster indexes where appropriate.
Re-factored existing monolithic serial processing applications into asynchronous tasks that can run in independent threads.The
redevelopment stressed flexibility and extensibility.
Leveraged Java applications and Oracle database components (stored procedures,functions,triggers, etc.) to create a system that
is both highly parallel using multiple threads and distributable allowing simultaneous operations on multiple servers.Total
throughput ofthe systemwas increased significantly.
Analyzed and rewrote a very poorly performing Oracle stored procedure. By rewriting the SQL procedure as a Java stored
procedure time of execution was reduced from 22 hours to 2 minutes.
Senior Systems Analyst – Web Utilization Reporting System (WURS) January 2004 – June 2007
Enhanced the WURS, a Perl reporting application, to betterutilize the database resources available. The systemwas analyzed to
determine where inefficiencies existed. Improvements were then developed usually consisting of aggregating many small
database operations into stored procedures.These changes approximately tripled the system’s throughput.
Wrote a customsorting library in C capable of sorting sets of proprietary data structures numbering in the millions of rows.
Performance exceeded specification target of one second needed to support “two second click to paint” in the applications using
this library.
BIOSIS, Philadelphia, PA December1999 – January 2004
Senior Analyst
Designed and wrote the systemby which BIOSIS’ product delivery transitioned from a proprietary format to XML. Oracle’s
XML handling features along with complex nested tables and queries were used to extract data.Post processing of the XML data
was done using Perl and XML/XSLT modules.
Re-wrote the data transfer component of Methodsfinder,a web based application providing experimental methods to the life
sciences community. This component was a Perl/DBI interface used to extract and transform data from an Oracle 9i database
using stored procedures,views, and customOracle functions to manage complex queries.
Ongoing analysis of both applications and database objects to improve performance of daily processing tasks.