Education

Computer Science - Bachelor of Science, Minor in Physics

June 2016

University of Washington – Seattle, WA

GPA: 3.82, Graduated Cum Laude

Work Experience

Software Engineer - GCI Incorporated - Reston, VA

2017 - Current

Cross-Platform Development

Worked with ~5 other developers building and maintaining a cross-platform Windows/Linux automation tool written in Java that helped government employees move and track critical data.

Implemented new features and fixed bugs tracked through JIRA in 3-week sprints.

Tracked changes with Git/Bitbucket, performed code reviews through Upsource.

Maintained Gradle build configurations and set up a Jenkins automated build server.

Designed and implemented user interfaces, from Photoshop mockups to final Java/CSS.

Ran demos for key stakeholders.

Mobile Development

Was lead developer on an Android app for tracking inventory using NFC (near-field communication) tags.

Designed and implemented touchscreen user interfaces.

Handled integration with GPS, camera, and EXIF APIs for automated geotagging.

Handled importing and exporting data from SQL databases and NFC tags.

Web Development

Worked with ~5 other developers to build two desktop applications with JavaScript/Electron/Angular web technologies: 1) a front-end for sending large collections of files globally over IBM Aspera, 2) a database browser tool for exploring Android SQL databases.

Teaching Assistant - Computer Science Department, University of Washington - Seattle, WA

Spring, Autumn 2015

CSE 344 Introduction to Data Management, CSE 414 Introduction to Data Management (for non-CS majors) For each course, helped teach students about databases, SQL, XQuery, transactions, MapReduce

Programming Counselor - TIC Summer Camp - Bethesda, MD

Summers 2010 - 2012

2 summers as a programming counselor for groups of junior campers, ages 7 to 11, and groups of senior campers, ages 12 to 15, teaching introductory programming with Logo, Python, and Java. 1 summer as a staff assistant.

Technical Skills

Java (4 years professional)

Gradle / Groovy, Android, JDBC & SQL database integration, Java 11 & Streams API, JUnit Testing

Python (2 years professional)

NumPy, Jupyter Notebooks, Django Web Framework & Object-Relational Mapping (ORM), pip & modules

JavaScript (3 years professional)

Node.js, Angular, Build Configuration (Babel, Sass, Express), Electron, JQuery, Lodash, WebSockets, Ajax, async / await

SQL (3 years professional)

AWS, Microsoft Azure, PostgreSQL, SQLite

Linux (3 years professional)

Bash Shell Scripting, Virtual Machines & Remote Hosting (ssh, systemd), Ubuntu, Arch

C++ (3 years)

Qt, OpenGL, Boost, Multithreading (thread API, mutexes, locks)

Source Code Management & Automated Build Tools (4 years professional)

Git (GitHub, Bitbucket), Jenkins, Upsource

JIRA / Atlassian Confluence (2 years professional)

Machine Learning

University Course CSE 446 (Machine Learning)

Verilog / FPGAs

University Course CSE 352 (Hardware Design & Implementation)

Personal Projects

Dominion Bot Arena

See a live demo at: dominionbotarena.com

Source Code: github.com/chadsprice/dominion-bot-arena

A web app for playing the card game Dominion against artificial intelligence or other people online. The server and artificial intelligence are written in Java. Uses an embedded Jetty server with WebSockets to support many simultaneous players and games. The client-side browser UI is a single-page app written in JavaScript, which also has a login and matchmaking system.

Browser Remote

Source Code: github.com/chadsprice/browser-remote

Allows users to remote control a computer's keyboard from their web browser. Runs as a self-contained Java web server on the host's computer with a Swing UI for managing connected clients and enabled controls. The client-side web interface supports keyboard and touchscreen inputs.