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.
I am currently the Lead Software Engineer for Doseform, where we're building a platform to streamline patient prescription handling in a world where health insurance companies routinely require extensive prior authorization forms before covering patient medication costs.
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
Visualization dashboard to quickly evaluate logs both during and after raid nights.
Built on the Grammar of Graphics as implemented in 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.
Developing a Wayland-based tiling window manager scriptable in Guile Scheme.
Objective: 1) To have a testbed for window interaction ideas and, 2) to have a stable tiling window manager I enjoy using once Wayland becomes the default compositor.
Presently marginally usable, but unstable.
Built a Clojure program to scrape the League of Legends API and construct a graph of social connections.
The graph represents likelihood of two players being friends, showing how information could potentially be leaked by the API. (There is no call to get a user's friend list)
Lead Software Engineer,
Doseform
June 2020
Present
Building new features to streamline patient prescription handling, especially when insurance companies require prior authorization.
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.
Implemented these algorithms in a variety of languages, including C, C++, Java, and Rust.
Designed & ran experimental evaluations of these algorithms, predominantly using Python with Luigi to implement the evaluation infrastructure along with a mixture of Python & R for data visualization. I made heavy use of Pandas, ggplot2, and matplotlib in this work.
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.
Tutor,
University of Kentucky
January 2014
April 2014
August 2014
November 2014
Provided free, public tutoring in Computer Science and Math to undergraduate students.