Scroll To View More
Charles Green, T-SQL Developer in Grand Rapids, MI, United States
Charles Green

T-SQL Developer in Grand Rapids, MI, United States

Member since May 15, 2018
Charles is now available for hire
Charles Green, T-SQL Developer in Grand Rapids, MI, United States
Charles Green

T-SQL Developer in Grand Rapids, MI, United States

Member since May 15, 2018
Charles has more than a decade of experience architecting, designing, and implementing SQL solutions and software applications. He's led technical teams of up to ten—directly and indirectly—and worked in data environments of up to 100 TB. Charles specializes in BI, data warehousing, ETL, automation, databases, and data management solutions in the Microsoft technology stack.
Charles is now available for hire

Portfolio

Experience

  • Database Design, 13 years
  • T-SQL, 13 years
  • Database Administration, 10 years
  • Automation, 10 years
  • C#, 10 years
  • Visual Studio 2017, 10 years
  • Data Warehouse Design, 10 years
  • Continuous Integration (CI), 8 years
Grand Rapids, MI, United States

Availability

Full-time

Preferred Environment

Visual Studio 2017, SQL Server 2017

The most amazing...

...project I've architected was automating the creation of new data warehouses from an XML configuration managed through a web application.

Employment

  • Software Developer

    2014 - 2017
    Capsaicin
    • Implemented the company’s first continuous integration data solution via Visual Studio Team Services. Incorporated automated deployments to test and development environments, where unit tests were automatically triggered.
    • Created service broker processes to migrate gated user changes from isolated internal environments to client facing AWS machines.
    • Developed and implemented company’s first consolidated central reporting platform with email delivery providing the daily status of SQL job executions, SQL backups, across 20+ SQL servers.
    • Reduced the ETL query performance by over 80% by reengineering ETL processes using binary hashing. Previous codes took more than ten hours to run, invoking race conditions, deadlocks and excessive IO consumptions that lead to failed data migrations.
    • Circumvented performance problems related to normalization by utilizing Bitwise coding patterns.
    Technologies: SQL Server, C#, AWS, Azure, Visual Studio Team Services, HTML5, MS PowerBI
  • Senior Software Engineer

    2011 - 2013
    Microsoft
    • Architected and optimized database applications/systems on Windows Azure Platform and deliver data stored in seven data centers on three continents.
    • Built and maintained SQL scripts, indexes, and complex queries for analysis and extraction of data vital to product roadmaps and strategic decision-making.
    • Conducted SQL server tuning; designed C# libraries, data warehouses, and ETL processes.
    • Performed code and design reviews, and introduced enhancements to meet established time frames for query execution.
    • Liaised with international team members for product training and facilitating product handoff.
    • Collaborated with project managers and internal stakeholders to develop KPIs and metrics for reporting performance and growth of Windows Azure product line to division heads.
    • Led training, web demonstrations, and knowledge transfers between three teams across three continents.
    • Headed up the SQL code review; evaluated TSQL peer code for query optimization.
    • Made key contributions to the development of new analyses trends and mechanisms impacting the Azure Platform.
    • Was routinely commended for superior critical thinking skills and ability to quickly assess and resolve issues on-the-fly, with traditional and outside-the-box solutions to sustain forward momentum.
    Technologies: SQL Server, C#
  • Senior Software Engineer

    2010 - 2011
    Huron Group
    • Reduced 35-minute queries to eight seconds by rearchitecting the reporting for a real-time BI data warehouse.
    • Discovered and eliminated design flaws from inaccurate business assumptions that had indexed views of 800 million records (45 GB) with 52% of those records never being reported on.
    • Designed a configurable C# solution that exposed a CSS type functionality to SSRS reports. Provided visual consistency between reports and allowed customization due to the XML base.
    • Minimized the footprint of queries by 45% after utilizing various techniques with cross applies and grouping sets in-conjunction with pivots.
    • Presented novel idea to address a critical performance bug that crippled the application during the initial pilot release; resolved the issue within 45 minutes, saving days of development cycles in other solutions.
    Technologies: SQL Server, SSRS, C#
  • Senior Software Engineer

    2009 - 2010
    Apriva
    • Was initially recruited to design query requests and reports which quickly progressed into a leadership role coordinating design and maintenance of a web portal for managing credit card transactions, merchant accounts, and the provisioning of credit card devices.
    • Mentored and coached junior developers.
    • Championed and won approval to migrate code from four web applications into a common solution, illuminating business logic previously buried in the application to unit tests, subsequently hailed as “the single most important product improvement to their products in five years.”.
    • Refactored 50 stored procedures to use more efficient joins while removing redundant codes and logic.
    • Normalized core databases to reduce redundancy and prevented duplicate work by employees by eradicating the need to update several records for a single change.
    • Implemented the company’s first data mart to resolve long history of problems with reporting performance.
    Technologies: SQL Server, C#
  • Software Engineer II

    2007 - 2009
    Quest Software
    • Created SSIS packages for five different products; successfully developed data mashup from the Exchange, Active Directory, event logs, and network alerts.
    • Completed a complex project of modifying 200 SSRS reports four weeks ahead of schedule.
    • Teamed with offshore developers in designing OLAP database and SSRS reporting strategy for an Exchange reporting solution.
    • Tuned and refactored sprocs (stored procedures) necessary for generating dynamic SQL for an ad-hoc Active Directory reporting product. Incorporated configurable logging to lessen the time required for creating root cause analysis of bugs.
    • Played an integral role in the development of the company’s first OLAP cube.
    Technologies: SQL Server, C#, SSAS, SSRS, SSIS, ETL

Experience

  • Automated Warehouse Creation (Development)

    I architected and designed a software solution to automate data warehouse creation that reduced daily workload by 40%. The configuration of the warehouse was exposed via an ASP.NET MVC web application that enabled project managers and stakeholders to customize their client-specific data warehouse.

    The configuration for each client was stored in XML and managed under source control—enabling us to track schema changes for each client. This approach allowed the team to clone a star schema from one client to another, or to propose multiple variations of a schema with ease and no additional coding. The solution generated persisted code based on the configuration from XML, ensuring the client facing warehouse contained zero dynamic code for maximum query optimization.

    I assured the stability and reliability through continuous integration and the replacement of bugs with proactive validation. The extensibility of this solution allowed us to devise multiple internal testing databases covering all use-cases. The quality was guaranteed through unit and regression testing.

  • Performance Optimization (Development)

    I experienced a period of unexpected company growth, during which a surge of new clients increased ETL processing times from minutes to hours. In one quarter, we experienced 24 months of projected data growth.

    As my team worked to devise an overhaul, I took a more pragmatic approach and reviewed the existing architecture. During the root-cause analysis, I identified the following errors in logic that hindered the ETL processes.

    1. Each insertion of data caused page breaks in the clustered index.
    2. Foreign keys on staging tables also hindered the data insertion.
    3. Dimensional tables with large record counts and numerous text fields caused unnecessary table scans during upsert procedures.

    To resolve these issues, I first devised a new clustered indexing strategy prioritizing record insertion speed. Removal of the foreign keys in the staging tables eliminated a bottleneck during record insertion. I then created a hash key derived from the text columns. Utilizing this field, I was able to ensure that only one column was needed to identify new or updated records. This change turned table scans into index seeks.

    Once my solutions were implemented, we were able to reduce the ETL processing time to mere minutes.

Skills

  • Languages

    T-SQL, SQL, XML, C#
  • Tools

    Azure DevOps Services, Microsoft PowerBI, Git
  • Paradigms

    Database Design, Agile Software Development, ETL Implementation & Design, Continuous Integration (CI), Automation, Test-driven Development (TDD)
  • Platforms

    Visual Studio 2017, Azure
  • Storage

    SQL Stored Procedures, Microsoft SQL Server, Database Modeling, JSON, SQL Server Integration Services (SSIS), Database Administration, SQL Server Reporting Services (SSRS)
  • Other

    ETL Development, Query Optimization, Data Warehouse (DW) Requirements, Data Warehouse Design, Data Manipulation, CSV File Processing, Automation Tools
  • Frameworks

    .NET, ASP.NET MVC
  • Libraries/APIs

    Web API 2

Education

  • Bachelor of Science degree in Software Engineering
    2004 - 2007
    University of Advancing Technology - Tempe, AZ, USA
I really like this profile
Share it with others