PhD in Computer Science
Software Engineer
My name is (Johnathan) David Smith. Over the past decade, my career has taken a number of unexpected turns. A Software Engineer by trade, I received my Bachelor's while working alternately as an assistant for Dr. Nathan Jacobs on geometry in Computer Vision and as a summer intern at IBM. Following this, I pursued a doctorate at the University of Florida, studying Approximation Algorithms & Social Network Analysis under Dr. My T. Thai. After a long and interesting journey, I defended my dissertation in March 2020 and graduated May the same year.
Over the course of my career, I've explored many of my interests. I have spent many a day designing and implementing approximation algorithms that are efficient not only in theory but also in practice, and have developed a sizeable repertoir of skills and tools to evaluate program performance. At the same time, I have honed my skills in data analysis and visualization, having used both in my evaluation of program performance—and additionally in my independent work on community formation in social networks.
Outside of work, I am an avid gamer, electronic music afficionado, and casual student of Brazilian Jiu-Jitsu. I am currently the team lead and main tank for Occasional Excellence's weekend team in World of Warcraft, and have a seemingly ever-increasing list of RPG and turn-based strategy games to play through.
Collects, aggregates, and visualizes data about World of Warcraft players' progression through the highest difficulty content.
This data has previously been publicly available but never aggregated across the high-end community.
Frontend implemented in TypeScript / React, backend and analysis in Rust. Charts are implemented with Vega-Lite
Current maintainer of the WoWAnalyzer module covering Brewmaster Monks.
This module analyzes user-submitted logs from World of Warcraft and provides suggestions and analytics to help players improve.
Built an addon for World of Warcraft to replace the built-in nameplates with a highly-efficient substitute.
Exploring the use of color as a signal in combat, inspired by the rainbow-identifiers
Emacs package.
Built an addon for World of Warcraft to collect detailed runtime histogram for all addon scripts, with the goal of enabling analysis of the long tail of runtimes as well as identifying features that are a problem.
Built an associated site to visualize the data, incorporating Rust + WASM to parse the serialized data files.
Software Engineer,
RPGLogs
January 2022
Present
Working on features across Warcraft Logs, FF Logs, and ESO Logs, including major contributions to game content releases, improving our internal tech for game support, major contributions to the Retail WoW talent tree support, and ongoing work on core site features.
Manage the WoWAnalyzer open-source project, keeping contributors un-blocked and building new Warcraft Logs features to support their work.
Graduate Research & Teaching Assistant,
University of Florida
August 2015
May 2020
Conducted research under Dr. My T. Thai at the intersection of social network analysis, discrete optimization, and approximation theory.
Designed algorithms for a number of optimization tasks on network data, with a focus on information flow and structural analysis built on randomized sampling procedures.
Communicated results effectively, resulting in 14 peer-reviewed conference & journal publications in top-tier venues such as ICML.
Taught Programming in C. Assisted with Introductory Programming in C++, Operating Systems, Algorithms, Networks, and Machine Learning.
Software Engineering Intern (AppScan Source),
IBM
May 2015
August 2015
Developed a dataflow visualization from concept to complete prototype.
Specialized the visualization for use by developers in fixing security vulnerabilities.
Prototype built in JavaScript using Node.js with the React.js and D3.js libraries.
Undergraduate Research Assistant,
University of Kentucky
May 2013
May 2014
August 2014
May 2015
Assisted with Computer Vision research under Dr. Nathan Jacobs
Developed a web-based interface for image calibration and the measuring of objects in images. Built in JavaScript using the HTML5 inline SVG with Django (a Python MVC framework) on the backend.
Helped with data collection, model construction, and model training for research papers. Primarily worked in Python and used Caffe for deep-learning.
ExtremeBlue Technical Intern,
IBM
May 2014
August 2014
Designed and built a service for IBM’s Bluemix PaaS offering that enables users to manage & analyze traffic flowing to their application.
Researched competing search engine offerings, prepared comparative analysis and recommendation based on intended use case.
Used IBM’s DataPower appliance as a control point to enforce traffic policies and ElasticSearch with Kibana to provide rapid feedback on policies.
Written in JavaScript. Used Node.js for the service implementation and AngularJS for the user interface.
Managed tooling and built continuous deployment pipeline using Jenkins.