% Resume template based on Andrew McNabb's creation
% http://www.mcnabbs.org/andrew/linux/latexres/

\documentclass[11pt,oneside]{article}
\usepackage{geometry}
\usepackage[T1]{fontenc}

\pagestyle{empty}
\geometry{letterpaper,tmargin=0.6in,bmargin=0.0in,lmargin=0.5in,rmargin=0.5in,headheight=0in,headsep=0in,footskip=0in}

\setlength{\parindent}{0in}
\setlength{\parskip}{0in}
\setlength{\itemsep}{0in}
\setlength{\topsep}{0in}
\setlength{\tabcolsep}{0in}

% Name and contact information
\newcommand{\name}{John M. Reese}
\newcommand{\addr}{101 Donoso Plaza, Union City, CA 94587}
\newcommand{\phone}{(513) 341 - 5338}
\newcommand{\email}{john @ noswap.com}
\newcommand{\website}{github.com/jreese}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% New commands and environments

% This defines how the name looks
\newcommand{\bigname}[1]{
    \begin{center}\fontfamily{ppl}\selectfont\Huge\scshape#1\end{center}
}

% A ressection is a main section (<H1>Section</H1>)
\newenvironment{ressection}[1]{
    \vspace{8pt}
    {\fontfamily{phv}\selectfont\Large#1}
    \begin{itemize}
    \vspace{3pt}
}{
    \end{itemize}
}

% A resitem is a simple list element in a ressection (first level)
\newcommand{\resitem}[1]{
    \vspace{-4pt}
    \item \begin{flushleft} #1 \end{flushleft}
}

% A ressubitem is a simple list element in anything but a ressection (second level)
\newcommand{\ressubitem}[1]{
    \vspace{-1pt}
    \item \begin{flushleft} #1 \end{flushleft}
}

% A resbigitem is a complex list element for stuff like jobs and education:
%  Arg 1: Name of company or university
%  Arg 2: Location
%  Arg 3: Title and/or date range
\newcommand{\resbigitem}[3]{
    \vspace{-5pt}
    \item
    \textbf{#1} --- #2 \\
    \textit{#3}
}

% This is a list that comes with a resbigitem
\newenvironment{ressubsec}[3]{
    \resbigitem{#1}{#2}{#3}
    \vspace{-2pt}
    \begin{itemize}
}{
    \end{itemize}
}

% This is a simple sublist
\newenvironment{reslist}[1]{
    \resitem{\textbf{#1}}
    \vspace{-2pt}
    \begin{itemize}
}{
    \end{itemize}
}
% This is a simple sublist
\newenvironment{resproject}[1]{
    \resitem{\textbf{#1}}
    \vspace{-5pt}
    \begin{itemize}
}{
    \end{itemize}
}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Now for the actual document:

\begin{document}

\fontfamily{ppl} \selectfont

% Name with horizontal rule
\bigname{\name}

\vspace{-8pt} \rule{\textwidth}{1pt}

\vspace{-1pt} {\small\itshape \website \hfill \phone \ \ \ \email}

\vspace{8 pt}




%%%%%%%%%%%%%%%%%%%%%%%%
\begin{ressection}{Education}

    \begin{ressubsec}{Rochester Institute of Technology}{Rochester, NY}
    {Bachelor of Science, Software Engineering:  2004 -- 2009}
        \ressubitem{Concentrations in Game Development and Political Science}
        \ressubitem{Developed two video games as part of a six student team, using C\# and Xna for
        the core game engine components and Lua for scripting and entity prototyping.  Implemented
        rendering, physics, audio, input, and Lua integration for various portions of each project.
        Created art assets, including sprites, models, and sound effects for both projects.}
        \ressubitem{Worked with a five student team on a six month senior capstone project
        to design and develop an application sponsored by the Kate Gleason College of Engineering.
        Built upon an existing framework written in PHP, and utilized jQuery and AJAX to create
        dynamic user interaction.}
    \end{ressubsec}

\end{ressection}


%%%%%%%%%%%%%%%%%%%%%%%%
\begin{ressection}{Experience}

    \begin{ressubsec}{Facebook}{Menlo Park, CA}
    {Production Engineer: June 2012 -- Present}
        \ressubitem{Worked on Everstore, the blob storage team, responsible for backend
            storage systems serving user photos and videos, ads, and similar internal
            and external content.}
        \ressubitem{Designed and developed wholistic monitoring system for all components
            in the service stack, including hot and warm storage fleets, to ensure integrity,
            durability, and availability of data.}
        \ressubitem{Implemented hardware upgrade orchestration and workflows on existing
            frameworks with knowledge of stateful service and data layout, enabling kernel
            and OS upgrades to be automated without affecting availability of potentially
            under-replicated data.}
        \ressubitem{Planned and executed large scale hardware turnover across multiple
            regions, involving mass migration of data without compromising durability.
            Coordinated with site operations technicians to schedule rolling hardware
            replacements and automate processes for draining and turning up servers.}
        \ressubitem{Performed day-to-day operational tasks on the storage fleet, responding
            to failures in hardware, software, or automation systems, and improve monitoring,
            alarming, and remediations wherever possible.}
        \ressubitem{Assisted new Production Engineers in learning Facebook infrastructure
            and culture, both inside and outside of my team. Give presentations to new team
            members on critical Everstore services and operational tools.}
    \end{ressubsec}

    \begin{ressubsec}{BioWare, Electronic Arts}{San Mateo, CA}
    {Software Engineer II: October 2011 -- May 2012}
        \ressubitem{Developed server management and deployment web application with
        modular framework for administering a large number of virtualized servers
        running on Amazon Web Services, as well as managing AWS accounts, services, and
        resources.  Implemented using Python, Flask, and jQuery.}
        \ressubitem{Automated end-to-end deployment of application server stacks using
            the above framework combined with continuous integration and testing software.}
    \end{ressubsec}

\end{ressection}

\newpage

\begin{ressection}{Experience (continued)}

    \begin{ressubsec}{CBTS, General Electric}{Cincinnati, OH}
    {Software Engineer: May 2010 -- October 2011}
        \ressubitem{Developed large scale, parallel aggregation and analysis of network
        traffic, with a user interface for monitoring, alerts and administration.
        Implemented using Python and MongoDB.}
        \ressubitem{Designed, implemented, and deployed web-based data repository
        for use by internal GE security engineers and exports to data analysis tools.
        Implemented using PHP, jQuery/UI, and MySQL.}
    \end{ressubsec}

    %\begin{ressubsec}{redMatter}{Indie game studio}
    %{Developer: 2009 -- Present}
    %    \ressubitem{Created update distribution system for the Overwatch Mod and future projects, using
    %    JSON data to automatically download and install new versions.  Components written in Python, C\# and WPF.}
    %    \ressubitem{Developed custom tools and plugins to coordinate project development.}
    %\end{ressubsec}

    \begin{ressubsec}{Redcom Laboratories, Inc.}{Victor, NY}
    {Software Engineer: June 2006 -- December 2009}
        \ressubitem{Worked directly with the open source Mantis Bug Tracker team to implement
        a plugin system, add new features, fix bugs, and create development tools using PHP, Python,
        jQuery, and MySQL.}
        \ressubitem{Designed and implemented multiple open source and proprietary plugins for MantisBT
        to integrate with in-house applications written in PHP, Perl and C.}
        \ressubitem{Developed and maintained internal web applications and developer tools.}
    \end{ressubsec}

    %\begin{ressubsec}{Masters Department of Product Development, RIT}{Rochester, NY}
    %{Software Engineer: 2004 -- 2005}
    %    \ressubitem{Maintained and improved department information and communication web
    %    applications written in PHP with a MySQL database.}
    %    \ressubitem{Upgraded legacy PHP applications for compatibility with newer servers.}
    %\end{ressubsec}

\end{ressection}


%%%%%%%%%%%%%%%%%%%%%%%%
\begin{ressection}{Open Source}

    \begin{reslist}{ZNC Push}
        \ressubitem{Created push notification module for IRC chat using C++ and multiple push notification services.}
        \ressubitem{Manage small community of contributors, pull requests, and bug reports.}
    \end{reslist}

    \begin{reslist}{ZNC IRC bouncer, Communi IRC client}
        \ressubitem{Contribute small bug fixes and feature requests from both myself and the community.}
        \ressubitem{Assist users with questions in community channel, and participate in developer discussions.}
    \end{reslist}

    \begin{reslist}{Github Projects}
        \ressubitem{Building an IRC client, using Electron, ReactJS, and Node.js, focused on simplicity, elegance
            of design, and power-friendly features that works on all desktop platforms.}
        \ressubitem{Implement simple plugins for Zsh, including contextual window titles and community themes.}
        \ressubitem{Created static site generator with content pipeline for personal website in Python.}
    \end{reslist}

    \begin{reslist}{Mantis Bug Tracker}
        \ressubitem{Coordinated, built, tested, and announced new releases.}
        \ressubitem{Developed multiple plugins, including a source control integration framework
        with support for Git and Subversion repositories, time estimation and reporting system for projects,
        global and project announcements, and web analytics support for Google and Piwik.}
    \end{reslist}

    %\begin{reslist}{Spotify Gnome}
    %    \ressubitem{Implemented DBus wrapper in Python to translate Gnome media key signals to MPRIS2 format.}
    %\end{reslist}

%    \resitem{Contribute to open source projects, including Mantis Bug Tracker, Gnome, and Ubuntu Linux.}
%    \resitem{Develop mobile applications for Android smartphones.}
%    \resitem{Create community modifications and total conversions for video games.}
%    \resitem{Maintain a project related blog and issue tracker at http://LeetCode.net.}

\end{ressection}


%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{ressection}{Technologies}

%    \begin{reslist}{Programming Languages:}
        %\resitem{Proficient in Python, C++, PHP, SQL, Javascript, UNIX Shells}
        %\resitem{Familiar with C, C\#/.Net/Xna, Java, Lua, Perl, x86 assembly, LaTeX}
        %\resitem{Experience with CodeIgniter, Django, jQuery}
%    \end{reslist}

%    \begin{reslist}{Tools and Systems:}
%        \resitem{Debian Linux and derivatives, Windows}
        %\resitem{Apache, MySQL, GNU Make, Git, Subversion, Vim, Eclipse, Visual Studio}
%    \end{reslist}


%\end{ressection}


% References
% \vspace{16pt} {\small\itshape References available upon request.}

\end{document}
