% Greg Shuflin resume
\documentclass[letterpaper, 11pt]{article}

% documentation: https://ctan.math.utah.edu/ctan/tex-archive/macros/latex/contrib/preprint/fullpage.pdf
\usepackage[empty]{fullpage}
\usepackage{hyperref}
\usepackage{fontspec}
\usepackage{fontawesome}
\usepackage{xcolor}

% Adjust margins to 0.5in on all sides
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\evensidemargin}{-0.5in}
\addtolength{\textwidth}{1.0in}
\addtolength{\topmargin}{-0.5in}
\addtolength{\textheight}{1.0in}

% Fonts I considered using as mainfont:
% montserrat: from AUR montserrat-ttf package
% lato: from ttf-lato package
% inter: from inter-font package
\setmainfont{montserrat}

% This doesn't work (i.e. it ignores small caps)
%\setmainfont[SmallCapsFont=FiraSans]{Inter}

\raggedright
\definecolor{mediumgray}{rgb}{0.44, 0.46, 0.47}

\newcommand{\jobentry}[3]{
    {\large\textbf{#1}} \\
    {\color{mediumgray} #2 | \emph{#3}}
}

\newcommand{\sectionheader}[1]{
    {\fontspec{Fira Sans}
        {\color{blue}
            {\Large \textsc{#1}}
        }
    }
}

\begin{document}

{\fontspec{FiraSans}
    \textsc{\Huge Gregory Shuflin }
}
\newline

{\color{mediumgray}
\faicon{map-marker} Oakland, California
\hspace{1 em}
\faicon{envelope-square} {\tt \href{mailto:greg.shuflin@protonmail.com}{greg.shuflin@protonmail.com}}
\hspace{1 em}
\faicon{home} {\tt \href{https://greg.everydayimshuflin.com}{greg.everydayimshuflin.com}}

\faicon{git-square} {\tt \href{https://gitea.everydayimshuflin.com/greg}{gitea.everydayimshuflin.com} } (personal)
\hspace{1 em}
\faicon{git-square} {\tt \href{https://github.com/gshuflin}{github.com/gshuflin} } (professional)
\newline
}

Motivated, professional computer scientist with broad expertise in
industry and open-source software development:

\begin{itemize}
    \item Programming language theory, type theory, strongly-typed functional
        programming languages. Haskell, Elm, Scala. I've been writing Rust
        since before the 1.0 release in 2015.

    \item Linux system administration for production cloud environments, Docker
        containerization, AWS/Terraform/CDK. I run a 4U VM server on a shelf in
        my kitchen for personal projects.

    \item Full-stack web development in multiple frameworks/languages, particularly
        Python ecosystem. Frontend web development in the modern Javascript/Typescript
        ecosystem.

    \item Network programming and troubleshooting, hardware and software packet
        processing, embedded Linux hardware bringup, writing clear and
        maintainable C and C++. Can solder if necessary.
\end{itemize}

\sectionheader{Professional Experience}
\newline

\jobentry{Floating Point Group}{Software Engineer}{Dec 2021-}
\begin{itemize}
    \item{Backend/devops developer for cryptocurrency trading platform
        built on AWS/Python.} 

    \item{Maintained integrations with multiple exchanges and wallets supporting
            many blockchains and assets. Implemented direct customer interaction
        with Ethereum smart contracts.}

    \item{Designed and implemented subsystem for
        tracking continuous customer account balances for billing and
        balance reconciliation. }

\end{itemize}
\jobentry{Kraken}{Software Engineer}{Mar 2021 - Sept 2021}
\begin{itemize}
    \item{Rust developer responsible for converting parts of a legacy PHP web API codebase to 
        Rust/Actix for better performance, reliability, and maintainability.}
\end{itemize}

\jobentry{Toolchain Labs}{Software Engineer}{Jun 2019 - Mar 2021}
\begin{itemize}
    \item{Primarily responsible for contributing business-critical features,
        bugfixes, and documentation to the
        \href{https://github.com/pantsbuild/pants/commits?author=gshuflin}{Pants}
        open-source build system.}

    \item{Updated old Python codebase to modern typed Python + Rust execution
        core for improved performance and maintainability. Frequent Rust/Python
        FFI and Python metaprogramming.}

    \item{Routinely collaborated with external contributors in a spirit of good
        open-source citizenship.}

    \item{Contributed to internal React/Typescript frontend work, Django/AWS
        backend work at early-stage startup (\textless 10 employees) when all
        hands needed on deck. }
\end{itemize}

\jobentry{3D Robotics}{Senior Software Engineer}{Jun 2017 - Jun 2019}
\begin{itemize}
    \item{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).}
    \item{Built systems for processing GDAL geospatial data,
        efficiently running TensorFlow/OpenCV ML workflows on quadrotor
        drone photos.}
    \item{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.}
\end{itemize}

\jobentry{Cisco Meraki}{Software Engineer}{May 2013 - Jun 2017}
\begin{itemize}
    \item{Primarily responsible for feature development and support
        of several different models of cloud-managed Ethernet
        switches and WiFi access points.}
    \item{Healthy mix of embedded Linux firmware development on
        networking hardware (C++) and full stack web development
        (Ruby on Rails/PostgreSQL + some Scala).}
    \item{Designed and built WiFi statistics monitoring widget with
        d3 and React, looked cool in demos and saved at least one
        deal.}
    \item{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.}
\end{itemize}


\sectionheader{Education}
\newline

\textbf{University of California, Berkeley}\\
{\color{mediumgray}
graduated Winter 2012\\
Bachelor of Arts in Computer Science, Linguistics, Japanese Language
}

Relevant Coursework: Artificial Intelligence, Compilers, Operating Systems, Algorithms, Data Structures, Computer Graphics
\newline

\sectionheader{Open-source Projects}
\begin{description}
    \item[\href{http://alexnisnevich.github.io/untrusted/}{Untrusted} ({\tt \href{https://github.com/AlexNisnevich/untrusted}{github.com/AlexNisnevich/untrusted}})]
    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.

    \item [ \href{https://crates.io/crates/hilite}{Hilite (Rust Port)}]

    Rust port (with a few new features) of Hilite, a simple command-line
        utility to highlight stderr output. I used this for making errors
        especially visible among the mostly-stdout output from lengthy C++
        builds.
\end{description}

\end{document}


