Research Engineer2017 - 2019ChromaCode, Inc.
- Designed, developed, tested, validated, and deployed classification and regression algorithms for QPCR and DDPCR medical diagnostic tests.
- Developed, packaged, versioned, continuously integrated, and released internal- and external-facing research and publication tools.
- Wrote code from scratch and transformed it into cohesive, verifiably tested, and carefully documented, modules packaged and stored in a private repository.
- Guided their deployment and release to tested docker container constellations executed in AWS ECS.
- Debugged and expanded features of existing modules; just as in the case of new modules, in my work with existing modules, I took the necessary changes through all the phases described above.
- Developed the front end in React and Node.js to display the machine learning data to the user.
- Tested the features in Cucumber and implemented unit tests in Mocha.
- Provisioned (using Ansible) a malware scanning-and-alerting system for file uploads to Amazon S3; file upload events trigger a malware AWS Lambdas execution and an AWS SNS notification in the case of virus detection.
Data Engineer2017 - 2018Formation, Inc.
Technologies: AWS S3, EC2, EMR, ECS, Spark, PySpark, Python, Bash
- Developed periodic database unloads and ETL transforms for a client's data science ingestion. The software launched multiterabyte-sized data dumps daily to unload data from Amazon Redshift to S3.
- Implemented PySpark and ran it on AWS EMR and Hive and HDFS (running on AWS S3) to perform complex ETL queries on data in Redshift.
- Packaged ETL code into Docker containers stored in AWS ECR and executed in ECS and fired by Cron events. Docker containers were orchestrated with Docker Compose.
- Enabled CI support with CircleCI.
- Ensured that the ETL delivery times didn't take more than 1.5 hours consistently; previously, it was taking too long due to forced unloads.
Postdoctoral Researcher2016 - 2016Donald Bren School of Information and Computer Sciences | University of California, Irvine
Technologies: Python, Java, Bash
- Was involved with the ongoing research of combinatorial optimization in online advertising.
- Created novel concurrency and interprocess synchronization methods for parallel and distributed computing.
- Developed batch-size selections for stochastic gradient descent.
- Designed spot market clearing mechanisms for transportation spot markets.
- Built an agent-based framework for general distributed computation.
Graduate Student Researcher | Teaching Assistant2010 - 2016Donald Bren School of Information and Computer Sciences | University of California, Irvine
Technologies: LaTeX, Python, Java, Android, Bash, C
- Worked on several optimization and parallel execution themed papers.
- Participated in several smart city projects with researchers in China and the UK.
- Developed a mathematical model and analysis of sequential ad polling. Implemented an algorithm making use of the model that guaranteed bounded sub-optimality (with respect to expected value given a time budget). Wrote a conference paper, journal paper, and a dissertation with these findings.
- Assisted in introductory computer programming, and discrete mathematics courses. In particular I have worked on introductory and intermediate Java, C, and Python courses.
- Performed significant research on thread and process synchronization and low-level inter-thread message passing constructs.
Advanced Engineering Intern2015 - 2015CalAmp Wireless, Inc.
Technologies: Java, JUnit, Spring, Spring Boot, Spring Integration, AWS, AWS Kinesis, AWS SQS
- Designed, planned, implemented, and tested a new release of the company’s (M2M/MRM) cloud infrastructure back end.
- Ensured that the release was fault-tolerant, recoverable, scalable through integration with Amazon Web Services (AWS) and that the message triggered execution was dynamically reconfigurable.
- Implemented and A/B tested the AWS Kinesis and AWS Simple Queue Service (SQS) based solutions to persist and load-balance incoming traffic.
- Worked on a project that was a dynamic message router implemented for direct integration into a Spring-integration environment.
- Developed the router component which was a meta-construction allowing each Spring Integration component to determine what the next procedural step to execute on the output of the current step should be and then routing it.
Software Engineering Intern2014 - 2014Adaptive Medias, Inc.
Technologies: Python, Flask, Java, Scala, Hadoop, Hive, Cloudera, RESTful Web Services, MALLET Classification (Machine Learning)
- Developed a heuristic optimization solution for the ad-ordering problem written in Java. The solution was deployed into production for determining advertising waterfalls for users.
- Wrote a RESTful web application in Python Flask to accept web-domain URLs and classify (using MALLET) the semantic content into IAB tier 1 categories. This was deployed into production as a web service and was at the heart of the main aim of a sprint.
- Worked in Scala with the Cloudera package of Hadoop to write Spark code to perform log aggregation. Terabytes of event logs relating to customer interactions were condensed into lifecycle objects and written to disk.
- Ensured that each of these three projects was released into production as web microservices and that each was developed as a Git branch and successfully incorporated into the development process and subsequently operating branch.
- Developed and compared with a team alternative mathematical models for classifications—as part of the classification work.
Web Application Developer2010 - 2010Intellisurvey, Inc.
- Designed and implemented new features and enhancements to the Intellisurvey software (in Perl and mod_perl).
- Found and resolved software defects—debugging and feature creation through an in-house ticketing system.
- Assisted in the development of the Intellisurvey infrastructure.
- Created tools to aid in development, testing, and systems administration.
- Provided technical support to internal software users and to clients who use licensed Intellisurvey software tools.
Research Assistant2009 - 2010University of California, Irvine
- Installed, configured, and populated a PostgreSQL database with heterogeneous data sources; also developed a JSP front end.
- Linked data sources on the basis of common fields and meta information.
- Optimized MATLAB algorithms for dynamic network flow optimization.
- Wrote C functions called from the MEX interface of MATLAB.
- Wrote a highly optimized Djikstras shortest-path algorithm in C and bound it in MATLAB—it was over 100x faster than the MATLAB equivalent.