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.