%-------------------------
% Resume in Latex
% Author : Sourabh Bajaj
% 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}

\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}]

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

\newcommand{\resumeItemNoBold}[2]{
  \item\small{
    \textbf{#1}{#2 \vspace{-2pt}}
  }
}

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

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


\renewcommand{\labelitemii}{$\circ$}

\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=*]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}[leftmargin=*]}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}

%-------------------------------------------
%%%%%%  CV STARTS HERE  %%%%%%%%%%%%%%%%%%%%%%%%%%%%


\begin{document}

%----------HEADING-----------------
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
  \textbf{\href{https://linkedin.com/in/alexlundberg/}{\Large Alex Lundberg}} & Email : \href{mailto:alex.lundberg@gmail.com}{alex.lundberg@gmail.com}\\
  \href{https://linkedin.com/in/alexlundberg}{https://linkedin.com/in/alexlundberg} & Mobile : 920-933-9805 \\
  \href{https://medium.com/@lundbird}{https://medium.com/@lundbird} & Madison, WI.
\end{tabular*}


%-----------EXPERIENCE-----------------
\section{Experience}
  \resumeSubHeadingListStart

  \resumeSubheading
  {CommonBond}{New York City, NY}
  {DevOps Engineer}{July 2019 - Current }
  \resumeItemListStart
      \resumeItem{GitlabCI}
        {Created CI for go projects which added parellelized build/test, code quality/security, regression tests, environment provisioning, and Kubernetes/ArgoCD deployments. Migrated majority of existing projects to new CI}
      \resumeItem{Terraform}
        {Managed all infrastructure with Terraform. Standardized all new terraform into two monorepos to manage resources and modules. Added Terragrunt tests, linting, and auto-docs. Used Atlantis for approvals.}
      \resumeItem{Kubernetes}
        {Maintained three Kubernetes clusters. Managed cluster autoscaling and upgrades using Kops. Installed third-party apps using Helm. Controlled routing with Traefik. Managed all application manifests in a monorepo.}
      \resumeItem{Monitoring}
        {Maintained Prometheus as monitoring and alerting solution. Created Prometheus rules and grafana dashboards. Researched and deployed multi-tenant long-term storage solution for Prometheus with Victoria-Metrics.}
      \resumeItem{Service Mesh}
        {Demo'd service mesh solutions Istio, Linkerd, and Maesh. Championed Linkerd service mesh within company. Deployed Linkerd with custom dashboard which dramatically improved monitoring with route level metrics}
      \resumeItem{On-Call}
        {Participated in on-call rotation with other DevOps engineers. Resolved errors in Gitlabci, Jenkins jobs, lambdas, firewalls, DNS, schema changes, Looker reporting, ETL failures, and Kubernetes deployments.}
      \resumeItem{Data Engineering}
        {Architected new data lake ETL framework with AWS-Glue. Created Terraform modules to deploy infrastructure and pyspark libraries to perform transformations. Setup connection to Snowflake.}
      \resumeItem{GitOps}
        {Created templated Kubernetes manifests which use Kustomize to management environment configuration and ArgoCD to synchronize git changes. Updated all active projects to use new templates.}
      \resumeItem{Security \& Compliance}
        {Was designated owner for over half of organization SOC2 controls. Enforced, tracked, and reported control status when working directly with auditor. }
      \resumeItem{Management}
        {Managed two engineers for four months. Migrated project management from Jira to Gitlab. Standardized support requests with templates. Ran all agile ceremonies}
      \resumeItemListEnd

    \resumeSubheading
      {S\&C Electric}{Chicago, IL}
      {DevOps Engineer Intern}{May 2018 - Aug 2018}
      \resumeItemListStart
        \resumeItem{CI}
          {Configured new testing machines into Jenkins pipelines. Troubleshooted build errors and network configuration.}

      \resumeItemListEnd

      \resumeSubheading
      {S\&C Electric}{Chicago, IL}
      {Software Engineer Intern}{Sep 2017 - Dec 2017}
      \resumeItemListStart
        \resumeItem{ML}
          {Created ML models with pandas and sklearn to predict failure causing events on injection molding machines}
      \resumeItemListEnd

    \resumeSubheading
      {Domtar}{Nekoosa, WI}
      {Software Engineer Intern}{Jan 2017 - Aug 2017}
      \resumeItemListStart
        \resumeItem{.NET}
          {Developed C\# apps that pull metrics, set limits, and display alarms/logs to operators and management.}
      \resumeItemListEnd

  \resumeSubHeadingListEnd


%-----------PROJECTS-----------------
\section{Selected Projects and Contributions}
  \resumeSubHeadingListStart
    \resumeSubItem{Gitlab-Python API}
        {Adds Kubernetes cluster management feature to Gitlab api.}
    \resumeSubItem{Linkerd Route Dashboard}
        {Provides a grafana dashboard showing route-level metrics for the Linkerd service mesh}
    \resumeSubItem{Redis Helm}
        {Provided fix to bug preventing high-availability of redis-clusters running on Kubernetes.}
    \resumeSubItem{AutoGui}
      {Personal open-source Python/C\# library for Windows GUI automation/testing using element properties}
  \resumeSubHeadingListEnd

\section{Programming Skills}
  \resumeSubHeadingListStart
    \item{
      \textbf{Technologies:}{ Gitlab, Kubernetes, Airflow, AWS, Terraform, Prometheus, Snowflake, Looker, NATS, Docker} \\
      \textbf{Languages:}{ Golang, Python, Java, C, SQL, C\#, NodeJS}
      \hfill
    }
  \resumeSubHeadingListEnd

  %-----------EDUCATION-----------------
\section{Education}
\resumeSubHeadingListStart
  \resumeSubheading
    {University of Wisconsin Madison}{Madison, WI}
    {B.S. Computer Science;  GPA: 3.75/4.00}{May 2019}
\resumeSubHeadingListEnd
\section{Active Certifications}
  \resumeSubHeadingListStart
    \resumeSubItemNoBold{}
    {AWS Solution Architect Associate, AWS Developer Associate, AWS SysOps Administrator Associate, Certified Kubernetes Administrator(CKA), Certified Kubernetes Application Developer(CKAD)}
  \resumeSubHeadingListEnd

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