Michael Harris, Developer in Lyndhurst, OH, United States
Michael is available for hire
Hire Michael

Michael Harris

Verified Expert  in Engineering

Cloud Architect and Full-stack Developer

Location
Lyndhurst, OH, United States
Toptal Member Since
May 7, 2020

Michael is a certified AWS and GCP cloud architect with dual bachelor's degrees in applied mathematics and accounting and an MBA from ESSEC Business School in France. He has spent over seven years on Wall Street, both at investment banks and hedge funds. Michael enjoys helping clients solve software problems large and small, including implementing cloud and distributed solutions, software development lifecycles, API integrations, project management, ETL processes, and prototyping applications.

Portfolio

Bamboo Software, LLC
ASP.NET Web Forms, Telerik WebForms Controls...
New Innovations, Inc
ASP.NET Web Forms, SQL, SonarCloud, SonarQube...
BlueMountain Capital Management, LLC
Web Development, Fund Accounting & Administration, Hedge Funds...

Experience

Availability

Part-time

Preferred Environment

Google Cloud, Windows, GitHub, Agile, Slack, Visual Studio, Visual Studio Code (VS Code), Amazon Web Services (AWS), Atlassian Suite, Azure

The most amazing...

...project I've built is HallPass.dev, a .NET library with a corresponding API that enables multi-instance applications to respect rate limits of external APIs.

Work Experience

Principal

2020 - PRESENT
Bamboo Software, LLC
  • Developed and launched a greenfield cloud-native web application from scratch using Angular and .NET Core, hosted on Azure, using GitHub Actions for CI/CD, while guiding the client through the development lifecycle in a project management capacity.
  • Architected a lean microservice solution using .NET Core and Google Cloud Functions to analyze stale products in the client's Shopify store.
  • Designed and implemented a new microservice process and internal tool for the client to integrate, manage, and track their Just-In-Time inventory system with their largest customer, integrating with the client's legacy ASP.NET Web Forms solution.
  • Created and implemented a language-agnostic centralized CI/CD system for several old and modern projects, using GitHub Actions for automated builds and tests and Octopus for managing deployed versions and rollbacks.
Technologies: ASP.NET Web Forms, Telerik WebForms Controls, Azure Command-Line Interface (CLI), Acceptance Test-driven Development (ATDD), xUnit, REST, Visual Studio Code (VS Code), Angular CLI, Web API, Clean Code, Automated Testing, Design Patterns, Excel VBA, Domain-driven Design (DDD), Docker, Git, jQuery, Azure Websites, Azure, Test-driven Development (TDD), RxJS, GitHub, Visual Studio, Bootstrap, Visual Basic for Applications (VBA), SQL, TypeScript, JavaScript, Microsoft SQL Server, ASP.NET, Web Development, Full-stack, .NET Core, C#.NET, C#, .NET, Microsoft Excel, Fixed-income Derivatives, Equity Derivatives, Derivatives, Financial Markets, Identity Server, PostgreSQL, C#.NET WinForms, Shopify API, Entity Framework Core, GitHub Actions, Google Cloud Functions, Angular, Google Cloud Platform (GCP), Google Sheets, Airtable, Google Apps Script, MVP Design, Full-stack Development, APIs, DevOps, Node.js, CSS, HTML, Front-end, API Integration, Entity Framework, Linux, Containers, AWS Lambda, Amazon S3 (AWS S3), REST APIs, JSON, Amazon Web Services (AWS), Application Architecture, Networking, User Interface (UI), User Experience (UX), Software Design, Leadership, Back-end, Databases, Architecture, Security, Code Review, Source Code Review, Project Consultancy, Microsoft Visual Studio, Visual Basic .NET (VB.NET), MySQL, Continuous Deployment, ETL, Data Pipelines, React, Fast Healthcare Interoperability Resources (FHIR), HIPAA Compliance, React Native, GitLab, Python, HL7 FHIR Standard, SMART on FHIR, RabbitMQ, Pub/Sub, Google Cloud Build

Software Developer

2019 - 2020
New Innovations, Inc
  • Implemented the team's first .NET Core Web API with an Angular front end, simultaneously introducing the team to automated unit testing at both the back-end API and front-end UI.
  • Spearheaded an initiative to migrate legacy code via domain-driven design principles away from the legacy transaction script architecture, leading event storming sessions to begin modeling the domain.
  • Embedded Angular Elements into legacy Web Forms pages to begin migrating away from old technology with minimal impact on the current system.
Technologies: ASP.NET Web Forms, SQL, SonarCloud, SonarQube, Acceptance Test-driven Development (ATDD), xUnit, Clean Code, Automated Testing, Design Patterns, Domain-driven Design (DDD), PostgreSQL, Test-driven Development (TDD), GitHub, Visual Studio, .NET Core, C#.NET, C#, .NET, Telerik WebForms Controls, REST, Visual Studio Code (VS Code), Angular CLI, Web API, Git, jQuery, Bootstrap, ASP.NET, Web Development, Full-stack, VB.NET, Kendo UI, RxJS, Docker, Jenkins, TypeScript, JavaScript, Angular, Full-stack Development, APIs, DevOps, CSS, HTML, Front-end, API Integration, Entity Framework, Linux, Containers, Amazon S3 (AWS S3), REST APIs, JSON, Visual Basic, Amazon Web Services (AWS), Application Architecture, User Interface (UI), User Experience (UX), Microsoft Excel, Software Design, Leadership, Back-end, Databases, Security, Code Review, Source Code Review, Project Consultancy, Microsoft Visual Studio, Visual Basic .NET (VB.NET), MySQL, Continuous Deployment, ETL, RabbitMQ, Pub/Sub

Quantitative Strategist | Developer of Operations and Post-trade Technology

2018 - 2019
BlueMountain Capital Management, LLC
  • Implemented support for new asset classes (mortgage TBAs and bond futures) in our proprietary domain model using DDD and event-sourcing.
  • Revamped the firm's fund accounting NAV and returns data system, backed by extensive regression tests, to decommission a number of legacy spreadsheets by converting them into first-class C#, AngularJS, or SQL applications.
  • Developed an internal trade/position automated reconciliation report that reconciles the universe of the firm’s trades and positions to a separate querying database to ensure adequate consistency at a point in time with a given time lag threshold.
  • Automated a number of formerly manual monthly, quarterly, and annual reports while building out an API that would later prove useful for other teams and reports.
Technologies: Web Development, Fund Accounting & Administration, Hedge Funds, Credit Default Swap (CDS), Asset-backed Securities (ABS), Fixed-income Derivatives, Equity Derivatives, Derivatives, Financial Markets, Acceptance Test-driven Development (ATDD), Clean Code, Automated Testing, Design Patterns, Domain-driven Design (DDD), Test-driven Development (TDD), Visual Studio, C#.NET, C#, .NET, Microsoft Excel, Event Sourcing, NUnit, Web API, AngularJS, SQL, Microsoft SQL Server, ASP.NET, Full-stack, TeamCity, Perforce, JavaScript, Google Apps Script, Full-stack Development, APIs, DevOps, Node.js, CSS, HTML, Front-end, API Integration, REST APIs, JSON, Application Architecture, User Interface (UI), User Experience (UX), Software Design, Back-end, Databases, Security, Code Review, Source Code Review, Microsoft Visual Studio, MySQL, Continuous Deployment, ETL, Data Pipelines, Pub/Sub

Associate Developer (Asset Backed Securities)

2016 - 2018
Societe Generale
  • Developed and deployed a REST ASP.NET Web API to serve as the team’s primary data source, using SQL, Unity Dependency Injection, NUnit/NSubstitute, Swagger, IIS, and TeamCity.
  • Designed and developed a user-authorization system for the team’s web-based systems using C#, SQL, ASP.NET, Angular, Bootstrap, Swagger, IIS, and TeamCity, which was the first Angular project for the team.
  • Developed a web-based monitor and manager of all the team’s automated data integration processes using Node.js on the back end and AngularJS for the UI.
  • Created a report generation framework in C# and Bootstrap to standardize the reports that the team sent internally and externally on a daily basis.
Technologies: Credit Default Swap (CDS), Asset-backed Securities (ABS), Fixed-income Derivatives, Equity Derivatives, Derivatives, Financial Markets, Clean Code, Automated Testing, Design Patterns, Test-driven Development (TDD), GitHub, Visual Studio, C#.NET, C#, .NET, Microsoft Excel, Auth0, NUnit, REST, Visual Studio Code (VS Code), Angular CLI, Web API, Excel VBA, Git, Swagger, jQuery, AngularJS, Bootstrap, SQL, Microsoft SQL Server, ASP.NET, Web Development, Full-stack, Visual Basic for Applications (VBA), Octopus Deploy, TeamCity, OAuth, TypeScript, JavaScript, Angular, Google Apps Script, MVP Design, Full-stack Development, APIs, DevOps, Node.js, CSS, HTML, Front-end, API Integration, Entity Framework, REST APIs, JSON, Visual Basic, Application Architecture, User Interface (UI), User Experience (UX), Software Design, Leadership, Back-end, Databases, Security, Code Review, Source Code Review, Microsoft Visual Studio, MySQL, Continuous Deployment, ETL

Associate (Structured Products Marketing)

2012 - 2016
Societe Generale
  • Developed marketing slide-decks, brochures, and other documents describing exotic derivatives products covering multiple asset classes, including Equities, Fixed Income, Forex, Volatility, TRS, and Credit.
  • Maintained a large repository of marketing communications, following strict requirements to obtain and manage Series 3/4/24 approvals, as well as Legal & Compliance approvals where necessary.
  • Developed tooling for Excel and PowerPoint via VBA to automate aspects of the approval processes for marketing documents.
  • Developed tooling for Excel and PowerPoint via VBA to automate aspects of updating large data-heavy slide-decks and other marketing materials.
  • Created automated template files for legal and sales departments to use to generate pre-approved marketing materials for certain medium-volume processes.
Technologies: Hedge Funds, Credit Default Swap (CDS), Asset-backed Securities (ABS), Fixed-income Derivatives, Equity Derivatives, Derivatives, Financial Markets, Microsoft Excel, Excel VBA, Microsoft PowerPoint, Visual Basic for Applications (VBA), Visual Basic, User Interface (UI), User Experience (UX), Leadership

.NET Field Level Encryption Extension for Newtonsoft and Utf8Json

https://github.com/Burwin/JsonCryption
Easy-to-use extension library - available as a nuget package - for encrypting individual properties and fields of C# objects when serializing/deserializing to/from JSON. Simple to start, yet highly configurable. Promotes industry best-practices for encryption and key management, such as using the latest preferred algorithms, supporting algorithm rotation and key rotation, and plugging in to secure secret stores through initial configuration.

ETL Process on Shopify's API using .NET Core and Google Cloud Functions

I was the sole developer on the project. One process runs daily, making multiple calls to multiple endpoints of Shopify's API to pull in the latest data from the client's store and persist in a Postgres database for future processing. Another process runs monthly to process the data, generating an Excel report that gets emailed to a small list of recipients. Both processes run as HTTP Google Cloud Functions triggered by cron jobs in Google Cloud Scheduler. Running the jobs as Cloud Functions, the client remains below their free tier so the processing is completely free each month, paying only for the small database. The project uses GitHub for source control and GitHub Actions for CI/CD.

Just-in-time Inventory Management Integrated with SAP

Designed and implemented microservice processes and internal tools for the client to integrate, manage, and track their Just-In-Time inventory system with their largest customer:
- Multiple jobs that run periodically (every few minutes or once per day)
- Some jobs poll internal SharePoint locations for new XML files to ingest (purchase orders, shipment receipts, client inventory levels, etc.)
- Some jobs check internal data models for business objects that need to be turned into XML files to distribute back to the client (advanced shipment notifications, order confirmations, etc.)
- Custom web views were created for internal users to manage various parts of the process, using the client's existing ASP.NET WebForms solution and adding bootstrap styling for a better user experience
- Created a CLI to be used by internal power users to run for special cases, which were ultimately used to trigger the jobs themselves

CI/CD Pipeline Framework for Multiple Project Types

I designed and implemented a custom CI/CD pipeline for a client with multiple projects in multiple tech stacks (.NET Framework, .NET Core, AngularJS, and Vue) deployed in various ways on AWS (Docker and ECS, Elastic Beanstalk, IIS hosted on EC2 instances, etc.). To provide a unified experience for users to deploy applications, I set up a dedicated EC2 instance running Octopus Deploy, which significantly streamlined the deployment process and enabled easy rollbacks. To build the artifacts, I wrote GitHub Actions scripts for each project, which packaged up the artifacts and sent them to a dedicated S3 bucket behind the client's private VPC. From there, a Lambda grabs the package, creates an Octopus release, and pushes everything to the Octopus server, ready to be deployed to DEV, STAGE, or PROD environments.

The pipeline was completed with significantly reduced deployment errors, more joy for the developers, and much greater developer efficiency and deployment frequency.

HallPass.dev

http://www.hallpass.dev
HallPass is a .NET library and service that I designed and built (still in beta mode, so expect some bugs) to make consuming rate-limited APIs, without being rate-limited for making too many calls too quickly, nearly effortless. It's written in .NET 6, deployed as an open source NuGet package (for single instance clients), and available as a remote REST service (for concurrent multiple instance clients). The web service is deployed on a Kubernetes cluster hosted in Google Cloud. It uses a Redis instance deployed to a Google Cloud VM to manage shared state across multiple calling clients for a single "user."

The project also has a lightweight web portal for registering for the free trial. The web portal uses Vue3 with TailwindCSS for the front end and NestJS and TypeScript for the back end.

Finally, to perform adequate load testing, I designed and deployed a simple rate-limited API using NGINX deployed to a standalone Google Cloud VM, explained here: https://github.com/BambooSoftwareLLC/ratelimited.dev.

Automated Twitter Screenshot Bot

A background bot to watch a customizable set of Twitter users, taking screenshots of every tweet they make and storing the screenshots and metadata in the cloud. I was the sole developer on the project. The application is written with TypeScript and deployed to Google Cloud via independent Cloud Functions triggered by GCP Pub/Sub. It uses the Twitter API V2 to download the latest tweets via a GCP Cloud Function triggered on a CRON schedule for the set of users being watched. Downloaded tweets publish events to PubSub, causing other jobs to run, particularly the job to automatically take a screenshot of the tweet in question. For screenshots, I used Puppeteer and the Twitter oEmbed API. Screenshots are stored in Google Cloud Storage, and tweet metadata is saved to GCP Firestore. By saving the metadata, the screenshots become queryable.

Automated Twitter Trend Detection for Specific Communities

A TypeScript app (with some Python) to watch specific sets of Twitter users for trends impacting the collective group. I was the lead developer and architect on this project, with a team of two other developers. The application downloads new tweets via the Twitter API V2, categorizes them into topics using various proprietary techniques, scores the topics, and surfaces the leading topics as trends. We used a combination of Google Cloud Functions, Google Cloud Run, and PostgreSQL (data storage). To handle heavy DB load, we also installed and configured PbBouncer on the Google Compute VM running PostgreSQL.

Languages

C#, C#.NET, JavaScript, TypeScript, SQL, CSS, HTML, XML, Excel VBA, Visual Basic for Applications (VBA), Google Apps Script, Visual Basic, VB.NET, YAML, Bash, Visual Basic .NET (VB.NET), Python

Frameworks

.NET, ASP.NET, .NET Core, Bootstrap, .NET 5, Entity Framework Core, ASP.NET Web Forms, Angular, AngularJS, NUnit, Tailwind CSS, Kendo UI, Swagger, Razor, Windows PowerShell, NestJS, React Native

Libraries/APIs

Node.js, LINQ, REST APIs, Twitter API, Entity Framework, RxJS, Web API, Vuex, Vue, Shopify API, jQuery, Auth0 Management API v2, React, Puppeteer

Tools

Microsoft PowerPoint, Visual Studio, GitHub, Microsoft Excel, Microsoft Visual Studio, Git, Cron, Angular CLI, xUnit, Google Kubernetes Engine (GKE), Google Compute Engine (GCE), RestSharp, Google Sheets, RabbitMQ, TeamCity, C#.NET WinForms, Perforce, Jenkins, NuGet, SonarQube, Auth0, Google Stackdriver, Slack, Atlassian Suite, Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Container Registry (ECR), NGINX, Amazon Virtual Private Cloud (VPC), AWS IAM, GitLab, SMART on FHIR, PgBouncer

Paradigms

Continuous Deployment, Fast Healthcare Interoperability Resources (FHIR), HL7 FHIR Standard, Microservices, Serverless Architecture, Event Sourcing, Design Patterns, Test-driven Development (TDD), Acceptance Test-driven Development (ATDD), Automated Testing, Clean Code, REST, DevOps, Application Architecture, ETL, HIPAA Compliance, Microservices Architecture, Agile, Kanban

Platforms

Google Cloud Platform (GCP), Docker, Azure, Amazon Web Services (AWS), AWS Lambda, Google App Engine, Visual Studio Code (VS Code), Google Cloud SDK, SharePoint, Windows, Linux, Amazon EC2, AWS Elastic Beanstalk, Kubernetes

Storage

Google Cloud, JSON, Microsoft SQL Server, PostgreSQL, Azure Websites, Google Cloud Storage, Amazon S3 (AWS S3), Databases, MySQL, Data Pipelines, Google Cloud SQL, SQL Server 2016, Redis

Other

GitHub Actions, Architecture, Cloud Architecture, APIs, Software Development, Full-stack Development, .NET 6, Software Design, Back-end, Google Cloud Build, Web Development, Full-stack, OAuth, Octopus Deploy, Google Cloud Functions, Financial Markets, Derivatives, Equity Derivatives, Serverless, CI/CD Pipelines, Firebase Cloud Functions, Domain-driven Design (DDD), Encryption, MVP Design, Front-end, API Integration, Containers, User Interface (UI), User Experience (UX), Leadership, Security, Code Review, Source Code Review, Project Consultancy, Pub/Sub, SonarCloud, Identity Server, Fixed-income Derivatives, Asset-backed Securities (ABS), Credit Default Swap (CDS), Hedge Funds, Fund Accounting & Administration, Email Delivery, Excel Reporting, SharePoint Online, Inventory Management, Azure Command-Line Interface (CLI), Telerik WebForms Controls, Algorithms, Trading, IIS, Message Queues, Airtable, Networking, Amazon Route 53, Amazon Kinesis, Elastic Load Balancers, Machine Learning, Virtual Machines, SSH

2008 - 2012

MBA in Business Strategy and Finance

ESSEC Business School - Paris, France

2005 - 2008

Bachelor of Science Degree in Accounting

The University of Akron - Akron, OH

2005 - 2008

Bachelor of Science Degree in Applied Mathematics

The University of Akron - Akron, OH

DECEMBER 2022 - DECEMBER 2025

AWS Certified Solutions Architect

Amazon Web Services

DECEMBER 2022 - DECEMBER 2025

AWS Certified Cloud Practitioner

Amazon Web Services

MAY 2021 - MAY 2023

Professional Cloud Architect

Google Cloud

MAY 2021 - MAY 2023

Associate Cloud Engineer

Google Cloud

MARCH 2020 - PRESENT

Microsoft Certified: Azure Fundamentals

Microsoft

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring