Preston Carroll

Software Engineer | Computer Science Graduate



About Me


Card image cap

Preston Carroll


Developer
Seattle, WA
LinkedIn
Github
prestondcarroll@gmail.com


Skills

Proficient :

Java | C | Javascript | HTML | CSS | SQL

Familiar :

Python | C#

Frameworks / Libraries

React | Android SDK | Jest | MongoDB | PostgreSQL | MySQL | Node.js | Express | RESTful APIs

Tools and workflow

Git | Linux | AWS(EC2, S3) | CI/CD | Agile Methodology | Trello | Loader.io | k6 | New Relic


Summary


I’m an accomplished software engineer driven by my passion for learning and bringing new ideas to life. I find impacting people’s lives satisfying as I’ve experienced through customer service. I plan to use my background in computer science and web development to build software that has a positive impact.

Recently, I developed full-stack web applications at Hack Reactor using the MERN / PERN stack. I enjoyed the process of devising solutions with new or old technologies, collaborating with a team of engineers, and meeting client requirements to fulfill their current needs. I wish to continue exercising my problem-solving ability and make even greater projects next time!

Education


Western Washington University
June 2016 - December 2018

Bachelors of Science in Computer Science, Math Minor
CS GPA: 3.60 CGPA: 3.40

Hack Reactor
June 2021 - September 2021

Software Engineering Immersive Program


Experience


Home Electronics Clerk / Fred Meyer - Kroger Inc.
August 2019 - May 2021

  • Reached top 3 out of 15 stores in the district for sales through recurring public announcements and outstanding customer service.
  • Adapted to sudden annual peak of traffic caused by the pandemic by assuming a multitude of roles (e.g. cashiering, store pickup, etc.)
  • Ensured minimal interference of customer experience through complete department remodel.


Research Assistant / Western Washington University
January 2018- December 2018

Capstone Project - Researched procedural content generation (PCG) to improve AI’s ability to recognize human activities

  • Accelerated data collection by 200% by building an environment generator in Unity.
  • Engineered a complex process for generation through research of other PCG designs and using the logical programming language Prolog.


Projects


Harmony

Full-stack Web App

Technologies/Libraries Used :

React | Redux | Bootstrap | Node.js | Express | AWS EC2 | S3 | MongoDB | Firebase

A web application serving as one part music sharing network, and one part audio mixing workstation. It allows users to upload songs, mix audio recordings, and share them to a central home feed by marking as published. Then, as another user you can import their songs and mixes to create your own tracks. Each user has their own specific data and tracks that you can browse.

Achievements

  • Planned project as team architect, designed schema for MongoDB, conducted code reviews, and set up continuous testing with CircleCI.
  • Organized specific user data through Firebase Authentication and AWS S3, allowing users to have personal images and songs.
  • Managed various state transitions such as site theme and simplified component data sharing through centralized Redux store.
Card image cap


Project Catwalk

Full-stack eCommerce Web App

Technologies/Libraries Used :

React | Node.js | Fastify | PostgreSQL | AWS EC2 | Styled Components | Loader.io | k6 | New Relic

A full-stack eCommerce web app for browsing clothes and constructing outfits. A related products, an outfit section, and a questions and answers section are below for browsing. The backend was reconstructed from a previously monolithic structure into microservices where I implemented the Question and Answers API.

Achievements

  • Translated user interface documents with React for modularized design and styled-components for consistent CSS.
  • Utilized Jest testing framework with CI/CD pipeline to expedite development for 2-week delivery deadline.
  • Built new RESTful API that handles 2000 requests per second with 0% error rate, and 148ms average response time.
  • Analyzed server performance with New Relic monitoring, refactored Fastify server, and reduced PostgreSQL query time by 99%.
  • Instated AWS Elastic load balancer and auto-scaling across 3 EC2 instances to manage web traffic spikes and prevent unnecessary server costs.
Card image cap


Open IR Security

Android App

Technologies/Libraries Used :

Java | Android | Firebase | Arduino | JSON

An open-source software and hardware system that combines the portability of an Android phone app with infrared motion sensors. It allows users to monitor the security and safety of their homes from any location around the world. Data moves back and forth between an Arduino microcontroller, a Firebase Server, and Android. On the app, users can log in, modify sensors, and monitor information & alerts. Shoutout to my former classmates Kalvin, Gus, Dagmar, and Steven. Card image cap


Pokedex & Team Builder

React Web App

Technologies/Libraries Used :

React | React Router | Node.js | Express | PokéAPi | MaterialUI

A web application built in two days for sorting through every pokemon and constructing a team. You can search to find any pokemon and their abilities, then add them to your team. On the sidepane you can click to view a chart of your current team's weaknesses and resistances to gauge how well-rounded it is. Card image cap


Online Chatroom

C Client-Server Application

Technologies/Libraries Used :

C | Unix | TCP/IP

A simple online chat application where up to 255 participants can connect and send messages to each other. It supports private messaging between users. It utilizes the select() linux function and the UNIX socket API to keep track of the clients.


Micro-Make

C Bash Command

Technologies/Libraries Used :

C | Bash | Linux

This program is a simplified implementation of the Unix "make" functionality. Make is useful in automatically compiling parts of a project and recompiling parts that are out of date. For large projects, this tool is very valuable for simplifying the compiling process. It supports, command-line parsing, variable processing, input/output redirection, and pipelining.


Deadwood Board Game

Object-Oriented Java Game

Technologies/Libraries Used :

Java Swing | XML | UML

This program is a digital version of the board game Deadwood by Cheapass Games. It supports 2-8 players and focuses on object-oriented design. Before implementation, the classes, class diagrams, objects, user diagrams, sequence diagrams, and use cases had to be decided. The GUI version uses the Java Swing libary with a model-view-controller pattern.


IoT Home Automation

Arduino Smart Home Simulation

Technologies/Libraries Used :

Java | Arduino | Raspberry Pi | Node Red

This project simulates an automated house that can respond to specific events and collect data within the house. By transmitting data between microcontrollers, circuit boards, and a Node-Red Server, this house has 7 different sensors/actuators that are all connected.

Card image cap


Birds & Beans

Python Game

Technologies/Libraries Used :

Python | Pygame | NumPy

This is a fast-paced game from the Nintendo DSi that I have rebuilt from scratch in python using the pygame libraries. The game is called Birds & Beans, and you play as a bird called Pyoro who spits seeds at beans that constantly drop from the sky. Spitting beans contribute to your score while missing beans will block the path for Pyoro to walk on. Getting hit on the head by a bean means game over.


Contact Me!


Get in touch!

Contact Information

  • Seattle, WA
  • prestondcarroll@gmail.com