% !TEX program = lualatex
\documentclass[fontsize=11pt, DIV=13]{scrartcl}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{scrlayer-scrpage}
\usepackage{lastpage}
\usepackage[TextAligned, NoDate]{currvita}
\usepackage{csquotes}
\usepackage{microtype}

\setmainlanguage{english}
\setmainfont{EB Garamond}[BoldFont=*-Semibold,Ligatures=TeX]
\setkomafont{pagefoot}{\normalfont\rmfamily\upshape}
\setkomafont{pagenumber}{\normalfont\rmfamily\upshape}

\pagestyle{empty}

\newcommand{\cvsection}[1]{\par\textbf{\large#1}\par}
\newcommand{\cvsubsection}[1]{\par\textbf{\normalsize#1}\par}
\renewcommand*{\cvlistheadingfont}{\bfseries\Large}

\AtBeginDocument{\settowidth{\cvlabelwidth}{\cvlabelfont 2020-03 – 2020-07}}

\begin{document}
\begin{raggedright}

\begin{center}
    \bfseries\Huge Johannes Loher

    \vspace{3mm}
    \mdseries\normalsize Elsenheimerstraße 20, 80687 München

    +49 89 32791433 \hspace{1mm} johannes.loher@fg4f.de
\end{center}

\end{raggedright}
\begin{cv}{}
    \begin{cvlist}{Profile}
    \item Highly motivated Software Engineer with two and a half years
    experience developing robust and scalable applications for the cloud and the
    ability to learn very fast. Has deep knowledge about a lot of different
    programming languages and frequently attends events and conferences related
    to many different aspects of modern software development.
    \end{cvlist}
    \begin{cvlist}{Experience}
        \item[2020-03 -- present] \cvsection{Software Engineer}
        Autonomous Intelligent Driving GmbH (acquired by Argo AI), Munich 
        \cvsubsection{Key Responsibilities}
        \begin{itemize}
            \item Development of tools that improve the quality and
            verifiability of code and speed up the developer feedback cycle
            \item Acting as Scrum Master for the team
        \end{itemize}
        \cvsubsection{Key Achievements}
        \begin{itemize}
            \item Implementation of a tool to continuously calculate KPIs for
            part of the perception stack of the self-driving system based on
            replaying recorded sensor data to the system and comparing the
            output with labelled data
            \item Implementation of tooling to run tests as part of continuous
            integration using cars as a Hardware in the Loop system
            \item Implementation of a tool to automatically generate stack
            traces for crashes during tests running on cars as Hardware in the
            Loop system
        \end{itemize}
        \cvsubsection{Key Technologies}
        AWS, Bamboo, Bazel, C++, Docker, Kubernetes, Python

        \item[2018-02 -- 2020-02] \cvsection{Software Engineer}
        MaibornWolff GmbH, Munich
        \cvsubsection{Key Responsibilities}
        \begin{itemize}
            \item Design and development of scalable backend applications in a
            cloud-based microservice architecture as part of a Scrum team using
            Java and Kotlin
            \item Refinement of business requirements and technical
            specification
            \item Technical lead for the React Native based iOS app for the
            ridehailing project by ReachNow China
        \end{itemize}
        \cvsubsection{Key Achievements}
        \begin{itemize}
            \item Design and implementation of a system responsible for
            automatically buying thousands of parking tickets per day on demand
            \item Design and implementation of an automatic alerting system for problems
            with cars
            \item Successfull go-live of the ridehailing project by ReachNow
            China
        \end{itemize}
        \cvsubsection{Key Technologies}
        AWS, Docker, Flow, GitLab CI, Java, Kotlin, Kubernetes, MQTT,
        PostgreSQL, React Native, Redux, RxJS, Spring Boot

        \item[2011-06 -- 2011-08] \cvsection{Intern for Software Engineering}
        OptWare GmbH, Regensburg
        \cvsubsection{Key Responsibilities}
        \begin{itemize}
            \item Creation of unattended installation setups for both Windows
            and Ubuntu
            \item Approximation of a frequency distribution using GNU Octave
        \end{itemize}
    \end{cvlist}
    \begin{cvlist}{Education}
        \item[2014-10 -- 2017-09] \cvsection{Universität Regensburg, M.Sc.
        Mathematics}
        \begin{itemize}
            \item Graduated with a final mark of 1.3
            \item Specialized in algebraic geometry and algebraic topology
        \end{itemize}

        \item[2011-10 -- 2014-09] \cvsection{Universität Regensburg, B.Sc.
        Mathematics}
        \begin{itemize}
            \item Graduated with a final mark of 2.0
            \item Specialized in algebraic geometry
        \end{itemize}
    \end{cvlist}
    \begin{cvlist}{Certificates}
        \item[2019-07] Oracle Certified Associate, Java SE 8 Programmer
    \end{cvlist} 
    \begin{cvlist}{Languages}
        \item[German] Native proficiency
        \item[English] Full professional proficiency
    \end{cvlist}
    \begin{cvlist}{Skills}
        \item[Languages] C, C++, D, Java, JavaScript, Kotlin, Python, TypeScript
        \item[Technologies] AWS, Bazel, Docker, Flow, GitLab CI, Gradle,
        Grafana, Helm, Kibana, Kubernetes, MQTT, Prometheus, React Native,
        Redux, RxJS, PostreSQL, Spring Boot, vibe.d
        \item[Methods] Kanban, Liberating Structures, mob programming, pair
        programming, Scrum, test-driven development
    \end{cvlist}

    \begin{cvlist}{Engagement}
        \item[2013-10 -- 2015-09] Elected representative of the student council
        for mathematics at Universität Regensburg
        \item[2012-04 -- 2017-09] Member of the student council for mathematics
        at Universität Regensburg
    \end{cvlist}
\end{cv}
\end{document}
\endinput
