\documentclass[letterpaper,10pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{tasks}
\usepackage[svgnames,table]{xcolor}
\usepackage{hyperref}
\usepackage{tabularx}
\usepackage{array}
% adds newline after paragraph, removes indent
\usepackage[skip=10pt]{parskip}

\arrayrulecolor{SteelBlue}
\setlength{\arrayrulewidth}{.5mm}
\colorlet{linkcolor}{SteelBlue}
\hypersetup{colorlinks,breaklinks,urlcolor=linkcolor}

% remove large spacing in lists
\setlength{\itemsep}{0pt}
\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt}

% 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*{Gabriel Venberg}
    \begin{tabular}{r l r l}
    \textsc{Address:} & Rheingaustraße 23a 65201 Wiesbaden, DE &
    \textsc{Phone:} & +49 157 3581 2667\\
    \textsc{Email:} & \href{mailto:gabevenberg@gmail.com}{gabevenberg@gmail.com}&
    \textsc{Website:} & \href{https://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*{Professional Summary}

\begin{itemize}
    \item 3 years of experience in software engineering.
    \item 2 year of experience with embedded Linux.
    \item Bachelors of science in computer science.
    \item Contributor to Python programming language standard library.
    \item Experience working across 8+hr timezone differences.
\end{itemize}

\section*{Skills Summary}

\begin{description}
    \item[Programming Languages:] Rust, Python, Bash, C, Nix
    \item[Frameworks: ] Yocto linux, Zephyr, Embassy, Nixpkgs, Pytest
    \item[Protocols: ] MQTT, REST, Embedded comms (SPI, I2C, UART, etc)
    \item[Tools:] Git, \LaTeX{}, Vim, Jenkins, KiCad
    \item[Linux Administration:] NGINX, Caddy, Docker, NixOS, Proxmox, SystemD, PostgreSQL
\end{description}

\section*{Work Experience}
    \experience
    {Assistme}
    {Embedded Software Engineer}
    {February 2025--Current}
    {
        \begin{itemize}
            \item Developed Linux distributions for an embedded system with Yocto Linux.
            \item Implemented package management and remote updates for Yocto Linux system.
            \item Implemented smart switching between Wifi and LTE in Linux system.
            \item Developed a Zephyr RTOS based IOT device for tracking of patient conditions.
            \item Implemented StrongSwan IOT vpn to allow remote access of devices in the field
            \item Implemented a Python based HIL testing system to test both Yocto and Zephyr based systems.
            \item Rewrote Python based embedded Linux application in Rust to improve performance, Bluetooth reliability, and shrink image size.
            \item Optimized system reliability and logging using SystemD
            \item Wrote documentation to enable compliance with standards including ISO 13485, ISO 14971, EN IEC 81001-5-1, IEC 62304 and IEC 60601
            \item Used Git and Github to collaborate with the team
        \end{itemize}
    }
    \experience
    {John Deere}
    {Embedded Linux Engineer}
    {August 2023--August 2024}
    {
        \begin{itemize}
            \item Developed Linux distributions for embedded systems with Yocto.
            \item Diagnosed, developed workarounds, and ultimately fixed errors in Linux hardware drivers.
            \item Upgraded kernel in an embedded Linux project from 4.9 to 6.1, and upgraded the same projects Yocto version from Zeus(3.0) to Kirkstone(4.0).
            \item Ported hardware drivers to new Linux kernel version.
            \item Code owner of Python api used for hardware essential to Hardware in the Loop testing, upgrading the API library to support 2 new hardware revisions.
            \item Developed tests and utilities for Python based Hardware in the Loop testing.
            \item Used Jenkins CI to continuously test products for regressions.
            \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 into the existing codebase,
                    and implementing suggestions from code reviewers.
                    Writing the tool in Rust allowed it to be integrated with the projects existing CLI tools.
                \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 proprietary 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}
    %     }

\section*{Education}
    \experience
        {North Dakota State University---Fargo, North Dakota}
        {Bachelors of Science in Computer Science.}
        {Graduated 2023}
        {}

    \experience
        {Alexandria Community College---Alexandria, Minnesota}
        {Associates Degree in Liberal Arts}
        {Graduated 2020}
        {}

\section*{Other Experience}
    \experience
        {Open Source Personal Projects}
        {Author of an Open Source Project.}
        {2025--present}
        {
            Author of Crabroll, a open source window blind controller for Home Assistant, built in Rust and running on an ESP32c3.
        }

    \experience
        {Homelab}
        {Home Linux Lab}
        {2019--present}
        {
            Run a home network consisting of 2 physical servers, 1 cloud server, and several virtual machines doing a variety of tasks,
            such as a DNS, a NGINX reverse proxy, and several web servers serving static and dynamic content.
            Currently running: Immich, Jellyfin, Home Assistant, Forgejo, Nixos, Mainsail, and a static website.
        }

    \experience
        {Open Source Development}
        {Contributor to various open source projects}
        {2022--present}
        {
            Have contributed patches, both large and small, to open source projects including Python, Nixpkgs, and Kata Containers.
        }

    \experience
        {3D printer hobbyist}
        {Build and operate various 3d printers}
        {2021--present}
        {
            Build, tune, and operate custom and kit 3d printers, my fleet includes a heavily modified Ender 3 running Klipper firmware (almost no original parts left) and a Voron Trident.
        }

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

    % \experience
    %     {National Cyber League}
    %     {Four-time competitor in the National Cyber League.}
    %     {2021, 2022, and 2023}
    %     {
    %         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 Embedded Software
%           \task C
%           \task Nix
%           \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}
