126 lines
7.3 KiB
TeX
126 lines
7.3 KiB
TeX
% 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 several disciplines of industry and open-source software development:
|
|
\begin{itemize}
|
|
\item Programming language, parsing, and typechecking theory, strongly-typed functional programming languages, Scala, Haskell, Elm, Rust.
|
|
\item Network programming and troubleshooting (OSI model layer 2-4, TCP/IP, IPv6, Ethernet), hardware and software packet processing, embedded Linux hardware bringup, writing clear and maintainable C and C++. Can solder if necessary.
|
|
\item Full-stack web development, PostgreSQL, Ruby on Rails, Django (Python), modern Javascript (frontend and Node.js)
|
|
and Javascript tooling (grunt/webpack/npm). I'm a fan of React.js.
|
|
% \item Natural language processing (NLP). Linguistic science, particularly human language typology and universals and Japonic linguistics.
|
|
% Took two semesters of Georgian in college.
|
|
\item Linux system administration in production cloud environments, Docker containerization, AWS/Terraform experience. I have a running 4U VM server on a shelf in my apartment.
|
|
\end{itemize}
|
|
|
|
\resheading{Professional Experience}
|
|
\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. Only time so far I've needed to do that.}
|
|
\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 + a little Scala).}
|
|
\resitem{Designed and built WiFi statistics monitoring widget with d3 and React, looks 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, useful for build systems.
|
|
|
|
\end{description}
|
|
|
|
\end{document}
|