Andrew Lee

Software Architect | Technical Leader | Senior Software Engineer

Los Angeles, California, United States

About

I am responsible for integrating DivvyCloud into the Insight Platform. I specialize in cloud architecture, microservices, and automation, leveraging platforms such as AWS, Azure, and Databricks. My skills include Golang and Python development, as well as expertise in data analytics and security compliance. I have a proven track record of driving innovation, enhancing customer experience, and delivering high-impact solutions.

Experience

  • Rapid7 (18 yrs 2 mos)
    • Distinguished Engineer - InsightCloudsec
      Jun 2021 - Present · 5 yrs 1 mo

      Driving force in bringing the DivvyCloud acquisition into the Rapid7 Insight Platform ecosystem by working with customers, sales, CSMs and principal architects to formulate and execute a plan for migrating all DivvyCloud customers into Rapid7. This work enabled unified login, RBAC resolution, api capabilities, etc. for all DivvyCloud customers Worked on integrating and automating the Rapid7 procurement process working with InsightCloudSec's procurement process. Worked with various teams across engineering, customer support and netsuite. Tasked to solve customer issues to resolve bugs or performance problems as well as implement custom feature for customers Developed a golang based cloud collector for detecting cloud changes from AWS, Azure and GCP into InsightCloudsec Spear-headed Attack Path Analysis feature for InsightCloudSec. The design was submitted for a patent and the feature was released in the summer of 2023. Devised new design that was simpler and scaled within constraints. Authored all the network path routes calculation in AWS, GCP and Azure environments Architected a proof of concept pipeline system using Databricks to compute analytical insights. Pipeline is currently in use in both InsightCloudSec and Executive Risk View. Led the evaluation, procurement and POC process for Rapid7 by working with Databricks sales and development engineers from start to finish. Worked with Rapid7 legal, procurement, devops, IT and infosec for approval and setup. Proof of concept pipeline was demonstrated to stakeholders the potential features that the databricks based pipeline enables. Designed, built and introduced the usage of golang microservices to complement monolithic python application using k8s, eks, docker, spinnaker, kong, aws secrets, dynamodb and terraform Assisted for getting InsightCloudSec to be Fedramp certified by working with Devops, InfoSec, IT and 3rd party vendor Coalfire.

    • Principal Architect, Consulting Software Engineer - InsightVM
      Jun 2014 - Jun 2021 · 7 yrs 1 mo

      Drove the design and architecture for Exposure Analytics now called InsightVM. Designed a cloud hybrid approach enabling Nexpose customers to view data in near real time on the Rapid7 Insight platform Implemented Saml IDP-initiated login, Saml SP service and OSGI components Led the design and implementation for InsightVM remediation projects, allowing customers to view, manage and remediate their vulnerabilities in project style format Invented the IVM DSL query language using ANTLR and Elasticsearch. The feature converts proprietary search DSL into an Elasticsearch query with cross index join support. Architected the initial IVM data analytics platform employing a datamesh approach before widespread datamesh technique became popular. The platform used a combination of data from or built by Spark, Mysql, Postgres, Elasticsearch and S3/parquet, all of which was queried using Presto for dashboards and data ingestion enhancements. Strongly influenced how java microservices should be packaged and deployed, which included SDLC, deployment, library standardization, documentation, spring boot, etc.

    • Senior Software Engineer - Nexpose
      May 2008 - Jun 2014 · 6 yrs 2 mos

      Architected many features for Nexpose including revamped scan engine protocol, RBAC support, multi-tenancy support, asset ingestion v2, data warehousing and on-prem postgres upgrades Was the driving force in moving Nexpose from an outdated monolithic Java application to one using modern patterns and approaches including MVC, dependency injection and domain driven design Pushed for and prototyped use of dropping old custom web server for an embedded servlet container (Tomcat)

  • Senior Software Engineer at Raytheon
    Jun 2004 - May 2008 · 4 yrs

    Built real-time data visualization applications in Java Maintained internal metric visualization website Developed a C based radar power supply application that managed power supply behavior based on various sensors Contributed to building a windows application and reusable libraries for hardening radar systems via cryptography. This included various encryption methods such as AES, DSA, RSA, El Gamal as well as key management/exchanges (C/C++, OOP).

  • Software Engineer at BAE Systems
    Apr 2001 - May 2004 · 3 yrs 2 mos

    Developed for Socet GXP, a photogrammetric application. The primary duties involved a traditional waterfall approach employing UML modeling, defining requirements, development and QA. Technology used were C/C++, Rational software and QT.