Skills

C++

C++ was one of my go-to languages as a student and for personal projects. I've used C++ to work on projects such as an implementation of a Genetic Algorithm to find TSP tours, a Multilayer Perceptron for digit classification, and a PageRank file search program.

Java

Java was my first programming language and I've used it for countless projects since 2013. I have experience working with JDBC, JSPs, and Servlets for web development and I've also implemented Java projects using Object Oriented Programming, multithreading, and networking principles.

C

I've worked with C over three semesters in Embedded Systems, Computer System Organization, and Operating Systems classes. Some of the projects I've worked on with C include an Explicit Free List memory allocator, a cache simulator, a CPU scheduler, and a thermostat state machine using an Arduino.

Python

I've taken three semesters of classes taught in Python and have begun using it as one of my primary languages for personal and professional projects as well. I've used Python to implement an NCAA Football ranking program, a Flask REST API, and several machine learning projects.

NodeJS

I've used Node to build several RESTful APIs as an intern and for personal projects. Some of the services I've built with Node include a User Management server and an application for generating pdf reports from JSON. The back-end for my delivery route optimization project is also written mostly in Node.

ReactJS

React is the front-end framework that I have the most experience with - I've taken an online web development course taught in React and have used it in two of my internships as well as for personal projects. As such, I am comfortable building my front-end components in React and have a strong grasp of its main concepts.

CSS

I primarily use pure CSS3 for styling my web pages but I have worked with Bootstrap 4 for class projects (and previous iterations of this website) and am open to learning and using other frameworks too. Many of the elements of this website make use of newer CSS3 features like CSS Grid.

MySQL

Most of my work involving databases has been in relational databases using MySQL. I used MySQL (and Postgres) during my time as an intern as well as for personal and in-class projects. Check out my Shelter Seeker project to see a schema that I helped design!

AWS

I have used AWS in personal and professional settings to deploy websites, APIs, containers, and more. I've gained lots of exposure to services including EC2, S3, Lambda, IAM, and CloudFormation and am always learning new ways to use the platform. This site is currently hosted on an AWS EC2 instance.

Bash

As I've learned more about deployment, I've started using shell scripts to set up environments and automate tasks. As such, I've taught myself the basics of Bash and am comfortable writing simple shell scripts for managing files and deploying applications.

Mongo

I've used MongoDB for my personal projects and as an intern. I mostly picked up Mongo by reading its documentation and by using it as the primary database for my delivery route optimization project. I also have some experience working with the Mongoose ORM as an intern.

PHP

I've used PHP as an intern in a professional setting to implement back-end capabilities for a large-scale website. Most of my experience with PHP has been using the Laravel framework. The back-end for this site was originally written in PHP, although I have since moved to a NGINX and NodeJS stack.

Cucumber

I first began practicing test-driven development using Cucumber (and Capybara) on a web application as part of a semester-long group project. I've written countless black-box tests with these frameworks to guarantee compliance with stakeholder requirements and ensure the stability of releases.

Swift

I taught myself the basics of SwiftUI and have built a few basic iOS apps (mainly for learning and prototyping purposes) with it. I've also used Swift and UIKit to help build a mental health app during a semester-long team project at USC. I've learned a lot by following Hacking with Swift's 100 Days of SwiftUI and Stanford's Spring 2020 CS193p class on YouTube.