Software Engineer
2017 - 2017Syllable (via Toptal)- Developed various distributed microservices to support the core user, authorization, and admin functionalities with Node, Lambda, DynamoDB, S3, Redis, and Serverless.
- Developed a distributable JavaScript bundle with React, Redux, and Webpack for adding a chat window to any website.
- Expanded an admin dashboard web application for managing various services and components.
- Defined engineering best practices by bringing in testing frameworks, consolidating common libraries, and setting up continuous delivery pipelines.
- Set up back-end service log aggregation and client-side monitoring.
Technologies: Serverless, Redis, Amazon S3 (AWS S3), AWS DynamoDB, AWS Lambda, Node.js, Webpack, Redux, ReactCo-Founder
2016 - 2017Advencha, Inc.- Designed a JavaScript web application framework with JavaScript ES6, Joi, Express, and Firebase that expedites the process to set up and develop on contracted microservices.
- Created an acceptance testing framework with JavaScript ES6 and Cucumber to easily write and run HTTP requests and assert values on responses.
- Built a data pipeline to download, analyze, and store information from PDFs using Python, Pytesseract, Wand, and ImageMagick.
- Configured continuous deployment pipelines for all services within Kubernetes.
- Set up a reverse proxy with Nginx to download and cache external images over HTTPS to ensure that all connections made from websites are secure.
Technologies: Let's Encrypt, Pytesseract, Python, Docker, Kubernetes, Firebase, NGINX, Cucumber, Joi, React, Express.js, Node.jsSoftware Systems Engineer, Intermediate
2014 - 2016Yahoo- Wrote provisioning and deployment microservices in Node.js to directly integrate the platforms as a service offering into the build system.
- Became a subject matter expert for a companywide initiative to continuously deploy all Node.js applications.
- Contributed to the Chef Cookbook to manage and configure 200+ machine Jenkins Cluster.
- Implemented a Chef library to automate the process of detecting and restoring unhealthy machines in the Jenkins cluster which eliminated the need for developer interaction.
- Helped the lead developer in rewriting and open sourcing the internal build system (http://screwdriver.cd).
- Extended the functionality of external services that were available during builds; learned Bash, Docker, and Go.
Technologies: Amazon Web Services (AWS), RHEL, AWS, Docker, Kubernetes, Jenkins, Bash, Joi, Hapi.js, Chef, Ruby, Go, JavaScript, Node.jsSoftware Engineering Intern
2013 - 2013Yahoo- Wrote Chef Cookbook recipes to configure and manage the enterprise level Chef server.
- Learned the Agile framework and methodology through participation in daily standup and logistical meetings.
- Was exposed to test driven development, pair programming, and developer experience best practices.
Technologies: Git, Bash, JavaScript, Ruby, ChefNaval Engineering Education Center (NEEC) Researcher
2011 - 2013University of Michigan, Perceptual Robotics Laboratory- Enhanced a graphical viewing display in C++ that enabled a real-time view of published data in the messaging system. The research project was to autonomously land a quadrotor drone on a moving Segway by using onboard video streams, accelerometer data, and April tags for target detection.
- Presented the project at NEEC conferences and was awarded second place for best student undergraduate project.
Technologies: Google, Computer Vision, OpenGL, C++Data Management Automation and Tools Intern
2012 - 2012Autodesk- Programmed the C# framework for extracting statistics on data sets and selecting data set testing.
- Exposed the statistics framework in a unit testing API.
- Added a scheduling functionality in PHP to an internal website used for booking infrastructure.
Technologies: PHP, Unit Testing, C#