- An experienced IT professional with specialization in databases.
- Have 18 years of experience in database development and administration for various databases: Oracle, DB2, Greenplum (PostgreSQL), Netezza and others.
- Extensive use of SQL for development, ad - hoc queries, object creation, data management.
- Programming with PL/SQL. Use of Oracle SQL*Loader,
- Export/Import utilities for loading and offloading data.
- Development with programming and scripting languages: C/C++, Unix Shell Scripts, Python.
- Databases: Greenplum, Netezza, Oracle (10g, 11g), DB2 (8.2, 9.1),SQL Server 2000/2005, Teradata (13.0, 14.0),
- Programming languages: SQL, PL/SQL, Unix Shell Scripts, C/C++, Python, Java,
- Operating Systems: Windows, Unix (Solaris, AIX, HP-UX), Linux,
- Data Modeling Software: PLATINUM ERwin 3.5.2,
- Database Application Development Tools: TOAD (Tool for Oracle Application Developers), Oracle SQL Developer, PL/SQL Developer by Allround Automations,
- ETL Tools: Informatica PowerCenter,
- Cloud Technologies: Hive, HQL,
- Software Development Tools: Microsoft Visual C++,
- Version Control Software: Subversion, Perforce,
PROFESSIONAL EXPERIENCEETL Developer,
Confidential, Rockville, MD,
- Participated in the company’s movement from Greenplum and Netezza to cloud-based data storage. Developed transformation procedures for ETL of market data into AWS Cloud environment using Hive and HQL. Analyzed source and target data formats and source to target mapping. Used Hive queries and Hive DDL to transform data and combine data from several sources into one data file.
- Continued data management support of Greenplum and Netezza databases. Managed the removal of expired data from Greenplum and Netezza databases according to retention policies and users’ requests. Created SQL scripts that generated the data removal scripts for date partitioned tables (Greenplum).
- Created and executed SQL scripts that corrected data errors in Greenplum and Netezza databases. Used shell scripts to automate the generation of such scripts for multiple partitions (Greenplum).
- Developed a shell script that was run on a daily basis comparing the row counts between different sources and reporting inconsistencies.
- Created tables for the new business objects. Created partitions for these tables (Greenplum). Loaded data into the newly created tables. Created and modified views based on these tables. Dropped tables, views, partitions that were no longer necessary.
- Generated and ran scripts to remove the outdated data from the disaster recovery database. Offloaded data into compressed flat files for archival. Moved data between the databases.
- Used ad-hoc SQL queries and PL/SQL procedures for an Oracle-based metadata repository to create reports on archival status of Greenplum and Netezza tables.
- Managed the creation of user accounts and groups, and granting them necessary privileges to provide proper access to the database objects.
- Created and ran scripts to correct data errors in Greenplum and Netezza databases.
- Compared database object definitions between production and disaster recovery databases and reported inconsistencies.
- Compared row counts between production and disaster recovery databases and reported inconsistencies.
- Developed and executed test cases for ETL procedures using proprietary Java based tool. The ETL procedures loaded data from various data sources (Oracle, SQL Server 2008, flat files) into a Netezza data warehouse. Wrote SQL statements necessary for such tests.
- Created Requirements and Test Sets, published test results in HP Quality Center. Submitted bug reports using Borland’s StarTeam. Verified fixes for the bugs. Tested proprietary Python based tools: a software build tool and a Netezza to Oracle data transfer utility.
- Checked the compliance with requirements of SQL scripts for table and view creation. Participated in writing and editing requirements and technical documentation. For this purpose, interacted with business analysts and developers to point to incorrect specifications that may lead to errors.
Confidential., Reston, VA,
- Served as an expert source on Oracle SQL and PL/SQL, and Teradata SQL and SPL. Created detailed reports on various features and language elements of SQL, PL/SQL, and SPL, compared matching features, identified differences that can create potential problems during transformation, and suggested ways of resolving these problems.
- Suggested replacement mechanisms for Oracle features that do not have matching features in Teradata. Estimated the feasibility of such replacement. The features and language elements included triggers, cursors, cursor attributes and cursor loops, dynamic SQL, hierarchical queries, sequences, exceptions, multi-table inserts and some others.
- Developed algorithms for transformation of Oracle features to Teradata. Developed algorithms for replacement of some PL/SQL procedural elements with advanced SQL statements. Example - use of windowing functions instead of loops with induction variables. The algorithms contained detailed description, flowcharts, and examples.
Sr. Software engineer,
- Was responsible for the functioning of all the databases (Oracle, DB2, SQL Server, Teradata) on multiple OS platforms (Windows, Unix, Linux) for the local team of developers. Performed routine DBA tasks: software installation, instance and database creation, startup, and shutdown, patch installation, administration of database objects (tablespaces, datafiles, tables), user administration, database networking services configuration and troubleshooting, backup of important data.
- Provided scripts for creation of database objects (tablespaces, bufferpools, partition groups) necessary for installation of company’s products.
- Addressed performance issues: used Explain Plan, Oracle Trace, and TKPROF to identify poorly performing SQL statements, and improve their performance.
- Contributed to company’s technical documentation by providing database related instructions (Oracle, DB2, and SQL Server) for installation and use of company’s products.
- Designed and maintained the database component of the company’s product: created data models for MarketSwitch’s line of products metadata and generated SQL scripts for their implementation on Oracle and DB2 databases by using ERwin 3.5.2.
- Wrote PL/SQL procedures and SQL statements for retrieving/saving these metadata from/into the database.
- Performed data loads, data offloads, and data transformations at the request of customers, customer support team, and other developers. For these tasks used Oracle SQL*Loader, Oracle Export/Import utility, Informatica PowerCenter, Teradata FastLoad utility, SQL queries.
- Assisted customer support team by developing select statements for creating views necessary to work with the customers’ data.
- Administered a local network of Unix/Linux servers and workstations (Solaris 7, 8 and 9, AIX 5.3, HP-UX 11i PA-RISC and Itanium, Red Hat). Installed software at the request of developers.
- Supported NIS and NFS.
- C++ programming.
- Developed C++ classes and methods for interfacing GUI, Calculation Engine, and Database layers of company’s line of products multi-tier architecture and provided internal testing utilities for these classes and methods. Fixed bugs in C++ code.
- Testing. Participated in compatibility and performance testing of company’s software for various versions of Unix, Linux, and Windows operating systems:
- For the latest versions of AIX and HP-UX (AIX 6.1, HP-UX 11i v3) arranged remote access via SSH and VPN to IBM and HP servers through these companies’ partnership programs, configured resources on these servers, installed and/or configured databases, installed, configured, and launched the company’s products, performed smoke testing.
- For Windows operating system used dual boot configuration for smoke testing of installation procedures and functioning of company's products in a reproducible operating system environment.