% resume.tex
%
% (c) 2002 Matthew Boedicker <mboedick@mboedick.org> (original author) http://mboedick.org
% (c) 2003-2007 David J. Grant <davidgrant-at-gmail.com> http://www.davidgrant.ca
% (c) 2007-2010 Todd C. Miller <Todd.Miller@courtesan.com> http://www.courtesan.com/todd
% (c) 2012 Gregory Shuflin <greg.shuflin@gmail.com>

% This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

\documentclass[letterpaper,11pt]{article}

%-----------------------------------------------------------
\usepackage[empty]{fullpage}
\usepackage{color}
\usepackage{hyperref}
\usepackage{marvosym}
\usepackage{fontawesome}
\usepackage{graphicx}
\definecolor{mygrey}{gray}{0.80}

\raggedbottom
\raggedright
\setlength{\tabcolsep}{0in}

% 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}

%-----------------------------------------------------------
%Custom commands
\newcommand{\resitem}[1]{\item #1 \vspace{-2pt}}
\newcommand{\resheading}[1]{\vspace{0.1in}{\large \colorbox{mygrey}{\begin{minipage}{\textwidth}{\textbf{#1 \vphantom{p\^{E}}}}\end{minipage}}}\vspace{0.1in}}

\newcommand{\ressubheading}[4]{
\begin{tabular*}{7.0in}{l@{\extracolsep{\fill}}r}
		\textbf{#1} & #2 \\
		\textit{#3} & \textit{#4} \\
\end{tabular*}\vspace{-4pt}}
%-----------------------------------------------------------

\definecolor{blue}{rgb}{0,0,1.0}

\begin{document}

\begin{center}
\textsc{ \Huge Gregory Shuflin }
\end{center}

\begin{tabular*}{7.5in}{l@{\extracolsep{\fill}}l}
    \faicon{envelope-square} \emph{greg.shuflin@protonmail.com}
        & \faicon{map-marker} Oakland, California\\

    \faicon{home} {\tt \href{https://greg.everydayimshuflin.com}{greg.everydayimshuflin.com}}
        & \faicon{phone} \hspace{1pt} 510-332-6344 \\

    \faicon{git-square} {\tt \href{https://gitea.everydayimshuflin.com/greg}{gitea.everydayimshuflin.com} } (personal)
        & \faicon{git-square} {\tt \href{https://github.com/gshuflin}{github.com/gshuflin} } (professional) \\
\end{tabular*}

\resheading{Qualifications and interests}

Motivated, professional computer scientist with broad expertise across multiple spheres of 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 web frameworks in multiple languages. 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.
%    \item Natural language processing (NLP). Linguistic science, particularly human language typology and universals and Japonic linguistics.
%    Took two semesters of Georgian in college.

\end{itemize}

\resheading{Professional Experience}
    \ressubheading{Floating Point Group}{Hoboken, NJ}{Software Engineer}{Dec 2021-}
        \begin{itemize}
            \resitem{Backend engineer for cryptocurrency trading platform backend built on AWS with Python business logic.}
            \resitem{Designed from scratch and implemented a subsystem to keep track of continuous customer account balances for billing and reconciliation. }
        \end{itemize}
    \ressubheading{Toolchain Labs}{San Francisco, CA}{Software Engineer}{2019 - 2021}
        \begin{itemize}
                \resitem{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.}
            \resitem{Updated old Python codebase to modern typed Python + Rust execution core for improved performance and maintainability. Frequent Rust/Python FFI and Python metaprogramming.}
            \resitem{Routinely collaborated with external contributors in a spirit of good open-source citizenship.}
            \resitem{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}
        \ressubheading{3D Robotics}{Berkeley, CA}{Senior Software Engineer}{2017 - 2019}
        \begin{itemize}
                \resitem{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).}
                \resitem{Built systems for processing GDAL geospatial data, efficiently running TensorFlow/OpenCV ML workflows on quadrotor drone photos.}
                \resitem{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, but I got the patch applied.}
        \end{itemize}
        \ressubheading{Cisco Meraki}{San Francisco, CA}{Software Engineer}{2013 - 2017}
        \begin{itemize}
                \resitem{Primarily responsible for feature development and support of several different models of cloud-managed Ethernet switches and WiFi access points.}
                \resitem{Healthy mix of embedded Linux firmware development on networking hardware (C++) and full stack web development (Ruby on Rails/PostgreSQL + some Scala).}
                \resitem{Designed and built WiFi statistics monitoring widget with d3 and React, looked cool in demos and saved at least one deal.}
                \resitem{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}
\resheading{Education}

\textbf{University of California, Berkeley} \hfill \emph{graduated Winter 2012}
\\
\emph{Bachelor of Arts, Computer Science, Linguistics, Japanese Language}\\

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

\resheading{Personal Open-source Projects}
% See \url{http://neunenak.github.io} for additional 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}
