From 44237c076f3e8d11cecbd98ff0d57e795138ac9c Mon Sep 17 00:00:00 2001 From: Greg Shuflin Date: Thu, 14 Apr 2022 23:16:02 -0700 Subject: [PATCH] Playing with fonts for new resume --- justfile | 8 ++- old_resume.tex | 131 +++++++++++++++++++++++++++++++++++++++++++++++++ resume.tex | 121 ++++++++------------------------------------- 3 files changed, 159 insertions(+), 101 deletions(-) create mode 100644 old_resume.tex diff --git a/justfile b/justfile index 5b156d1..970289d 100644 --- a/justfile +++ b/justfile @@ -1,6 +1,12 @@ +default: + just --list build_resume: - pdflatex -jobname "Greg Shuflin resume" resume.tex + lualatex -jobname "Greg Shuflin resume" resume.tex + just clean + +build_old_resume: + pdflatex -jobname "Greg Shuflin resume old" old_resume.tex just clean clean: diff --git a/old_resume.tex b/old_resume.tex new file mode 100644 index 0000000..a005ff1 --- /dev/null +++ b/old_resume.tex @@ -0,0 +1,131 @@ +% resume.tex +% +% (c) 2002 Matthew Boedicker (original author) http://mboedick.org +% (c) 2003-2007 David J. Grant http://www.davidgrant.ca +% (c) 2007-2010 Todd C. Miller http://www.courtesan.com/todd +% (c) 2012 Gregory Shuflin + +% 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} diff --git a/resume.tex b/resume.tex index a005ff1..016efd4 100644 --- a/resume.tex +++ b/resume.tex @@ -1,26 +1,13 @@ -% resume.tex -% -% (c) 2002 Matthew Boedicker (original author) http://mboedick.org -% (c) 2003-2007 David J. Grant http://www.davidgrant.ca -% (c) 2007-2010 Todd C. Miller http://www.courtesan.com/todd -% (c) 2012 Gregory Shuflin - -% 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. +% Greg Shuflin resume \documentclass[letterpaper,11pt]{article} -%----------------------------------------------------------- \usepackage[empty]{fullpage} -\usepackage{color} \usepackage{hyperref} -\usepackage{marvosym} +\usepackage{fontspec} \usepackage{fontawesome} -\usepackage{graphicx} -\definecolor{mygrey}{gray}{0.80} - -\raggedbottom -\raggedright -\setlength{\tabcolsep}{0in} +\usepackage{FiraSans} +%\usepackage{avenirnext}{sfdefault} % Adjust margins to 0.5in on all sides \addtolength{\oddsidemargin}{-0.5in} @@ -29,103 +16,37 @@ \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} +\setmainfont[ ]{FiraSans} +% \setmainfont[ +% SmallCapsFont = Inter +% ]{lato} +% I *like* montserrat but its small caps looks like ass!! +%\setmainfont{montserrat} \begin{document} \begin{center} -\textsc{ \Huge Gregory Shuflin } +\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{map-marker} Oakland, California\\ \faicon{home} {\tt \href{https://greg.everydayimshuflin.com}{greg.everydayimshuflin.com}} - & \faicon{phone} \hspace{1pt} 510-332-6344 \\ + & \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) \\ + & \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: -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} +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. \end{document} + +