Python Developer in San Francisco, CA, United States
Senior Consulting Engineer2017 - PRESENTInnovikas, LLC
Technologies: Full-stack web development, React Native, Smart contracts, Django, Flask
- Developed web applications and prototypes with Django/Flask and React.
- Built React Native mobile applications leveraging native OCR technologies for document recognition.
- Served as technical advisor to clients for data architecture, infrastructure, security, and performance.
- Effectively managed a small team of developers and designers working with several clients.
- Developed smart contracts and testing services for both clients and open source projects.
Senior Software Engineer2014 - 2018MemSQL
Technologies: Golang, Python, React, C++, MemSQL, AWS, Azure, Apache Spark, Apache Kafka, MySQL
- Designed and implemented a secure protocol to allow web browsers to connect directly to MemSQL and MySQL databases over websockets.
- Built a managed solution for running MemSQL in the cloud with automated backups, rolling upgrades, and data redundancy.
- Created MemSQL Streamliner, leveraging Apache Spark to ingest real-time data into a MemSQL in-memory database.
- Developed tools for installation, configuration, and management of the MemSQL distributed system.
- Designed MemSQL Pipelines to support ingesting real-time data streams into MemSQL.
Product Development Intern2013 - 2013Rise Labs
Technologies: Flask, Knockout.js, numpy, matplotlib
- Developed core platform for food logging and nutritional analysis.
- Performed exploratory data analysis to find possible trends in activity, weight loss, and habits using numpy and matplotlib.
- Facilitated user testing to iterate on app design and new functionality.
- Built a service to handle ad-hoc image resizing and storage for user-uploaded meals.
- Worked with design team to build and A/B test interface changes and new features.
Data Warehousing and Analytics Intern2013 - 2013AdRoll
Technologies: Erlang, Java, Apache Storm, HyperLogLog, Django
- Worked on the data science team to process real-time log data from advertisement bidders on Google, Facebook, and Yahoo ad networks.
- Extended Apache Storm real-time data processing framework to allow for instantaneous parameter tuning and real-time alerts from incoming log data.
- Identified and mitigated bottlenecks in Apache Storm processing using performance analysis techniques and modifying node topology.
- Helped design HyperLogLog structure used to power advertiser dashboards.
- Augmented internal Django dashboard to allow engineers to tune Apache Storm parameters at runtime.
Forward Deployed Engineer2012 - 2012Palantir
Technologies: Java, Swing, Backbone
- Built extensible dashboard editor tool for Palantir Health team to be used for drug pipeline analysis, medical fraud detection, and disease outbreak analysis.
- Modified dashboard layout algorithms to support an order of magnitude more objects on screen.
- Extended testing infrastructure to performance test layout algorithms with large datasets.
- Explored and optimized sequencing techniques to allow for faster indexing of ergonomic datasets.
- Helped port core Palantir platform to HTML5, allowing for faster feature iteration and wider support for customers.
- Metamorphosis (Development)https://github.com/choochootrain/metamorphosis
A browser experiment in WebGL and procedural generation. Builds an infinite terrain to explore with levels of detail rendering and multiple generation algorithms.
- MemSQL Spark Connector (Other amazing things)https://github.com/memsql/memsql-spark-connector
An open source connector that allows bidirectional communication between Spark data frames, and MemSQL tables.
- Rise - Nutrition & Weight Loss Coach (iOS) (Development)https://itunes.apple.com/us/app/rise-nutrition-weight-loss-coach/id794278760?mt=8
Worked on team building food logging app Rise - built with PhoneGap, Knockout.js, and Flask.
- Critical Bugfix to Apache Spark 1.6.0 (Other amazing things)https://github.com/apache/spark/pull/9779
Sometimes in my work, I'm required to deep dive and identify bugs in dependencies. In this case, I tracked down and patched a critical bug in Apache Spark 1.6.0 which was causing task failures on a single executor to propagate to the master and take down the cluster.
- MemSQL Pipelines (Development)https://www.memsql.com/pipelines/
Native support for streaming real-time data into MemSQL. Pipelines are extensible and can extract and transform data from a variety of sources, with Apache Kafka and AWS S3 support by default. The runtime is built natively into the MemSQL engine with a dashboard build into MemSQL Ops for management and monitoring.
FrameworksDjango, Flask, React Native, Express.js
ToolsGit, Terraform, Figma
StorageMemSQL, MySQL, PostgreSQL, SQLite
- Bachelor's degree in Electrical Engineering and Computer Science2010 - 2014University of California, Berkeley - Berkeley, CA