% NVIDIA — Senior DevOps Engineer (Zurich, req JR2024256) % International Tech profile. Generated 2026-09-04 from resume_builder/canonical/claims.json % plus normalized experience files. Session: session_nvidia_sr_devops.md \documentclass{resume} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} % English-language document: TeX's default hyphenation patterns are correct here. % A German package would need \usepackage[ngerman]{babel} — see the template's language note. \usepackage[a4paper,left=0.65in,right=0.65in,top=0.55in,bottom=0.55in]{geometry} \usepackage{xcolor} \usepackage{hyperref} \hypersetup{hidelinks} \usepackage[version=4]{mhchem} \usepackage{fancyhdr} \pagestyle{fancy} \fancyhf{} \renewcommand{\headrulewidth}{0pt} \fancyfoot[R]{\small \thepage/\pageref{LastPage}} \name{Dennis Thiessen, M.Eng.} \headline{Staff Engineer $\vert$ Linux, Ansible \& Kubernetes $\vert$ CI/CD and Infrastructure Automation} \contactline{Bern, Switzerland $\vert$ \href{mailto:dennis@thiessen.io}{dennis@thiessen.io} $\vert$ +41 795 955 585 $\vert$ \href{https://linkedin.com/in/dennis-thiessen}{LinkedIn} $\vert$ EU citizen, Swiss B permit} \begin{document} \begin{rSection}{Summary} Engineer with over ten years building the automation and delivery layer that engineering and research teams rely on: Jenkins and GitLab CI/CD, containerized delivery on Kubernetes, and Ansible-driven Linux server automation. Integrated containerized ML inference into a continuously operating semiconductor fab, and today owns business-critical pipeline components on call at Swisscom. \end{rSection} \begin{rSection}{Technical Skills} % Debian only: claims.json has Debian x2, Ubuntu x0 (PP-3 is a Debian server). The % Debian-to-Ubuntu transfer argument is an interview answer, not a skills-line claim. \skillline{Infrastructure and automation}{Linux administration (Debian), Ansible configuration management including custom plugins, Kubernetes container orchestration, Docker, infrastructure as code (CloudFormation)} \skillline{CI/CD and delivery}{GitLab CI/CD, Jenkins, containerized build and deployment, automated testing and quality gates} % Hardening is marked personal-side per the explicit claims.json instruction on Linux % administration: the evidence "leans on the personal side; say so". \skillline{Operations}{On-call and incident response, SLO definition and service reliability, application and component ownership, DevSecOps; security hardening (personal server)} \skillline{Monitoring and observability}{ELK Stack (Elasticsearch, Logstash, Kibana), Grafana, Prometheus, Loki --- proof-of-concept work} \skillline{Cloud and data}{AWS (S3, Glue, Athena/Iceberg, Redshift, Airflow), Apache Kafka, PySpark, Oracle, Teradata, Hadoop/Impala} % Bash added 2026-09-05 after the user confirmed it; now canonical in claims.json % (production-historical-and-personal-current, same evidence basis as Linux administration). % Groovy stays out - still unverified and forbidden. \skillline{Languages and certifications}{Python, Bash, SQL; Java and C\# (professional, historical); C++ (limited historical use). AWS Solutions Architect -- Associate; Data Engineering with AWS; iSAQB CPSA-F; ITIL Foundation} \end{rSection} \begin{rSection}{Professional Experience} \begin{rSubsection}{Swisscom (Schweiz) AG}{Oct 2023 -- Present}{Staff Data, Analytics \& AI Engineer (promoted from Senior, Apr 2025)}{Bern, Switzerland} \item Build and operate Python data applications on Kubernetes with GitLab CI/CD, covering containerized delivery from test through production operation in an agile team. \item Own business-critical Fulfillment ETL components as Component Owner with on-call duty for their production operation and data quality. \item Migrated the Fulfillment and Product Analysis domains' legacy Teradata and Oracle ETL onto Swisscom's AWS platform using Glue, Athena/Iceberg, Redshift, Airflow and CloudFormation, contributing to the wider migration programme. \item Serve as the team's Security Champion for 2025/2026 with responsibility for security compliance and deviation tracking across its pipelines, after 100 hours of DevSecOps training. \item Model and build governed data products with active metadata management inside Swisscom's company-wide Data Mesh on AWS, using Glue, Athena and CloudFormation. \end{rSubsection} \end{rSection} % Forced break kept: letting LaTeX flow naturally split the Bosch position across pages with no % continuation header, which costs more in information hierarchy than page-1 white space does. \newpage \begin{rSection}{Professional Experience (continued)} \begin{rSubsection}{Robert Bosch Semiconductor Manufacturing Dresden GmbH}{Feb 2020 -- Dec 2022}{Senior Data Engineer, Data Analysis (promoted from Data Engineer, Jan 2021)}{Dresden, Germany} \item Administered and automated the Linux server estate behind fab analytics and ML workloads --- ML platform hosts, Docker hosts and backend services --- with Ansible playbooks version-controlled in Git and applied from Jenkins and GitLab pipelines. \item Extended Ansible with a custom credential plugin that retrieved secrets from a password keystore and cached them locally, cutting repeated lookups. \item Integrated containerized ML inference into a continuously operating semiconductor fab using Docker, Kubernetes and Ansible, automating image-based defect classification and reducing manual inspection work for line engineers. \item Built an anomaly-detection proof of concept on ELK and Kafka in Docker, with Grafana, Prometheus and Loki monitoring, to validate centralized logging and alerting for 24/7 production systems. \end{rSubsection} \begin{rSubsection}{Fraunhofer CML}{Sep 2018 -- Oct 2019}{Research Software Engineer}{Hamburg, Germany} \item Set up the research team's first Jenkins CI/CD pipeline with quality gates while developing C\#/.NET software and containerized microservices for maritime research platforms. \end{rSubsection} \begin{rSubsection}{Vizrt}{Jul 2017 -- May 2018}{Test Automation / DevOps Engineer}{Bergen, Norway} \item Automated audio and video integration testing in Python for broadcast software, then wired the suite into CI/CD quality gates to shorten the feedback loop on new features. \end{rSubsection} \begin{rSubsection}{Generali Deutschland Informatik Services GmbH}{May 2015 -- Jun 2017}{IT Consultant}{Hamburg, Germany} \item Introduced BDD test automation through a proof of concept and held technical responsibility for the suite and its Jenkins jobs, training colleagues across the internal Java community. \end{rSubsection} \end{rSection} \begin{rSection}{Personal Projects} % No date range: claims.json PP-3 records only a self-reported "~10 years", so a precise % start year would assert more than the KB supports. The bullet carries the approximation. \begin{rSubsection}{Self-hosted Linux server}{Ongoing}{Personal project}{} \item Run and harden a self-hosted Debian server in continuous operation for around ten years, serving nginx, mail, Nextcloud, a VPN and Docker services. \end{rSubsection} \end{rSection} \begin{rSection}{Education} \compactentry{M.Eng. Computer Aided Engineering (Software Design \& Engineering), Universität der Bundeswehr München}{Apr 2012 -- Oct 2013} % Thesis grade omitted: claims.json grade_output_rule allows the 1.0 only "where academic % performance is genuinely valued". A 10+-years hands-on infrastructure role is not that. Thesis at Tongji University, Shanghai: \textit{Development of a Web-Based Remote Fault Diagnosis System}. \compactentry{B.Eng. Information and Telecommunication Technologies, Universität der Bundeswehr München}{Oct 2009 -- Oct 2012} \end{rSection} \end{document}