Joseph Sweeney

joe@joesweeney.org
joesweeney.org


Education

University of Connecticut School of Engineering
Bachelor of Science in Engineering (Computer Science and Engineering)
Honors: summa cum laude (Cumulative GPA: 3.94/4.00)


Experience

Trail of Bits Security Engineer Februrary 2022-Present
Consulted with companies and governmental agencies for research and engineering tasks. Developed new solutions and updated existing codebases to meet new requirements. Conducted novel research to evaluate LLMs in security-oriented tasks. Wrote reports that communicate results of projects and evaluate success and failure.
Technical Environment: C++, Go, Python, Javascript
Google Software Engineer January 2019-December 2021
Designed and implemented various video processing applications using the Vulkan graphics API, including a more general purpose wrapper library that simplifies the process of setting up compute pipelines. Algorithms implemented as both ffmpeg AVFilters as well as custom designed, extensible C++ libraries.
Technical Environment: C++, Javascript
Mentor Collective Software Engineer June 2018-December 2018
Designed and implemented a dependency free UI library for featureful surveys to remove a third party dependency and data liability. Routinely isolated and solved bugs to improve code quality and improve the user experience.
Technical Environment: JavaScript, Ruby, Rails
NASA Jet Propulsion Laboratory Software Development Intern Summer 2017
Designed, implemented, and tested a custom version controlled database to enable retrieval of data from any point in time. Collaboratively refined an API to implement a reliable and functional web service.
Technical Environment: Python, Flask, Git
UConn CORE Lab Software Developer August 2016-May 2018
Implemented features from a specification to improve web site UI and UX. Fixed and extended an implementation of a probabilistic algorithm to find distal motifs in protein sequences.
Technical Environment: Go, JavaScript, React, MobX, Webpack, PHP, Laravel
The Mitre Corporation Software Development Intern Summer 2016
Developed and implemented algorithms to meet design goals of a responsive web application used by the Air Force. Collaborated with a team of six other interns to successfully develop a functional software product.
Technical Environment: JavaScript, D3.js, AngularJS


Skills

Working with new clients to understand existing processes and requirements.
Communicating project progress rapidly and concisely to keep projects on pace and budget.
Writing reports to share results of research and development with stakeholders beyond immediate contacts.
Programming Languages: C/C++, Go, Python, JavaScript, Objective-C, Ruby


Projects

Skopeo Geometry Viewer (Work in progress) - DEMO
Developing a C program for analyzing and rendering STL files in the browser using WebGPU and Open CASCADE Technology (OCCT). Currently a work in progress, though you can see a demo by following the link above. VersionDB - GitHub
This is a versioned database written in C to solidify my knowledge of systems programming. It includes a multithreaded server architecture, that is able to store data and retrieve any version of that data. Originally started as a Python library that used Git to manage versioned data for an internship at NASA JPL.
Delaunay Triangulation in Arbitrary Dimensions - GitHub
For a computational geometry class, I completed a group project where we implemented an easy to use Python library that can compute the Delaunay Triangulation and Voronoi Diagram of any given point set. I specifically contributed implementations of geometric alglorithms that are generalized to work in any dimension.
Interactive Geometric Markup Language - GitHub, Euclid's Elements, Book 1
For my senior design project, I built the front end visualization and interactive interface for a geometric markup language. We then used this to create interactive visualizations to the first book of Euclid's Elements. All rendering is done with WebGL in JavaScript with no dependencies.
Research in Stochastic Processes
I explored applications of the the Metropolis-Hastings algorithm to find solutions to NP hard problems. From this research, I learned the chosen problem (two-sided matching with couples) already had an approximation algorithm that found matches quicker than the probabilistic search was able to.