Personal Resume

Skills and Achievements

Education

University of Maryland, College Park - College Park, MD
2010-2014

B.S. Computer Science, B.A. Linguistics Double Degree

Work Experience

Independent Consultant
January 2023-Present

Consultant specializing in complex refactoring projects. Think you have a problem I can help with? Let's talk!

Full Stack Engineer
October 2020 - May 2022

Responsible for designing anddeveloping new features across the stack, including complex work with FFMpeg. Also responsible for maintenance of a complex legacy codebase, involving work in SQL, Python, Ruby/RoR, HTML, CSS, and Javascript, and tracking bugs down across repositories and languages, and without documentation.

NLP Engineer - Colabo
May 2018 - October 2020

Natural Language Processing engineer responsible for redesigning core sections of the codebase, as well as developing algorithms to process and understand domain-specific short sentences. Also took responsibility for mentoring new employees in how to use Linux, as well as more generally.

Programmer – Israeli Air Force
July 2017 - January 2018

Volunteer for the Israeli Air Force responsible for a wide variety of tasks including signals processing, low-level drone work, and website design, including OSD customization for a drone. I also took initiative and created and taught several classes on aspects of professional programming and computer science theory.

Software Engineer - Driveway Software
December 2016 - May, 2017

At Driveway, I was a backend engineer responsible for several aspects of the data pipeline, working in Python. In addition to maintaining the API, I was responsible for building automated FTP import solutions for our data, as well as integrating with third party APIs. I also built and maintained SQL queries, both within an ORM framework and in raw SQL when that framework fell short. I left Driveway when my draft date arrived.

Software Consultant - Vane, Inc
January, 2016 - December 2016

I built a machine learning prediction system for natural language data. I was also responsible for improving the data sanitization process, including using Python/spacy to semantically analyze sentences and extract relevant parts. I also used web.py to build a QA webpage, and built and workerized a part of the data extraction process using supervisor, a Python module designed for workerization.

Software Developer - Jibe, Inc
June, 2014 - December, 2015

Straight ruby hacking with an emphasis on reading, understanding, and refactoring others' code. I built client systems at Jibe using a design philosophy revolving around functional programming and extensibility. Later I switched to maintaining and upgrading a diverse set of codebases while balancing code improvements and client needs. This included finding and fixing silently failing systems as well as complete refactors of our oldest and most complex codebases.

Other Experience

UMD Fencing Club
Fall 2015 - Spring 2016

Volunteer epee coach, responsible for individual and group lesson plan design, mid-tournament coaching, and general student advising.

Personal Projects

Autohighlight

Autohighlight is a program I wrote in Ruby to extract 10-second clips of scoring actions from a full day's stream footage. It uses ffmpeg to convert the stream into individual frames, then tesseract to identify when the score changes, and to extract other metadata. Then it takes these clips and combines them together into a single video that just contains the ten seconds before every touch scored in the tournament.

Fencing Database

I also take the clips, along with their metadata, and upload them to gfycat. The frontend to this database is The Fencing Database, where you can view the clips and associated stats, both automatically generated and crowd-sourced.