CV
Experience
Feb 2021 - Present
Toyota Research Institute - Senior Software Engineer: Research Software Engineering
TRI's Research Software Engineering (RSE) team works within TRI to develop relevant tooling, frameworks, and software architectures to enable other research teams to operate at maximum efficiency. As the first member of TRI's RSE team, I have worked hard to translate high level customer desires into low-level, well-architected software tools and packages. I've worked extensively on robotics platforms utilizing tools and languages such as Bazel, C++, Python, Bash/Zsh - achieving a publication for some work involving fast approximation of contact patches modeled in the robotics simulator Drake. I've developed front end solutions using Javascript, React, Node, and plotly. I've worked on TRI's motion simulator platform - a software stack using ROS, Unreal Engine, CARLA built on top of C++ and Python utilizing both CMake and Bazel as build systems. I've worked alongside our machine learning team using tools like PyTorch, TVM, ONNX, and Torchscript to further optimize and benchmark models. On top of that work, I've helped architect out an AWS solution for automatic model compilation and benchmarking with an NVIDIA Jetson AGX Orin utilizing AWS Greengrass, S3, API Gateway, RDS, Lambda, and more, all of which is automated using the infrastructure as code tool Terraform. No matter the task, I am always conscious to deliver well crafted, scalable, user-friendly tools and packages in whatever domain the custom may request.
August 2022 - May 2023
The George Washington University - Industrial Mentor
I mentored a group of seniors for their senior design project in the 2022-2023 academic year for my alma mater George Washington University. I met weekly with the team to provide guidance, advice, and lead the team towards a path of success.
At the end of the year, the Travel Trails group received the Arnold C. Meltzer Award for best overall senior design project. While the team accounted for a majority of the hard work involved, I would like to think my leadership efforts helped more clearly guide them towards this accomplishment.
June 2019 - Jan 2021
Open Robotics - Software Engineer: Robotics
My work focused on Ignition, Open Robotic's advanced robot simulator for research, design, and development. I worked extensively in the rendering, physics, and gui components of Ignition using (and modifying) code bases/APIs such as Qt, QML, DART, OGRE(2), and more. All of this work has been written in C++ and Python, building with CMake and Bazel also using tools such as colcon where relevant. I also worked some with ROS, specifically with ament tooling.
April 2018 - May 2019
The George Washington University - Graduate Administrative Fellow for Undergraduate Academic Success
I aided in undergraduate academic success services and established GW SEAS Peer Assisted Learning (PAL) program - a peer tutoring service offered for free to the undergraduate student body. I also acted as liaison for GW's undergraduate teaching and learning assistant program hiring and training ~50 students.
May 2017 - August 2017
ViaSat - Software/Systems Engineering Intern
I worked extensively in commercial maritime antenna control unit code, primarily in moving it from a PowerPc and QNX real-time operating system to an ARM processor running a real-time Linux kernel, RTLinux. Additionally, I aided in acquiring a vibration table for testing and verification of crystal oscillators.
August 2016 - May 2019
The George Washington University - Teaching Assistant
I have cumulatively taught ~250 students in GW's Computer Architecture and Systems Programming courses having also led 60+ hours of labs and lectures as well as conducting 100+ hours of office hours.
March 2016 - December 2018
The George Washington University - Robotics Lab Research Scientist
Under three separate professors, I have obtained a publication in robotics, developed a ROS package for a pick and place project with a 6 DOF arm, and worked with large pre-existing C++ code bases. My robotics work can be found under the Projects tab.
March 2016 - May 2018
The George Washington University - SEASSPAN Mentor
SEASSPAN is GW's mentoring program for it's engineering school. I personally mentored 16 first year engineering students as well as helped manage the first year class of about 150 students on an annual trip occurring before the beginning of the school year 3 separate times.
January 2015 - May 2016
The George Washington University - Team Programmer
I worked in a team of four developing software in C# for the George Washington Law School. This software processed large amounts of student data aiding the registrar in determining the current progress of each student. This software is still in use by the school. Additionally, I worked with Google Apps Script developing Google Sheet processing logic to aid professors in the paper evaluation process.
Education
The George Wasington University
Master's Degree, Computer Science, 3.83
May 2018 - May 2019
The George Washington University
Bachelor of Science, Computer Science, 3.83, Summa Cum Laude
August 2014 - May 2018
Activities and Societies: Dean's Honor List (2014 - 2018), SEASSPAN mentor, ACM Recruiting Directory (2017), ACM Vice President (2017 - 2018), TA for Computer Architecture and Systems Programming (2016 - 2019), Tau Beta Pi Engineering Honor Society.
Awards and Honors: Graduated Summa Cum Laude, awarded the Benjamin C. Cruickshanks Award - an award bestowed upon the graduating senior in Computer Science with the highest academic standing.
Briarcrest High School
High School Diploma
August 2010 - May 2014
Activities and Societies: President of the National Honor Society, President of Mock Trial, President of French Club, Vice President of Mu Alpha Theta, President of the French Honor Society
Projects
A subset of the projects I have worked on, either for coursework or personal interest, are available under the Projects tab above, organized by technical subject. This format, I believe, is more interesting and engaging. Enjoy!
Relevant Coursework
Algorithms
CSCI 3212 + CSCI 6212
Autonomous Robotics
CSCI 4525
Bias in AI
CSCI 6907
Computational Linear Algebra
CSCI 4342
Computer Animation
CSCI 6555
Computer Graphics II
CSCI 6554
Computer Vision
CSCI 6527
Continuous Algorithms
CSCI 4341
Data Compression
CSCI 6351
Foundations of Computing
CSCI 3313
Machine Learning
CSCI 4364
Operating Systems
CSCI 3411
Skills and Specializations
C++
Git
Bash
Robotics
Vim
Python
C
Leadership
GDB
Public Speaking
Communication
Object Oriented Design
Simulation
Java
Tensorflow
PyTorch
Bazel
Terraform
AWS
Solidity
Javascript
React
Node
Publications
2022
J. Masterjohn, D. Guoy, J. Shepherd, and A. Castro. Velocity Level Approximation of Pressure Field Contact Patches. IEEE Robotics and Automation Letters. (October, 2022).
2016
J. Shepherd, S. Zapolsky, and E. Drumwright. Fast Multi-Body Simulations of Robots Controlled with Error Feedback. Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR). (November, 2016).