Director of Infrastructure Engineering
Oct 2013 - current
We maintain the infrastructure that runs the Ruby on Rails webapp (built on top of AWS, provisioned with Terraform and Ansible), build alerting and monitoring (using Sensu and Librato), carry the pager, and train the rest of the developers on how infrastructure works so that all the full-stack engineers participate in DevOps.
Some of the specific company-wide changes that I initiated:
\* A well-defined process for training full-stack engineers in infrastructure engineering.
\* A specific company policy for compensating engineers for carrying the night-time pager.
Some of the specific technical projects that I led:
\* Migrate the infrastructure from EC2-Classic to VPC
\* Migrate background job processing from on-demand to spot instances
\* Build basebackup, restore and failover infrastructure for Postgres
\* Application error reduction sprints
\* Infrastructure cost reduction sprints.
Previous experience at Academia.edu as Software Engineer and Data Scientist:
\* Conducted an internal study and published a peer-reviewed paper that quantified the impact that the company's products have on the users' academic careers
\* Wrote and managed a multi-step automated data collection process across a cluster with hundreds of machines using Ruby and Node.js
\* Prepared thousands of data collection tasks to be completed by many human workers on Mechanical Turk
\* Managed a team that consisted of a Data Scientist and a Data Engineering Intern
\* Developed and deployed supporting infrastructure - PostgreSQL & Sidekiq on EC2.
Software Engineer - Consultant
Jan 2010 - Oct 2013
\* Finished and launched an MVP AirBNB clone.
\* Managed scaling issues as press coverage increased site load.
\* Implemented a messaging system using Ruby EventMachine and Amazon Web Services.
\* Implemented a system for synchronizing datasets provided by external partners with an internal database.
\* Developed an MVP iOS app for discovery of local events.
\* Developed an MVP that aggregates user's friends' profiles across most popular social properties (Facebook, Twitter, Instagram and Foursquare) and provides a centralized search interface.
\* Used Ruby on Rails for speed of development
\* Developed a new web tier for a large Java/J2EE application that provides large enterprises with fine-grained access control over material non-public information.
\* Used JRuby for compatibility with existing stack.
Jan 2011 - Sep 2013
Every couple of months I teach a class in modern technologies to students that are interested in maintaining their technical skills sharp and current.
\* Ruby on Rails
\* iOS Programming
\* Data Science using Python
Jan 2011 - Jan 2013
I tutor all levels of Computer Science, Web Development, the Russian Language, Mathematics, Physics and Philosophy.
Cofounder and Director of Research
May 2007 - May 2008
Directed machine learning research and development efforts at Eluciv Knowledge, a startup focused on reducing information overload. The initial product was going to be a reader for syndicated (RSS/Atom) feeds, with planned advanced features such as implicit acquisition of user's interests, recommendations using collaborative and content-based filtering, and sorting by personal relevance. The team consisted of three co-founders.
\- Led the planning of scaling the adaptive feed reader product, which would scan and store a large number of feeds, and provide specific article recommendations to individual users.
\- Researched free and commercial machine learning libraries and clustering packages such as Weka, CLUTO, Carrot2 and Lemur, and evaluated the possibility of adapting them as engines for determining personal relevance.
\- Researched parallel and distributed computing platforms such as Amazon Web Services, Apache Hadoop and Google MapReduce.
\- Primary contributor in the development of the product vision, the business plan and the revenue model.
\- Designed and developed a prototype content archiver and delivery system using Amazon Web Services (S3, EC2, SimpleDB). The system was written in C and Python.
\- Built an alpha version of the product that won a highly sought after YCombinator funding round. Used Ruby on Rails for speed of development.
Machine Learning Researcher
Net-Scale Technologies, Inc.
Jan 2008 - Jan 2008
Extended and maintained the codebase of a convolutional neural network package for the DARPA URGENT program (Urban Reasoning and Geospatial Exploitation Technology). URGENT classifies images as objects based on 3D image data acquired through aerial and street-level photography. The team consisted of two members.
\- Implemented an extension for finding polygons in neural network output bitmaps using OpenCV, an open source computer vision and computational geometry package
\- Wrote a visualization package for 3D pointcloud data.
\- Trained and tuned the neural network; wrote reports on test runs; programmed a separate classifier specifically for learning the groundplane
\- The legacy codebase used Lush, an in-house dialect of Lisp. I integrated the Lush system with a larger C system used by another DARPA contractor.
Senior Software Engineer
The Confidentiality Group
Aug 2000 - May 2007
First employee at a company serving top-tier investment banks and other highly regulated large enterprises. Designed and developed the flagship product, which is a platform for customers to ensure that they remain in compliance with auditing and information access laws and regulations. The platform provides an entitlement and storage engine for confidential electronic documents. It ensures that all user access to documents through email, web applications, and filesystems, goes through a flexible and powerful authorization and reporting layer. The team grew from two to seven members over time.
\- Implemented several iterations of the entitlement engine which supported fine-grained and fully versioned access control. The engine ran on JBoss AS, with Hibernate and MySQL providing persistence.
\- Designed a cross-browser AJAX framework (jQuery was not yet available) and implemented several iterations of the UI used for the entitlement engine.
\- Designed, implemented and maintained a set of Citrix Client and Microsoft Office plug-ins that seamlessly incorporated editing and emailing confidential documents into the user's natural workflow.
\- Implemented client-specific requirements and integrated the product with clients' in-house infrastructure.
\- Supervised testing and performed monthly on-site rollouts.
Volunteer Instructor - after-school program
Stuyvesant High School
Jan 2006 - Jun 2006
Taught college-level artificial intelligence topics twice a week after school to gifted 12th-graders at my alma mater.