Senior Back-end Developer2022 - 2022Scratch Engine LLC
Technologies: Back-end, Node.js, APIs, TypeScript, Amazon Web Services (AWS), Data Science, Amazon DynamoDB, Non-fungible Tokens (NFT), Python, AWS Lambda, Docker, Serverless
- Handled data engineering for an ML project learning to predict NFT prices.
- Worked with the ML engineer to locate data sources, like social media APIs, NFT, and crypto APIs, and to evaluate data quality.
- Built, deployed, and monitored the project's data pipeline (AWS Lambda functions writing to DynamoDB).
- Developed a detailed data inventory describing the data assets generated by the project.
- Architected and built the back-end services to support the project's web app in Node.js/TypeScript and Python.
Software Expert2017 - 2021Kudelski Security
- Architected and built the Use Case Manager, an internal-facing web application used by Kudelski's MDR team to benchmark their threat detection capabilities against the MITRE ATT&CK framework.
- Wrote the code for much of Secure Blueprint, a SaaS web application for CISOs to assess, manage and report on their company’s cybersecurity program.
- Built a POC API to provide medical cannabis product recommendations as part of a blockchain-related venture. Utilized a Drools-based expert system meant to bootstrap data collection for future machine learning.
- Served as an alpha customer for Kudelski's internal DevOps platform and contributed to its design.
- Introduced the idea of database versioning to my team and converted our database deployment process to use Flyway.
- Served as a careful and detailed code reviewer with a good track record of catching bugs in review.
Senior Software Developer2016 - 2017ThoughtWorks
Technologies: Java, Agile Software Development, IntelliJ, Spring, Git, MacOS, Guava, Automated Testing, Gradle, Scrum, REST APIs, Logback, Google Guava, Postman, Apache JMeter, Integration Testing, Unit Testing, Back-end
- Worked on greenfield development of Java web APIs to be used by all customer-facing applications at a major airline.
- Influenced the decision to use a JWT-based client-side cache, which greatly simplified the API while maintaining performance and statelessness.
- Trained junior developers through pair programming.
Software Engineer2015 - 2016DEVEXI (Toptal Client)
- Wrote Java and SQL to execute retrospective longitudinal studies over a database of medical records and correlated environmental/socioeconomic data. Queries ran on AWS Redshift over billions of records.
- Sped up a central algorithm for matching cases to controls to run 50 times faster. Optimizations included re-representing a join table to be 10X smaller and reducing the size of the input by randomly sampling from the set of controls.
- Coded data perturbation and suppression algorithms to satisfy HIPAA de-identification requirements.
- Designed HTML emails for invoicing and built the service that generates and sends invoice emails.
Software Engineer2011 - 2014Georgia Tech Research Institute
- Developed a new SPA-style web app for administering firewalls and specifying access policies for classified web-based services.
- Overhauled a complicated GWT-based application module for handling the workflow for requesting and approving personnel access to classified programs.
- Designed and implemented a stand-alone service to perform content inspection on uploaded files for use in a classified file-sharing system.
- Integrated new and existing applications into an OpenAM-based single-sign-on framework to support access-controlled user sessions based on authorizations returned by the SSO server.
- Profiled and diagnosed performance issues in our SSO service until it met performance requirements and doubled the requests/minute.
- Offered meaningful and polite feedback in hundreds of code reviews for teammates and student co-ops.
Software Engineer2006 - 2011Veloxiti, Inc.
Technologies: SOAP, Natural Language Processing (NLP), Protégé, Java, C++, SQL, Artificial Intelligence (AI), Unit Testing, Maven, Back-end
- Designed and implemented the next version of Veloxiti's core product, a C++-based cognitive engine, as part of a small development team.
- Developed a graphical knowledge editing tool for Veloxiti's cognitive engine, built as a set of Java plugins to the Protege ontology editor.
- Built a Java application to extract structured data from military operation orders and tactical chat using the GATE natural language processing toolkit.
- Implemented Java and Soap-based web services to communicate among Veloxiti's cognitive engine, a tool processing tactical mIRC chat, and the Army's Command Post of the Future.
- Performed background research, interviewed experts, and wrote the final report for an SBIR Phase I projected to build an expert system to assist in estimating Human Systems Integration costs in Naval acquisitions.