\documentclass[letterpaper,10pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{tasks}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{tabularx}
\usepackage{array}
% adds newline after paragraph, removes indent
\usepackage[skip=10pt plus1pt]{parskip}
\definecolor{linkcolor}{rgb}{0,0.2,0.6}
\hypersetup{colorlinks,breaklinks,urlcolor=linkcolor}

% right aligned column
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}

% format two pieces of text, one left aligned and one right aligned
\newcommand{\experience}[4]{
    \begin{tabularx}{\textwidth}{L R}
        \multicolumn{2}{p{\textwidth}}{\textbf{#1}}\\
        \textsc{#2} & #3 \\
        \hline
        \multicolumn{2}{p{\textwidth}}{#4}
    \end{tabularx}
}

\begin{document}
\pagestyle{empty}%non numbered pages
\section*{Gabe Venberg}
    \begin{tabular}{r l}
    %\textsc{Address:} & 1005 7th Ave N Fargo ND 58102\\
    \textsc{Phone:} & (218) 517-0917\\
    \textsc{Email:} & \href{mailto:gabevenberg@gmail.com}{gabevenberg@gmail.com}\\
    \textsc{Website:} & \href{gabevenberg.com}{gabevenberg.com}\\
    \textsc{GitHub:} & \href{https://github.com/gabevenberg}{github.com/gabevenberg}\\
    \textsc{Personal Git server:} & \href{https://git.venberg.xyz/Gabe}{git.venberg.xyz/Gabe}\\
    \end{tabular}
\section*{Work Experience}
    \experience
    {John Deere}
    {Embedded Linux Engineer}
    {August 2023--July 2024}
    {
        \begin{itemize}
            \item Developed Linux distributions for embedded systems with Yocto.
            \item Upgraded kernel in an embedded Linux project from 4.9 to 6.1, and upgraded the same projects Yocto version from Zeus to Klondike.
            \item Ported hardware drivers to new linux kernel version.
            \item Was code owner for python api for testing hardware used in Hardware in the Loop testing.
            \item Developed tests and utilities for python based Hardware in the Loop testing.
            \item Used Git and Github to collaborate across teams.
        \end{itemize}
    }
    \experience
        {Appareo Systems}
        {Embedded Systems Intern}
        {May 2023--July 2023}
        {
            \begin{itemize}
                \item Implemented and ran functional testing on embedded Linux product,
                    including designing test fixtures using Raspberry Pis to automate testing of electrical properties and RF connectivity.
            \end{itemize}
        }

    \experience
        {Kata Containers}
        {Capstone Student}
        {January 2023--May 2023}
        {
            \begin{itemize}
                \item Implemented a Rust-based log parser for the Kata Containers project,
                    including writing unit tests, integrating the tool with existing codebase,
                    and implementing suggestions from code reviewers.
                \item Collaborated using the GitHub workflow, chat rooms,
                    and video chat remotely and across 8+hr timezone difference.
            \end{itemize}
        }

    \experience
        {Corvent Medical}
        {Software Engineering Intern}
        {May 2022--August 2022}
        {
            \begin{itemize}
                \item Wrote python scripts to translate requirements from word documents into a
                    format understood by a propriatary requirements analysis tool.
                \item Performed requirements analysis, wrote and performed software and hardware test procedures,
                    and analyzed test coverage to enable regulatory approval of a new medical device.
            \end{itemize}
        }

    % \experience
    %     {ByteSpeed}
    %     {Computer Technician}
    %     {Summer 2021}
    %     {
    %         \begin{itemize}
    %             \item Performed troubleshooting and repair on warrantied computers.
    %             \item Helped customers with a variety of problems over email, phone, and instant messaging.
    %         \end{itemize}
    %     }

    \experience
        {NDSU Precision Agriculture Center}
        {Part Time Developer}
        {September 2020--May 2021}
        {
            \begin{itemize}
                \item Implemented methods of preprocessing LIDAR data with python for a project to predict crop yield using machine learning.
            \end{itemize}
        }

    % \experience
    %     {Integrating Networking}
    %     {Tier 1 and 2 Tech}
    %     {2019--2020}
    %     {
    %         \begin{itemize}
    %             \item Performed troubleshooting, repairs, and upgrades on customer computers.
    %             \item Performed network setup for institutional and home networks.
    %             \item Estimated cost of customer solutions, including researching and comparing price across vendors.
    %             \item Implemented a variety of more complex `one off' projects for clients with specific needs.
    %         \end{itemize}
    %     }

\newpage
\section*{Education}
    \experience
        {NDSU---Fargo, North Dakota}
        {BS in Computer Science}
        {Graduated 2023}
        {}

    \experience
        {Alexandria Community College---Alexandria, Minnesota}
        {General Ed Associates Degree}
        {Graduated 2020}
        {}
\begin{minipage}{\linewidth}
    \section*{Technology Skills}
    \begin{tasks}[style=itemize](3)
    \task Rust
    \task Python
    \task Java
    \task Bash
    \task C
    \task Git version control system
    \task Linux administration
    \task Embedded Linux
    \task Network administration
    \task Computer repair
    \task \LaTeX{} markup language
    \task Googling
    \end{tasks}
\end{minipage}

\section*{Other Experience}
    \experience
        {Homelab}
        {Home Linux Lab}
        {2019--present}
        {
            Run a home network consisting of 2 physical servers and 6 virtual machines doing a variety of tasks,
            such as a DNS, an NGINX reverse proxy, and several web servers serving static and dynamic content.
            Currently running: Nextcloud, Forgejo, PiHole, Nixos, Mainsail, and a static website.
        }

    \experience
        {Open Source Development}
        {Contributor to various open source projects}
        {2022--present}
        {
            Have contributed patches of a variety of sizes to open source projects including Python and Kata Containers.
        }

    \experience
        {Custom keyboards}
        {Building and soldering custom keyboards}
        {2023--present}
        {
            Have built 2 custom split keyboards with a focus on ergonomics and portability.
        }

    \experience
        {National Cyber League}
        {Four-time competitor in the National Cyber League.}
        {2021, '22, and '23}
        {
            Competed for NDSU in the bi-annual National Cyber League in individual and team games,
            placing in the top 500 individuals and top 200 teams nationwide for three competitions.
        }

\newpage
% \section*{keywords}
%   {\small
%   If you, a human, are reading this, you don't have to. This is just a list of keywords that the automated filters always want, but are either just alternate wordings of things already on the resume, are in places of the resume that I have found parsers have trouble with, or are trivial (like office experience). All keywords \emph{are} applicable to me.
%   \tiny
%   \begin{tasks}[style=itemize](5)
%           \task Java
%           \task Python
%           \task Rust
%           \task Scientific data processing
%           \task Web Scraping
%           \task Linux BASH scripting.
%           \task Linux / UNIX command line
%           \task Linux / UNIX administration
%           \task Network Administration
%           \task NGINX reverse proxies
%           \task NGINX and Apache experience
%           \task SSH remote management
%           \task Proxmox
%           \task Virtual Machine
%           \task Computer maintenance and repair
%           \task LaTeX document markup language.
%           \task Microsoft Word
%           \task Microsoft Excel
%           \task Word Processing
%           \task Communication
%           \task Customer Support
%           \task Cyber Security
%           \task Agile
%           \task Waterfall
%           \task Software Testing
%           \task Backup
%           \task VPN
%           \task Collaboration
%           \task Spreadsheet
%           \task git
%           \task version control
%           \task VCS
%           \task leadership
%   \end{tasks}
%   }
\end{document}
