Files
resume/resume.typ
2026-05-11 20:39:46 -07:00

120 lines
7.2 KiB
Typst

#set document(title: "Greg Shuflin Resume", author: "Greg Shuflin")
#set page("us-letter", margin: 0.5in)
#set text(font: "Inter") // Note - not quite the font from my old resume
#show link: orig => underline(text(fill: blue, font: "Inconsolata", orig) )
#let medium-gray = rgb(44%, 46%, 47%)
// latex-derived sizes? I'm guessing here
#let Huge = 2.5em
#let Large = 2em
#let large = 1.3em
#let section-header(content) = [ #text(font: "Fira Sans", size: Large, fill: rgb(0%, 0%, 100%))[#smallcaps(content)] \ ]
#let job-entry(job, job-title, dates) = [
#text(size: large, weight: "bold")[#job] \
#text(fill: medium-gray)[#job-title | #text(font: "Fira Sans", style: "italic")[#dates]]
]
// Title
#{
set text(font: "Fira Sans", size: 2.5em)
[ #smallcaps([Gregory Shuflin]) ]
}
//Contact section
#{
set text(fill: medium-gray)
let icon-item(icon-file, free-text) = [
#box(baseline: 20%)[#image("./icons/" + icon-file, height:1em)] #free-text
]
[
#icon-item("location-dot.svg", [Oakland, California])
#h(1em)
#icon-item("square-envelope.svg", link("mailto:greg@everydayimshuflin.com")[greg\@everydayimshuflin.com])
#h(1em)
#icon-item("phone.svg")[510-332-6344]\
#icon-item("house.svg", link("https://greg.everydayimshuflin.com")[greg.everydayimshuflin.com])
#h(1em)
#icon-item("square-git.svg")[
#link("https://code.everydayimshuflin.com/greg")[code.everydayimshuflin.com/greg],
#link("https://github.com/neunenak")[github.com/neunenak]
]
]
}
Motivated, professional computer scientist with broad expertise in industry and open-source
software development:
- Programming language theory, type theory, strongly-typed functional programming languages. Haskell, Scala. #link("https://lean-lang.org/")[Lean] proof assistant. I've been using Rust since before its 1.0 release in 2015.
- Linux system administration for production cloud contexts. AWS/Docker/Kubernetes, Terraform/OpenTofu, Nix/NixOS. I run several servers in a 12U rack in my closet for personal projects, mostly NixOS-based.
- Full-stack development in multiple frameworks/languages, particularly the Rust and Python ecosystems. Frontend web development in the modern Javascript/Typescript ecosystem.
- Network programming and troubleshooting, hardware and software packet processing, embedded Linux, anything with an `extern "C"` somewhere in it.
#section-header([Professional Experience])
#job-entry([Meta (formerly Facebook)], [Production Engineer], [Mar 2025 - Mar 2026])
- Responsible for writing and maintaining internal tooling for advertising-related generative AI software, mostly in Python.
#job-entry([Knox Networks], [Senior Software Engineer], [Apr 2023 - Aug 2024])
- Rust and Nix developer for experimental digital payments infrastructure software stack. AWS/Terraform, microservice deployment model.
- Heavy use of asynchronous Rust microservices, gRPC, modern encryption primitives including cloud hardware signing modules and Rust/C integration.
- Upstreamed contributions to several open-source tools to facilitate development workflow.
#job-entry([Floating Point Group], [Software Engineer], [Dec 2021 - Dec 2022])
- Backend/devops developer for cryptocurrency trading platform. Python/AWS stack, Docker/Terraform/web3.py, some basic Solidity.
- Maintained integrations with multiple exchanges, blockchains, and crypto assets. Implemented direct customer interaction with Ethereum assets via Metamask.
- Designed and implemented subsystem for tracking continuous customer account balances for billing and balance reconciliation.
#job-entry([Kraken], [Software Engineer], [Mar 2021 - Sept 2021])
- Rust developer responsible for converting parts of a legacy PHP web API codebase to Rust/Actix for better performance, reliability, and maintainability.
#job-entry([Toolchain Labs], [Software Engineer], [Jun 2019 - Mar 2021])
- Primarily responsible for contributing features, bugfixes, and documentation to the #link("https://github.com/pantsbuild/pants/commits?author=gshuflin")[Pants] open-source build system.
- Updated old Python codebase to modern typed Python + Rust execution core for improved performance and maintainability. Frequent Rust/Python FFI and Python metaprogramming.
- Routinely collaborated with external contributors in a spirit of good open-source citizenship.
- Contributed to internal React/Typescript frontend work, Django/AWS backend work at small, early-stage startup when all hands needed on deck.
#job-entry([3D Robotics], [Senior Software Engineer], [Jun 2017 - Jun 2019])
- One of two members of the backend/devops team. Primarily responsible for feature development for API microservices in Scala (Akka/Couchbase NoSQL), and AWS provision of the same (Docker, Terraform).
- Built systems for processing GDAL geospatial data, efficiently running TensorFlow/OpenCV ML workflows on quadrotor drone photos.
- One time I grabbed a Windows laptop and set up a Visual C++ environment so I could apply a 10-line bugfix patch to some Autodesk software we depended on. I'm not ordinarily a Windows developer.
#job-entry([Cisco Meraki], [Member of Technical Staff], [May 2013 - Jun 2017])
- Primarily responsible for feature development and support of several different models of cloud-managed Ethernet switches and WiFi access points.
- Healthy mix of embedded Linux firmware development on networking hardware (C++) and full stack web development (Ruby on Rails/PostgreSQL + some Scala).
- Designed and built WiFi statistics monitoring widget with d3 and React, looked cool in demos and saved at least one deal.
- Regular troubleshooting and debugging of hardware and software in production network environments. The 802.1Q protocol identifier value `0x8100` is burned into my memory from seeing it in packet logs so often.
#section-header([Education])
#text(size: large, weight: "bold")[University of California, Berkeley] \
#text(fill: medium-gray)[Graduated Winter 2012 | B.A. in Computer Science, Linguistics, Japanese]
Relevant Coursework: Artificial Intelligence, Compilers, Operating Systems, Algorithms, Data
Structures, Computer Graphics
#section-header[Open-source Contributions]
#let just-url = "https://github.com/casey/just"
#let just-commits-url = "https://github.com/casey/just/commits?author=neunenak"
- I'm an occasional contributor to the #link(just-commits-url)[just] command runner (#link(just-url)[github.com/casey/just])
#let typst-url = "https://github.com/typst/typst"
#let leipzig-url = "https://code.everydayimshuflin.com/greg/typst-lepizig-glossing"
- I maintain a #link(typst-url)[typst] typesetting language package #link(leipzig-url)[leipzig-glossing] for linguistic interlinear glosses
#let untrusted-url = "http://alexnisnevich.github.io/untrusted/"
- #link(untrusted-url)[Untrusted] (#link(untrusted-url)[github.com/AlexNisnevich/untrusted]) is an open-source browser-based roguelike game. Every level is unbeatable and requires the player to modify the Javascript code defining the level in order to progress.
This started out as a college hackathon project by me and a friend, that we decided to keep working on and release publicly. A surprisingly large number of people around the world have contacted us telling us they've enjoyed playing it, or found it to be a fun and useful pedagogical tool for teaching programming skills.