diff --git a/resume.tex b/resume.tex index eff8831..5fb7d72 100644 --- a/resume.tex +++ b/resume.tex @@ -6,6 +6,7 @@ \usepackage{hyperref} \usepackage{fontspec} \usepackage{fontawesome} +\usepackage{xcolor} % Adjust margins to 0.5in on all sides \addtolength{\oddsidemargin}{-0.5in} @@ -18,36 +19,162 @@ % montserrat: from AUR montserrat-ttf package % lato: from ttf-lato package % inter: from inter-font package -\setmainfont{FiraSans} +\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} -\begin{center} {\fontspec{FiraSans} \textsc{\Huge Gregory Shuflin } } -\end{center} +\newline -\begin{tabular*}{7.5in}{l@{\extracolsep{\fill}}l} - \faicon{envelope-square} \emph{greg.shuflin@protonmail.com} - & \faicon{map-marker} Oakland, California\\ +{\color{mediumgray} +\faicon{map-marker} Oakland, California | +\faicon{envelope-square} \emph{greg.shuflin@protonmail.com} | +\faicon{home} {\tt \href{https://greg.everydayimshuflin.com}{greg.everydayimshuflin.com}} - \faicon{home} {\tt \href{https://greg.everydayimshuflin.com}{greg.everydayimshuflin.com}} - & \faicon{phone} 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) +\newline +} - \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*} +Motivated, professional computer scientist with broad expertise in +industry and open-source software development: -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. -These Software Engineer resumes impressed recruiters and landed jobs at top -tech companies. Use these real resume samples as inspiration to write your -resume and help you pick a resume template. + \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. +\end{itemize} + +\sectionheader{Professional Experience} +\newline + +\jobentry{Floating Point Group}{Software Engineer}{Dec 2021-} +\begin{itemize} + \item{Backend engineer for cryptocurrency trading platform + backend built on AWS with Python business logic.} + + \item{Designed and implemented from scratch the subsystem for keeping + track of continuous customer account balances for billing and + balance reconciliation. } +\end{itemize} + +\jobentry{Toolchain Labs}{Software Engineer}{2019 - 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}{2017 - 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, but I got the patch applied.} +\end{itemize} + +\jobentry{Cisco Meraki}{Software Engineer}{2013 - 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}