Tim McCabe

GitHub icon LinkedIn icon

Hi! I'm Tim

I am a software engineer at Khan Academy and a graduate of the University of Cincinnati. I am passionate about full-stack development, number theory, and physics/simulation, but first and foremost I love any new programming challenge. If I'm not busy coding, I'm probably making music or playing retro video games.

Skills

React

Golang

Java

Résumé

Experience

December 2021 - Present
Software Engineer II
Khan Academy
  • Technologies: React | Golang | Google Cloud Datastore | BigQuery | Google App Engine
  • Full-stack developer building education platform serving 60M learners/year
  • Spearheaded a new onboarding experience for test prep and conducted A/B test demonstrating that 22% more users studied on our platform after the change
  • Championed inclusivity for non-native English speakers by identifying and fixing a longstanding i18n oversight causing ~2.5M learners per year to incorrectly reach a 404 page
May 2021 - December 2021
Software Developer
Callibrity
  • Technologies: React Native | Expo | C# | Angular | PostgreSQL | Azure | Git | Java | React
  • Mobile developer for highly scalable white-label freight logistics system valued at $40M/year targeting 10M shipments/year
  • Drove adoption of testing using React Native Testing Library, bringing untested app to 87% code coverage
  • Identified a vulnerability in our authentication system, constructed a mathematical model to analyze the risk of compromise, and proposed mitigation solutions
  • Championed responsive, user-friendly UX and crafted new UI approach that delighted the client
  • Advocated for domain-driven design and proposed solutions to modeling challenges
  • Created pipeline to ensure code quality and automate deployment, shaving 10min of effort off each deploy
May 2019 - April 2021
Software Development Intern
Worldpay from FIS
  • Technologies: Java | Spring Boot | Angular | Ionic | SQL Server | DB2 | Maven | Git
  • Led development of the framework for modernizing an analytics site used by Fortune 500 companies, reducing server startup time by ~90% and increasing development rate by ~100%
  • Mentored teammates on the implementation of a service-oriented architecture
  • Discovered and resolved a privilege escalation vulnerability, averting the potential loss of ~$5.5M
  • Initiated the development of a library to integrate legacy code with a Redis session store, enabling coexistence during migration
  • Championed DRY and created a library to isolate ~4000 lines of duplicated code between projects
Jan 2018 - Dec 2018
Software Engineering Co-op
Siemens PLM Software
  • Technologies: Java | Node.js | C# | AngularJS | MongoDB | Git
  • Set up a Node.js server to coordinate test runs and store ~250 test cases and results
  • Initiated and implemented a redesign of a Chrome extension to focus on simplicity and clarity
  • Enhanced and expanded a suite of over 100 Selenium automated tests, reducing false failures by ~80%
Jun 2016 - Aug 2017
IT Support
Crisis Intervention & Recovery Center
  • Started volunteering in 2014 to fix technical issues, allowing healthcare providers more time with patients
  • Promoted to employee status after receiving “Volunteer of the Year” for two years of commitment
  • Trained 30 healthcare providers on the new electronic health record (EHR) system
  • Co-authored training materials and EHR best practices with mental health professionals
  • Wrote drafts of policy related to naloxone administration

Education

BS in Computer Science
BA in Mathematics
University of Cincinnati

Magna Cum Laude

  • University Honors Program
  • Cincinnatus Excellence Scholarship
  • National Merit Scholar

Download résumé as PDF

Projects

Music Tool

Click here to try the Music Tool! Screenshot of my music tool May 2020
Technologies: Preact, Web Audio API

I used Preact, a lightweight clone of React, to develop this chord finder and player. You can select a key center, then view all of the chords in the diatonic modes centered around the note you selected. A few non-diatonic scales are included as well. There are also a few options to change the quality of the chords or substitute in other chords. This was developed with live feedback from members of the music theory community on Reddit.

Music Tool on GitHub

Funnel Chart Maker

Click here to try the Funnel Chart Maker! A sample chart generated by my funnel chart maker Jun 2023

I made this to format the results of an A/B test that I ran at Khan Academy. It uses an HTML canvas to render the preview, which also allows for a PNG download, and svgcanvas backs the SVG download feature. My priority was to generate graphs that are comprehensible at a second of glancing at them, but that provide deeper insights if you take time to look closely at them. It is less user-friendly than my other tools because it was designed to be used primarily by devs, but I hope to give the UI a facelift in the future!

Funnel Chart Maker on GitHub

PAG Tour

Click here to play PAG Tour! Screenshot of PAG Tour, a golf video game Jan 2017 - Apr 2017
Technologies: MATLAB, JavaScript, HTML5

I worked with a group of three other students to produce an accurate simulation of air resistance and lift forces and deploy it online. We created a golf video game with accurate physics that implements Euler's method to simulate the flight, bouncing, and rolling of a golf ball on flat turf.

Usage: The left view is a projection of the game from the side, and the right side is a top-down view. You can choose your club with the dropdown menu, and you can turn left and right using the arrow keys or the buttons. Tap or click once to set the vertical angle, then again to set the power.

PAG Tour on GitHub

Mario Kart AI

Screenshot of Super Mario Kart Nov 2017 - Dec 2017
Technologies: Python, Lua

I created this project as a way to learn the fundamentals of neural networks and genetic algorithms while incorporating another one of my passions—retro video games. I researched the memory layout of Super Mario Kart and wrote a Lua script to extract the relevant data. Then I wrote a neural network in Python to receive data from the Lua script, determine what buttons to press, and send that data back to the emulator. The Python script also handled the scoring and generations of networks.

Mario Kart AI on Github

CrudeFish

CrudeFish logo August 2015
Technologies: PHP, MySQL

My first full-stack app! Written in PHP using jQuery and AJAX, this project is a relic of days past, both for me personally and in terms of the technology. I challenged myself to write a web application that people could really use, and I'd say I blew it out of the park for my first try. I love looking back at this little relic of my software development history.

CrudeFish on GitHub
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <title>Tim McCabe</title>
5
        <link rel="icon" type="image/png" href="image/favicon.png">
6
        <meta name="description" content="I am a third-year student pursuing a BS in Computer Science at the University of Cincinnati.">
7
        <meta name="keywords" content="Software,Developer,Back End,C++,Java">
8
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
        <link rel="stylesheet" href="style.css">
10
        <link rel="preload" href="https://fonts.googleapis.com/css?family=Roboto+Slab:300,700&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'">
11
        <noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Slab:300,700&display=swap"></noscript>
12
        <script type="application/ld+json">
13
            {
14
                "@context": "http://schema.org/",
15
                "@type": "Person",
16
                "name": "Tim McCabe",
17
                "jobTitle": "Software Developer",
18
                "telephone": "(330) 413-5633",
19
                "url": "https://timmcca.be"
20
            }
21
        </script>
22
    </head>
23
    <body>
24
        <header>
25
            <h2>Tim McCabe</h2>
26
            <nav>
27
                <a href="#skills">Skills</a>
28
                <a href="#resume">R&eacute;sum&eacute;</a>
29
                <a href="#projects">Projects</a>
30
            </nav>
31
        </header>
32
        <main>
33
            <section class="banner content">
34
                <picture class="headshot-picture">
35
                    <source srcset="image/headshot.webp" type="image/webp">
36
                    <source srcset="image/headshot.jpg" type="image/jpeg"
37
                    <img class="headshot" src="image/headshot.jpg" alt="My face!">
38
                </picture>
39
                <article class="details">
40
                    <div>
41
                        <h1>Tim McCabe</h1>
42
                        <h5>Computer Science Student</h5>
43
                        <p><strong>University of Cincinnati</strong></p>
44
                        <h5>Email</h5>
45
                        <p><a href="mailto:me@timmcca.be">me@timmcca.be</a></p>
46
                        <h5>Phone</h5>
47
                        <p>(330) 413-5633</p>
48
                    </div>
49
                </article>
50
            </section>