Spencer Hawkins

(redacted for github)

Experience

System Validation Automation Sr. Engineer — Tesla — Palo Alto, CA Apr 2017 - Present

Write Python, Go and C to automate system-level testing of OTA (Over-The-Air) updates on all Tesla vehicle platforms. Coordinate between multiple teams to design, develop, and test Model 3 OTA specifications and behaviors. Design and develop python and web user interfaces to aggregate, analyze, and organize data from firmware update logs to drive firmware release signoffs. Regularly review, analyze, and validate Python, Go, and C-based firmware changes.

System Validation Automation Engineer — Tesla — Palo Alto, CA Mar 2016 - Apr 2017

Design and develop test plans and test cases related to over-the-air updates at a system and component level. Implement continuous integration tools to test and deploy internal Python packages on commit. Work with issue tracking software (Atlassian suite: JIRA, Confluence, Stash) to report, document, and resolve firmware bugs and issues, and validate their fixes.

System Validation Automation Intern — Tesla — Palo Alto, CA Summer 2015

Designed and developed web-based test reporting dashboards (MongoDB, Flask, Bootstrap, rivets.js). Worked with many teams with diverse needs to implement python client interfaces between testers, test reporting software, and test result dashboards.

Firmware, PCBA Validation Engineering Intern — Tesla (formerly Tesla Motors) — Palo Alto, CA Jan 2014 - Aug 2014

Wrote Python for testing automation and build / test automation infrastructure. Automated manual hardware tests and ECU application and bootloader validation processes. Collaborated with firmware engineers to design bootloader specifications. Created NI LabVIEW FPGA modules for real-time hardware data acquisition. Used NI LabWindows and LabVIEW CVI to create software interfaces for hardware testbeds. Wrote regression tests for hardware / ECU application validation. Wrote HTTP API clients for various web interfaces (Atlassian Stash, IBM Jazz / RQM). Collaborated with large teams to implement well-documented Python CAN / UDS utilities.

Electronics Technician, Microcontroller Programmer — Precise Circuits — Dallas, TX Sep 2011 - Jan 2014

Loaded circuit boards with components, soldered loaded circuit boards (Through-hole and surface-mount). Tested physical aspects of circuit boards (QC), troubleshooted malfunctioning circuit boards. Managed PHP/SQL-based parts catalog. Wrote C-based firmware for projects utilizing the dsPIC2011 / dsPIC3011 microcontroller families. Collaborated with clients to design, develop, and test embedded state-machine firmware.

ISAAC Project Engineering Intern — Jet Propulsion Laboratory ( NASA / JPL / CalTech ) — Pasadena, CA Summer 2013

Set up and managed internal networking for the ISAAC Project. Implemented and maintained an Ubuntu server (Drupal, MediaWiki, NFS, LDAP, DHCP) and 6 Ubuntu workstations. Designed and implemented new online applications for the ISAAC project. Collaborated with FPGA developers on hardware and software projects. Contributed to wxPython-based GUI for FPGA Interfacing. Assisted in dsPIC33F development for CubeSats using MPLAB8.

Programming, Build, and Drive Crew — FIRST Robotics Team 3735 — Tomball, TX 2010 - 2011

Wrote JAVA code for autonomous and controlled modes of operation on National Instruments CompactRIO. Collaborated to Design, build and troubleshoot hardware and software in a team environment. Operated robot during competitions. Adhered to safety rules and regulations during competitions.

Education

University of Texas at Dallas — 3.4 Cum. GPA — Computer Science B.S. — Class of 2015

Skills

Python
Javascript
Node.js
Express
Serverless
Atlassian Suite
Jenkins / travis-ci
Git
HTML / CSS / SCSS
Flask / Gunicorn / Tornado
PostgreSQL / SQL / SQLite
MongoDB

Projects

MTGA Trackermtgatracker.com — Lead Developer Jan 2018 - Present

Cross-platform Electron application backed by local python websocket API and webtask.io API. Parses rapidly-evolving black-box log files in real time to distill and convey meaningful information to users. Includes a web-based, passwordless-auth application, with a unique, self-designed model of trust in a system that does not offer OAuth. Utilizes browser-automation tools to scrape js-required websites. Uses discord.js to manage authentication & moderation commands for a 250+ user server (and still growing).

GitSubmitGitSubmit.com — Team lead, Developer June 2015 - Nov 2015

Led team of 4 to take second place in UT Dallas 2015 Senior Design Competition. Developed and created project pitch and design documents, successfully pitched abstract to be selected by Senior Design committee as a team lead (usually reserved for established companies). Managed development of full-stack python / web application across a small team of 4. Created, scheduled, and delegated stories and tasks using github issues to emulate issue-tracking software. Implemented continuous integration practices to automatically test new code changes. Developed both backend (API) and frontend (UI) tests using Robotframework. Managed Jenkins deployment.

Selected Technical Writing

Choosing the last clickData event from a list of graphs in plot.ly dashLink — Self-hosted gist March, 2018

MTGATracker's Serverless Backend Powered by Webtask.ioLink — Auth0_Extend blog June, 2018

Report: Exploring Weekend EventsLink — MTGATracker blog August, 2018

References

Available on request