Scott Johnson


Contact information

Scott Johnson
jaywir3@gmail.com
https://www.jwir3.com
https://www.github.com/jwir3
https://www.linkedin.com/in/jwir3
+1 701 741-9338

Summary

Highly skilled software engineer with 15+ years of experience in computer graphics and computational geometry across a variety of technical stacks. Passionate about open-source software, high-performance rendering, clean code design, and learning while mentoring other developers through code review, individual pairing sessions, and leadership principles.

Work Experience

Remote

Capture Software Engineer at Chromatic Mar 2023 - Present

Worked on the capture cloud, a distributed system for taking screenshots of Storybook applications in browsers and comparing them for regression detection. Maintained the capture infrastructure using Docker, AWS ECS Fargate, ECR, EC2, and other associated services. Developed code for microservices using Typescript, Go, and ES5/6. Provided expertise in browser rendering, browser architecture, and image differencing algorithms.

Founder/CEO at FoamFactory Jan 2021 - Mar 2023

Created a web application for brewery management using Javascript with React for the Frontend, as well as a monolithic REST-based API for data management using Ruby/Rails on the backend. Created several small microservices using Rust, Go, and NodeJS for various associated tasks, such as avatar management and deployment.

Developed a robust and reusable component library for React components specially designed for beer brewing using Storybook and custom open-source deployment and packaging tools.

Principal Engineer at Medal Dec 2019 - Jan 2021

Added features for audio and video control to an existing Electron application using React in Typescript for gamers to record gameplay and share with others. Developed code in a “special projects” role, assisting the company in a number of different areas, including research and development, build systems, integrations, hardware graphics recording, and application development.

Lead Graphics Engineer at InVision App Dec 2016 - Dec 2019

Developed the rendering engine behind Studio, a tool for editing and creating vector graphics and application prototypes. Utilized WebGL within HaXe, a language similar to Typescript that compiles to Javascript for the core engine and utilized React and Electron for the application layer.

Developed a fast, memory-efficient, high-quality rendering system for Bézier paths, shapes, surfaces, and text utilizing the full power of the GPU. Utilized GLSL to write vertex and fragment shaders for multiple effects within the WebGL programmable pipeline. Developed highly efficient, cutting-edge implementations of antialiasing for incredibly crisp and appealing visual output.

Developed a prototype of a replacement rendering engine that used Skia compiled to WebAssembly. Prototyped a potential replacement rendering engine written in Rust and compiled to WebAssembly.

Minneapolis, MN

Engineering Team Lead at When I Work Sep 2014 - Dec 2016

Developed a suite of Android applications for scheduling/workplace management. Improved ratings in the Google Play store from 2.9 to 4.0 Architected an overarching platform and code strategy for the Android platform.

Interviewed, mentored and trained 3 other developers to work underneath me. Managed the automated test and continuous integration environment (TravisCI, Jenkins). Peer reviewed code from others and set forth coding standards. Conducted standup meetings for feature-based team and coordinate agile methodology.

Managed application lifecycle from initial feature design to release within the Google Play Store. Monitored crash statistics and customer feedback.

Edina, MN

Android Engineering Lead at Jingit Nov 2013 - Sep 2014

Developed an Android application for a retail rewards system where users would select offers from a particular vendor and then capture images of receipts to be processed in exchange for cash rewards.

Established coding standards for the Android team and established an agile process where our team successfully achieved 10% week-over-week productivity growth for a sustained period of over 24 weeks.

Established an automated test and continuous integration environment for both Android and iOS code. Managed a system for dispatching push notifications to user devices through a unified gateway for all devices. Managed the application lifecycle from initial feature design to release through the Google Play Store.

Remote

Platform Engineer, Layout at Mozilla Jun 2011 - Oct 2013

Developed code in the Gecko platform behind Mozilla Firefox, Firefox for Android, Firefox OS, Thunderbird, and Seamonkey products using C++, Java, Python, Javascript, HTML, and CSS. Designed and implemented software rendering systems to conform to specifications set forth by the W3C

Developed code related to layout on Firefox for Android within the Gecko platform using the Android Native Development Kit (NDK). Developed user interfaces within Java for Firefox for Android using Java and the Android Software Development Kit (SDK). Supported inter-process communication for Firefox and Firefox for Android between Java, Native (C/C++ platform) and script (Javascript) using JNI and COM.

Advised on issues related to advancement of multi-party specifications through the W3C and WhatWG. Responded to editor drafts and assisted those charged with editing the working draft specifications on issues that arose during implementation.

Wrote and maintained unit tests within the Mozilla codebase and responded to test failures within the Mozilla continuous integration system.

Bloomington, MN

Sr. Software Engineer at General Dynamics AIS Oct 2009 - May 2011

Developed and maintained features within the Multi-Int Analysis and Archive System (MAAS), a software product suite that assists intelligence analysts in analyzing raw intelligence data, especially video captured from remote sources. Wrote object-oriented code primarily in Java, coordinating with Microsoft SQL Server using Hibernate.

Education

University of Minnesota

Master of Science, Computer Science 2006-2009

From 2006-2009, was in a PhD program in Computer Science with research focuses in computational geometry and photorealistic rendering in computer graphics.

University of North Dakota

Bachelor of Science in Computer Science 2001-2006

Completed a Bachelor’s degree in Computer Science with focused study in software engineering and computer graphics. Graduated summa cum laude.

Bachelor of Science 2001-2006

Completed a separate Bachelor’s degree in Mathematics with focused study in statistical theory, number theory, and combinatorics. Graduated summa cum laude.

Awards and Recognitions

Top Secret Clearance (Currently Inactive); United States Department of Defense, 2009-2011

Google Summer of Code Mentor; Crystal Space 3D SDK, Summer 2008, Summer 2009

Google Summer of Code Grant Recipient; Crystal Space 3D SDK, Summer 2007

Inducted Lifetime Member, Phi Beta Kappa, Honor Society in Liberal Scholorship, 2006

Inducted Lifetime Member, Upsilon Pi Epsilon, Computer Science Honor Society, 2004

Skills

Programming Languages

C/C++, Rust, Javascript (multiple variants, most notably ES6), TypeScript, Java, Groovy, Go, WebAssembly, HaXe, PHP, Ruby, x86 Assembly

Frameworks and Libraries

OpenGL, OpenGL Shading Language (GLSL), WebGL, Rails, Skia, Qt, Android SDK, Gecko Web Rendering Engine, Gradle, React, Storybook

Platforms

Unix, Linux (multiple variants), Mac OS/X, Windows

Cloud Services and Tools

AWS, GCP, Terraform

Developer Tools

VSCode, Mercurial, Git, CircleCI, Github, Github Actions, Linear, JIRA, Slack, Discord