%-------------------------
% Based off of: https://github.com/sb2nov/resume
% License : MIT
%------------------------

\documentclass[letterpaper,11pt]{article}

\usepackage{latexsym}
\usepackage[empty]{fullpage}
\usepackage{titlesec}
\usepackage{marvosym}
\usepackage[usenames,dvipsnames]{color}
\usepackage{verbatim}
\usepackage{enumitem}
\usepackage[hidelinks]{hyperref}
\usepackage{fancyhdr}
\usepackage[english]{babel}
\usepackage{tabularx}
\input{glyphtounicode}


%----------FONT OPTIONS----------
% sans-serif
% \usepackage[sfdefault]{FiraSans}
 \usepackage[default]{raleway}
% \usepackage[sfdefault]{noto-sans}
% \usepackage[default]{sourcesanspro}

% serif
% \usepackage{CormorantGaramond}
% \usepackage{charter}


\pagestyle{fancy}
\fancyhf{} % clear all header and footer fields
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

% Adjust margins
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\evensidemargin}{-0.5in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.5in}
\addtolength{\textheight}{1.0in}

\urlstyle{same}

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

% Sections formatting
\titleformat{\section}{
  \vspace{-4pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}]

% Ensure that generate pdf is machine readable/ATS parsable
\pdfgentounicode=1

%-------------------------
% Custom commands
\newcommand{\resumeItem}[1]{
  \item\small{
    {#1 \vspace{-2pt}}
  }
}

\newcommand{\resumeSubheading}[4]{
  \vspace{-2pt}\item
    \begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
      \textbf{#1} & #2 \\
      \textit{\small#3} & \textit{\small #4} \\
    \end{tabular*}\vspace{-7pt}
}

\newcommand{\resumeSubSubheading}[2]{
    \item
    \begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
      \textit{\small#1} & \textit{\small #2} \\
    \end{tabular*}\vspace{-7pt}
}

\newcommand{\resumeProjectHeading}[2]{
    \item
    \begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
      \small#1 & #2 \\
    \end{tabular*}\vspace{-7pt}
}

\newcommand{\resumeSubItem}[1]{\resumeItem{#1}\vspace{-4pt}}

\renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$}

\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=0.15in, label={}]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}

%-------------------------------------------
%%%%%%  RESUME STARTS HERE  %%%%%%%%%%%%%%%%%%%%%%%%%%%%


\begin{document}

%----------HEADING----------
% \begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
%   \textbf{\href{http://sourabhbajaj.com/}{\Large Sourabh Bajaj}} & Email : \href{mailto:sourabh@sourabhbajaj.com}{sourabh@sourabhbajaj.com}\\
%   \href{http://sourabhbajaj.com/}{http://www.sourabhbajaj.com} & Mobile : +1-123-456-7890 \\
% \end{tabular*}

\begin{center}
    \textbf{\Huge \scshape John Olheiser} \\ \vspace{1pt}
    \href{mailto:john.olheiser@gmail.com}{\underline{john.olheiser@gmail.com}} $|$ 
    \small 701-425-6883 $|$ 
    \href{https://www.linkedin.com/in/jolheiser/}{\underline{linkedin.com/in/jolheiser}}
\end{center}


%-----------EDUCATION-----------
\section{Education}
  \resumeSubHeadingListStart
    \resumeSubheading
      {Bachelors of Science in Computer Information Systems}{Graduated August 2014}
      {University of Mary}{Bismarck, ND}
  \resumeSubHeadingListEnd



%-----------EXPERIENCE-----------
\section{Professional Experience}
  \resumeSubHeadingListStart
    \resumeSubheading
      {North Dakota Legislative Assembly}{July 2021 - Current}
      {Software Development Engineer}{Bismarck, ND}
      \resumeItemListStart
        \resumeItem{Increased application resiliency by replacing manual testing and deployment processes with automated continual integration, testing, and deployment pipelines.}
        \resumeItem{Enabled faster and safer development of new features utilizing internal APIs through the creation of API client wrappers in Java and Python.}
        \resumeItem{Improved developer experience and iteration time by creating new internal CLI tooling using Go.}
      \resumeItemListEnd
    \resumeSubSubheading
      {Programmer Analyst II}{September 2017 - July 2021}
        \resumeItemListStart
        \resumeItem{Created legislative bill tracking system allowing users to curate and track the status of bills from mobile devices using Typescript, Angular, and Java.}
        \resumeItem{Enabled legislative body to receive remote testimony by creating new testimony web application using Python, Django, and PostgreSQL.}
        \resumeItem{Coordinated migration of legacy Python 2 applications to Python 3 while maintaining application support.}
      \resumeItemListEnd
    \resumeSubSubheading
      {Programmer Analyst I}{January 2014 - September 2017}
        \resumeItemListStart
        \resumeItem{Improved the ability of state social workers to provide assistance by building evaluation and note taking application using Java, Spring, and MySQL. }
        \resumeItem{Lead effort to reduce vulnerabilities and improve development velocity by upgrading critical applications from Java 6 to Java 9.}
        \resumeItem{Modernized team's source control handling by leading effort to migrate source code from ClearCase and Subversion repositories to Git.}
      \resumeItemListEnd

  \resumeSubHeadingListEnd

\section{Open Source Experience}
  \resumeSubHeadingListStart
    \resumeSubheading
      {Gitea}{January 2019 - Current}
      {Technical Oversight Committee Member}{\href{https://gitea.io/en-us/}{gitea.io}}
      \resumeItemListStart
        \resumeItem{Core maintainer of the Gitea project, a Go based open source self hosted git frontend and tooling ecosystem.}
        \resumeItem{Enhanced ability of users to listen for specific event data when a repository changes through the implementation of a webhook based event system.}
        \resumeItem{Resolved security vulnerabilities through application of security patches and implementing automated security checks on codebase.}
      \resumeItemListEnd
    \resumeSubheading
        {WoodpeckerCI}{October 2021 - Current}
        {Contributor}{\href{https://woodpecker-ci.org/}{woodpecker-ci.org}}
      \resumeItemListStart
        \resumeItem{Contributor to Woodpecker CI, an open source, extensible, continuous integration tool for teams to automate build, testing, and deployment pipelines.}
        \resumeItem{Lead effort to allow clients to more accurately track changes in their woodpecker instances through refactoring of logging system. }
        \resumeItem{Improved end-user experience and onboarding by creating and improving documentation for woodpecker CLI}
      \resumeItemListEnd
  \resumeSubHeadingListEnd

%-----------PROJECTS-----------


%
%-----------PROGRAMMING SKILLS-----------
\section{Technical Skills}
 \begin{itemize}[leftmargin=0.15in, label={}]
    \small{\item{
     \textbf{Languages:}{ Java, Go, C\#, Python, SQL, Javascript, Typescript } \\
     \textbf{Technologies:} {Git, Docker, S3, Angular} \\
     \textbf{Other Knowledge:}{ Continuous Integration, Continuous Deployment, Debugging, Test Driven Development, HTML, CSS, REST}
    }}
 \end{itemize}


%-------------------------------------------
\end{document}
