Keith D Gregory
Senior Technologist: over 30 years of industry experience, with a wide range of languages, platforms, and applications.
June 2019 – present
Fort Washington, PA
AWS Practice Lead
Returned to Chariot to improve its ability to compete for and deliver AWS-centric projects, via:
- Outreach: including blogging and speaking engagements.
- Sales Support: including proposal development and client meetings.
- Developer Enablement: including internal training, mentoring, and serving as a backstop at client engagements.
In addition to the internal tasks listed above, I was hands-on with the following projects:
- A service to manage the location of corporate assets via IoT tags, alerting when the tagged assets moved. My role was primarily architectural, to help the team plan and then evolve the system based on client needs and data volumes.
- Data engineering at an early-stage online gaming operator. Developed data pipelines based on AWS Kinesis and AWS Lambda, DBT models for AWS Redshift, worked with Marketing and other data consumers to ensure that their SQL was correct and efficient, and with engineering management to evolve the data platform to meet increasing volume and disparate needs.
- A data warehouse platform for a regional bank. Used a combination of AWS services and custom code to extract data from multiple sources, store it as Parquet in an S3 data lake, then transform and expose via Redshift.
Java, Python, SQL (Postgres/Redshift), Amazon Web Services (multiple), DBT
May 2018 – June 2019
Wingspan, an IQVIA Company
Blue Bell, PA
Hired to advise and assist with Wingspan's migration of their SaaS product from self-managed data centers to AWS, and post-migration, to guide development teams in their use of cloud-native managed services. Expanded my role to oversee the continuous-build infrastructure.
- Designed and prototyped a video transcoding pipeline based on AWS Batch.
- Introduced the idea of using short-lived EC2 instances running Docker containers for development-phase QA testing, oversaw implementation.
- Introduced the idea of using virtual machines to provide a consistent developer environment.
Java, Scala, SQL (Postgres), Amazon Web Services (multiple)
Jan 2017 – Mar 2018
Lead Software Engineer
Member of the ClubOS development team, working on the company's health club CRM product. Primarily responsible for stability and scaling.
- Designed and built a reporting pipeline, responding to changes in the main OLTP database by updating denormalized reporting tables.
- Extended the reporting pipeline into a general Unified Log implementation that could be used to drive multiple asynchronous services (eg: populating the user search database).
- Introduced the use of generated CloudFormation templates for application deployment, to ensure consistency and minimize configuration.
- Migrated ClubOS infrastructure from EC2-Classic to EC2-VPC. Involved changing the deployments for 100+ EC2 instances and multiple large RDS database servers, with less than an hour total downtime.
Java, SQL (MySQL), Amazon Web Services (multiple)
Feb 2015 – Sep 2016
Senior Software Engineer
Member of RJMetrics' development team, working on the company's data management products.
- Led the design and implementation of the Pipeline back-end, a service for accepting data from large numbers of clients and batching that data into upserts to a client-managed Redshift database. Evaluated technologies and focused the team's efforts (along with writing a lot of code), leading to the product's three-month incept-to-available timeline.
- Redshift query optimization and planning, to support multiple tenants in the company's CloudBI product.
Clojure, Python, SQL (Postgres), Apache Kafka, Amazon Redshift
Jan 2012 – Feb 2015
Fort Washington PA
Member of Chariot's consulting staff, working with client companies to design and build appropriate technology solutions to their business problems. Projects included:
- A web-based system for managing new client relationships for a multinational law firm. Built using Java, Spring, JQuery, and AngularJS.
- Management systems for the cable industry. Built using Scala, Spring, and OSGi.
- Back-end for a mobile banking application. Built using Node.JS, Rails, with relational (Postgres) and non-relational (MongoDB) databases.
Jul 2010 – Dec 2011
Navteq Traffic Technologies Group
Member of the architecture team, providing design guidance and implementation assistance to the teams developing Navteq's real-time traffic products.
- Designed and built a map compiler framework, which transforms Navteq's base map data into application-specific artifacts. Challenges included large volume of data (over 100MM road segments), ability to migrate to different source databases, performance of source database, and need to regenerate artifacts using varying configurations. Solution used Ant for flexible build scripts, compressed XML for “base” map extract, and a compact in-memory representation of map data.
- Introduced use of location-aware memory-mapped binary artifacts for application data. These artifacts provide high-speed access with reduced impact to the Java heap, and support elastic scalability using hardware with limited memory.
- Initial design/prototype of the Dempsy elastic message processing framework. Based on the “actors” model, Dempsy was created to support (soft) real-time processing of traffic data based on large volumes of consumer GPS data.
Jan 1984 – Jun 2010
ALB cum laude, 2002; concentration in History
- Author: Programming with Motif; Springer-Verlag, 1992
- Co-Author: Complete Turbo-C; Scott, Foresman, 1989
Open-source projects focusing on increased programmer productivity with Java and AWS.
Presentations for regional user groups and conferences.
Copyright Keith D Gregory, all rights reserved
Recruiters may not republish or redistribute this resume in any form without express written consent.