View the most recent version at https://willmartinresu.me/

Will Martin

Work Experience

SketchUp (Trimble Inc.), Boulder, CO

Feb '17 — Oct '20

Front-End/Systems Software Engineer, Team Lead (SketchUp Web)

Feb '17 — Oct '20

Developed features for SketchUp Web: SketchUp's web-native modeling engine. Set up testing frameworks that integrated with build systems to ensure code quality. Updated build process to use mainstream build systems and Bamboo build services. Worked closely with UX designers and project managers to create a web-native modeling experience. Integrated Google and Microsoft services for SketchUp's K-12 educational offering. Help onboard new engineers and mentor junior engineers. Just, ya know, helped out the team a whole bunch!

Back-End Software Engineer (3D Warehouse)

Oct '15 — Feb '17

Implemented and maintained back-end features of 3D Warehouse, which stores over three million public-facing models, and restructured its API to use modern practices. Streamlined continuous integration. Implemented the collection and reporting of server health analytics. Worked with third-party developers to add features to 3D Warehouse and integration with other services.

Colorado State University, ENS, Fort Collins, CO

Feb '13 — July '15

Web Programmer

Built web tools to be used by students, faculty, and administrators in the College of Engineering at Colorado State University. Developed large-scale systems designed for external use and internal tools. Created accounting application spanning multiple departments to help staff understand and leverage budgets. Provided full support for systems after deployment.

Time Warner Cable, Broomfield, CO

Jun '13 — Aug '13

Software Development Intern

Integrated third party streaming services on embedded-Linux based experimental set-top-box. Independently created software to stream data over home network from third party device. Coordinated development efforts between three other interns during team project.

Education

Colorado State University, Fort Collins, CO

Aug '11 — May '15

Bachelor of Science: Computer Science, Minor: Business Administration

May '15

Wrote undergraduate thesis on distributed ray-tracing. Was lead electrical and software engineer on a COSGC competitive robotics team that created an Arduino rover capable of autonomously maneuvering over a Mars-like landscape to an objective.

Personal Projects

Here's the really fun stuff!
I find that the best way to learn something new is to use it in a project.

Online RPG Engine

Built an online table top Role Playing Game web app to facilitate remote or in-person games. Features include real-time multiplayer editing, cloud based persistence, Google authentication, line of sight and shadow map visualizations for game pieces, custom image import for map backgrounds, and, most importantly, light vs dark mode! Frontend built with TypeScript, Vue, Sass, and WebPack. Backend built with Rust and MongoDB deployed to Google Cloud (managed with Terraform) and Kubernetes using Bazel and Raze. Core engine built in Rust and compiled to Web Assembly to be shared between clients and server. Used HTTP, Web Sockets, and WebRTC to facilitate communication between servers, clients, and peers.

glTF Renderer

Experimented with WebGL and glTF by building an in-browser renderer for glTF models. Features physically based rendering techniques, environmental illumination, and dynamically loaded models and environments. Built with TypeScript and React.

https://github.com/wmmiii/glTF-Renderer

Vulkan & Bazel

Learned two technologies with one project by implementing the Vulkan Tutorial by Alexander Overvoorde using the Bazel build system. The project was initially written in C++ for Linux using the LunarG© Vulkan™ SDK. Used Travis CI for build verification.

https://github.com/wmmiii/vulkan-renderer