My Resume

Prefer a PDF?

Languages

2013201420152016201720182019202020212022202300.511.522.533.544.55

Skills and Frameworks

2013201420152016201720182019202020212022202300.511.522.533.544.55

Amazon Web Services

201620172018201920202021202200.511.522.533.544.55

Unique Experiences

  • Experienced a startup grow from the beginning to acquisition at $310 Million
  • First developer to join PowerPay full time (sole-developer for awhile).
  • Represented the Pinnacle21 Engineering on the company Leadership Team. Consulting from Patrick Lencioni's Table Group
  • Merge Owner of entire code bases (50+ repositories)
  • Created interview processes and interviewed 100's of candidates
  • Designed and documented major pieces of Engineering processes and Software Development Lifecycle
  • Scrum Master (Certified Twice). Designed and rolled out SCRUM process for organization with a focus on continuous improvement
  • Project Management and client facing in many projects
  • Engineering Management experience such as one-on-one meetings and setting OKR's at department and individual level
  • GitHub, AWS, CircleCI, and Jira Administration
  • HealthCare and FinTech Compliant SDLC Audits (preparation and participation)
Habit Tracking App
1 year

Building a side project to learn more about mobile development. The application allows users to track their daily habits and progress over time.

Serverless FrameworkJavaScriptGitLambda/AWS GatewayNode.jsnpmReact Native
Billing Project
4 months

Led the billing project which extracted complicated billing logic out of our system to an integration with a third party billing system. This allowed us to bill at a more granular level. This project leveraged the Serverless Framework on top of AWS Lambda and many other AWS services. The backend was Node/Express with Sequelize ORM, and some minor frontend Angular code. Some tests written in Jest.

Serverless FrameworkJavaScriptJest/EnzymeGitLambda/AWS GatewayNode.jsnpmAngular
Data Analytics Pipeline
2 months (part time)

Oversaw a Data Analytics project, although I was not actively building I learned a lot about AWS Glue / Apache Spark, RedShift, and related services. Helped build the data model for the data warehouse.

GlueRedShiftQuickSightLambda/AWS Gateway
Address Verification Chrome Extension
3 weeks (part time)

Built a Chrome Extension to facilitate address verification during the underwriting process. This tool leveraged the HouseCanary and Google APIs. Successfully published to the Chrome Store but the extension is private access for internal users only.

JavaScriptGitChrome ExtensionREST API
Google Drive Scripting
1 week (part time)

Wrote Google App Scripts to manipulate and move Google Doc files to support daily document processing.

JavaScriptGoogle Script
Loan Management System
1 year (part time)

Sole Developer of the internal Loan Management System. This project is used every day by internal teams to track loan updates, ACH transfer millions of dollars out to contractors, and review analytics. Initially inherited as a small Python/Django prototype, I built the final project using a Node/Express backend, a React front end, and a PostgreSQL database. I also used Amazon Web Services heavily for this project including a secure VPC architecture deployed to EC2 servers, Cognito authorization and user management, Simple Email Service for notifications, Route 53 for DNS lookup / forwarding, and RDS for database management. This project leverages MaterialUI for clean, easy to use components.

React/ReduxJavaScriptCSS GridMaterialUILodashAxiosNode.jsnpmWebpackBabelApache POIJest/EnzymeGitRoute 53VPCEC2RDSPostgreSQLCognito
Issue Management Rewrite
1 year

Rewrite of the core module of Pinnacle 21 Enterprise to move toward a Jira like issue management system. Because of the complexity of the new functionality introduced we migrated this piece of the UI to React/Redux. The main screen, a complex three panel synchronized view, was built using Split.js. Originally planned in CSS Grid, was completed using Flexbox to support IE 11. Our services communicated with the backend via Axios which greatly reduced the boilerplate of our http requests. The Backend API was completely redesigned and simplified. This was my first time leading a major production React/Redux project. Some of the biggest challenges we faced were CSS related.


Investigated websockets but end up using local storage for cross tab synchronization

React/ReduxJavaScriptJavaPlay FrameworkCircleCICSS GridFlexboxSplitJSAtlasKitReact BootstrapLodashHighchartsAxiosNode.jsnpmWebpackBabelApache POIJest/EnzymeCognitoGit
Community Rewrite
Open Source Desktop Application converted to Electron with React
6 months

Rewrite open source desktop app into Electron and React. I mostly oversaw this project, but had to jump in due to time constraints. My major contributions include setting up multiple CircleCI builds with cascading builds as well as writing a custom .bat uninstall script. I did get to spend some time working with React and Electron, specifically the Electron Builderlibrary which enabled us to auto-update our clients installations. We also heavily leveraged AWS services for this project including S3, Lambda, and Cognito.

ElectronNode.jsReact/ReduxJavaJavaScriptCircleCIApache POIRxJavaLambda/AWS GatewayCognitoGit
Self Service Data Fitness
Dynamic UI built by json config file
6 months

Led the core project of 2018 to build an enhanced reporting suite to improve usability of the system for FDA reviewers. This required a well-organized back end mostly from scratch that takes a personalized internal configuration file and dynamically generates a suite of reports. We created a custom JSON schema with a parser that would translate each of the JSON objects into executable classes using Java Reflection. The core of this project was choosing a pattern of Personalization instead of Customization. In this way, our subject matter experts created a personalized user experience including filtered results and localized text language based on the user.

Play FrameworkJavaJavaScriptApache POIReact/ReduxPostgreSQLJUNITJestDomain KnowledgeGit
Define.xml Tool
Second successful core module of the paid product
1 year

Define.xml Tool: Inherited the leadership of this massive project and was responsible for core features such as metadata extraction, merging, and history. As the team lead I was in charge of meeting timelines and filling in gaps across the module as needed. Built an excel like editor using Handsontable.

Play FrameworkJavaJavaScriptApache POIJenkinsJUNITJasminePostgreSQLDomain KnowledgeGit
Time Zones
1 month (part time)

Time Zone: Small feature added to allow users to set and adjust their time zone that impacted the reporting of dates and times across the system.

Play FrameworkJavaJavaScriptGit
License Agreement
3 months (part time)

License Agreement: Custom feature that required a wide understanding of our existing system's use of the Play Framework. Integrated into our authentication services to detect users who haven't agreed to licensing based on email domain.

Play FrameworkJavaJUNITGit
Custom Adapters
6 months (part time)

Custom Adapters: Organized and built custom adapters for several clients to help integrate their internal processes with Pinnacle 21 Enterprise. This required a deep dive into understanding the metadata management process and associated standards. I also had to work extensively with the Java Service Loader pattern.

Domain KnowledgeXMLXSDGitService Loader
Reviewer’s Guide in XML Project
6 months (part time)

Volunteered on an external industry team to take the Reviewer’s Guide word document submitted to the FDA during clinical review and translate it into an XML format that is machine readable. I directly created the XSD schema file for the XML and made significant contributions to the design of the XML. This will hopefully make the document easier to consume at the FDA and allow for tools to be built around the XML format to improve the creation process.

Domain KnowledgeXMLXSD
Database Migration
6 months (on going maintenance of production)

Wrote critical ETL migration scripts to move data between MongoDB and PostgreSQL. This was built as a bash script that calls a suite of JavaScript scripts that accessed MongoDB records, performed transformations, built SQL statements, which we're then executed against the PostgreSQL database through STDOUT to load the new records. This was built to be dropped as a zip file on AWS EC2 instances to perform production database migrations.

SQLBashJavaScriptPostgreSQLMongoDBETL
Reviewer’s Guide Generator Tool
6 months

Created a new module to help users create Reviewer’s Guide documents which are submitted with clinical data to the FDA by aggregating information across our system and then generating a Microsoft Word document. This project relied heavily on the Apache POI Word API to build a completed document from a template file. I used a bookmarking system to select pieces of the document

JavaJavaScriptSQLjQueryPlay FrameworkPostgreSQLMongoDBJUNITApache POIMicrosoft WordXMLGit
Core Enterprise Product
1.5 years (part-time, across several releases)

Wrote the first implementations of many vital pieces of our core, paid product including: Issue Filters, Validation / Task Logs, Score Calculation, Metrics Collection, and many reporting screens. Relied on Apache POI for Excel Import/Export processes.

JavaJavaScriptSQLjQueryPlay FrameworkPostgreSQLMongoDBJUNITApache POIGit
Analytics
3 months (part-time)

Set up Google Analytics to collect metrics.

Google AnalyticsJavaScript
Data Profiling Reports
1 year to production (On going expansion)

Built a suite of data extraction tools to enhance reporting. This is maintained as its own internal library, built and distributed through maven. Originally extracted to MongoDB. Once PostgreSQL added support for JSON values, we migrated these records to PostgreSQL so we only rely on one database.

JavaPlay FrameworkJUNITMongoDBPostgreSQLOOPGit
Semantic Web Research
6 months (part-time)

Research project into the feasibility of leveraging semantic web technologies to model Clinical Data Standards. Specifically investigated the Apache Jena API.

Apache Jena (Semantic Web)TDBSPARQLSemantic Web