main.tex (15464B)
1 \documentclass{article} 2 \usepackage{bubblecv} 3 4 \begin{document} 5 6 7 \begin{cv}[_MG_4088]{Andreas Gruhler}{Senior System Engineer} 8 9 10 %\cvsection[person]{Profile} %----------------------------------------------------------- 11 12 %Open source enthusiast and sportsman. Engineer and technical project lead. 13 14 \cvsection[work]{Professional experience} %------------------------------------------------------ 15 16 \begin{cvevent}[Dec 2018][Dec 2024] 17 \cvname{Senior System Engineer} 18 \cvdescription{Adfinis AG, Zurich} 19 \begin{itemize} 20 \item Project manager and tech lead of small teams (3 to 4 people) for 21 multiple projects at the customer site 22 \item Vault subject matter expert (technology owner): Product documentation, best 23 practices, security issues, roadmap \& service development, 24 coordination \& communication with vendor and Adfinis teams 25 \item Operations, incident management, on-call and technical support 26 \item Pre-sales (offers \& estimations) and solution architecture 27 support 28 \item Automation and secrets management projects (e.g., GitLab, Vault): 29 Requirements engineering, architecture \& design, self-service, 30 client integrations in various environments (hybrid cloud, 31 on-prem, AWS, Azure, Google, etc.), platforms (VM, 32 Kubernetes, OpenShift) and industries with DevOps 33 methodology (e.g., GitOps and CI/CD) 34 \item Build and introduce MaxScale and MariaDB database architecture on 35 RHEL at Swiss telco 36 \item Architecture \& design, development and operations of a computing 37 platform for a Swiss school (Nextcloud, Collabora Online, 38 ProxySQL, MariaDB, Galera) 39 \item Maintenance and support for customer SLA systems and services 40 \item Contributions (code, support) to various upstream open source 41 projects 42 \item Public talks at various meetups \& conferences, customer 43 presentations, demos, blog posts 44 \end{itemize} 45 \end{cvevent} 46 47 \cvseparator[5] 48 \begin{cvevent}[Apr 2018][Aug 2018] 49 \cvname{IT Project Management Internship} 50 \cvdescription{Mobilize Financial Services (formerly, "RCI-Finance"), Zurich} 51 \begin{itemize} 52 \item IT project management support 53 \item Preparation and documentation of project meetings and workshops 54 \item Create status reports, test plans and templates 55 \item Support integration testing and roll-out of new business tool 56 \end{itemize} 57 \end{cvevent} 58 59 \cvseparator[5] 60 \begin{cvevent}[May 2017][Jan 2018] 61 \cvname{Software Developer} 62 \cvdescription{qiio (formerly, Smart Home Technology GmbH), Zurich} 63 \begin{itemize} 64 \item Software development with focus on IoT on Microsoft Azure 65 \item JavaScript (Sails.js) and C\# programming with Azure and .NET 66 framework 67 \item Development of an Azure microservice for cost analysis 68 \item Visualizations with Power BI 69 \end{itemize} 70 \end{cvevent} 71 72 \cvseparator[5] 73 \begin{cvevent}[Mar 2016][Jun 2016] 74 \cvname{Internship in Financial Services / Advisory IT Risk and Assurance} 75 \cvdescription{EY, Zurich} 76 \begin{itemize} 77 \item Contribute to project of Fraud Investigation \& Dispute Services (FIDS) 78 \item Evaluation and review of emails and documents according to legal criteria 79 \item Adminstrative tasks and support of counselor and team 80 \end{itemize} 81 \end{cvevent} 82 83 \cvseparator[5] 84 \begin{cvevent}[Jun 2013][Jun 2015] 85 \cvname{IT-Support} 86 \cvdescription{Accelerom AG, Zurich} 87 \begin{itemize} 88 \item Maintenance of server infrastructure (data server, VPN, Samba 89 shares, web server, backup server, data synchronization, 90 marketing software, networks, firewall, windows user 91 accounts and workstations, email, intranet) 92 \item Ensure smooth operations of live analysis and management tool 93 (incidient management) 94 \item Hardware support and installation 95 \item Software engineering for MarketConnex-Software with Java 96 (Groovy/Grails) and JavaScript 97 \end{itemize} 98 \end{cvevent} 99 100 \cvseparator[5] 101 \begin{cvevent}[Jun 2014][Sep 2014] 102 \cvname{Software Engineering Internship} 103 \cvdescription{Fachhochschule Nordwestschweiz (FHNW), Brugg} 104 \begin{itemize} 105 \item Software Engineering Internship under supervision of Prof. Dr. 106 Manfred Vogel at Fachhochschule Nordwestschweiz (FHNW), 107 Institute for Data Science (formerly, "4D-Technologies") 108 \item SCRUM-based software development with Java (Groovy/Grails) 109 and JavaScript for KTI project "CAFAIO: Crossmedial 110 Analytics Framework with Artificial Intelligence and 111 Optimization" 112 \item Extend the existing MarketConnex-Software with a 113 collaboration platform to discuss customer touchpoints 114 \end{itemize} 115 \end{cvevent} 116 117 \cvsection[education]{Education} %------------------------------------------------------ 118 119 \begin{cvevent}[Dec 2022][Mar 2023] 120 \cvname{Aspirant Swiss Snowsports Association (SSSA)} 121 \cvdescription{Swiss Ski School Savognin} 122 \end{cvevent} 123 124 \cvseparator[5] 125 \begin{cvevent}[2015][2018] 126 \cvname{Master in Information Systems} 127 \cvdescription{University of Zurich (UZH)} 128 \begin{itemize} 129 \item Master thesis: A Reputation and Reward Scheme for a 130 Cooperative, Multi-domain DDoS Defense 131 \item Explore design, implementation and evaluation of a 132 blockchain-based reputation and reward scheme to 133 incentivize participants and penalize malicious peers in a 134 cooperative defense 135 \item Master project: Blockchain in Automotive Industry 136 \item Elicit requirements for a novel digital car dossier, 137 resulting in a prototype with Hyperledger Fabric 138 \end{itemize} 139 \end{cvevent} 140 141 \cvseparator[5] 142 \begin{cvevent}[Aug 2016][Dec 2016] 143 \cvname{Exchange Semester} 144 \cvdescription{Nanyang Technological University (NTU), Singapore} 145 \begin{itemize} 146 \item Algorithms \& Theory of Computing 147 \item Informational Biology 148 \end{itemize} 149 \end{cvevent} 150 151 \cvseparator[5] 152 \begin{cvevent}[2012][2015] 153 \cvname{Bachelor in Information Systems} 154 \cvdescription{University of Zurich (UZH)} 155 \begin{itemize} 156 \item Bachelor thesis: Investigation of Resource Reallocation 157 Capabilities of KVM and OpenStack 158 \item Review concepts and evaluate tools to reallocate memory, CPU 159 cycles, disk I/O and network bandwidth on the hypervisor 160 layer 161 \item Document existing resource reallocation capabilities of the 162 Kernel-based Virtual Machine (KVM) hypervisor module 163 \item Explore mechanisms to facilitate similar tasks on the 164 orchestration layer with an experimental OpenStack Compute 165 (nova) extension 166 \end{itemize} 167 \end{cvevent} 168 169 \cvseparator[5] 170 \begin{cvevent}[2011][2012] 171 \cvname{Military Service} 172 \cvdescription{Swiss Army} 173 Serve in the "FU Ber Kp 104-2" as signaller 174 \end{cvevent} 175 176 \cvseparator[5] 177 \begin{cvevent}[2007][2011] 178 \cvname{High school} 179 \cvdescription{Seelandgymnasium Biel} 180 Study focus "Physics and Mathematics" 181 \end{cvevent} 182 183 \cvsection[education]{Research experience} %---------------------------------------------------------- 184 185 \begin{cvevent}[Sep 2018][Nov 2018] 186 \cvname{Research Assistant Communication Systems Group (CSG)} 187 \cvdescription{University of Zurich (UZH)} 188 Research in the area of blockchain, distributed ledgers and reputation 189 systems 190 \end{cvevent} 191 192 \cvsection[education]{Teaching experience} %---------------------------------------------------------- 193 194 \begin{cvevent}[Dec 2022][Mar 2023] 195 \cvname{Aspirant Swiss Snowsports Association (SSSA)} 196 \cvdescription{Swiss Ski School Savognin} 197 \begin{itemize} 198 \item Organize and realize skiing lessons for beginners and advanced skiers 199 \item Teaching and guidance for private and group classes of 4 to 6 200 adults or up to 12 kids on the mountain 201 \item Hold lessons in German, English and French 202 \item Support with demonstrations, shows and other touristic 203 activities 204 \end{itemize} 205 \end{cvevent} 206 207 \cvseparator[5] 208 \begin{cvevent}[Sep 2018][Nov 2018] 209 \cvname{Teaching Assistant Communication Systems Group (CSG)} 210 \cvdescription{University of Zurich (UZH)} 211 \begin{itemize} 212 \item Teaching assistant for the Communications Systems Lab under 213 guidance of Bruno Bastos Rodrigues and Prof. Dr. Burkhard 214 Stiller at the CSG 215 \item Develop and conduct Communication systems (ComSys) lab 216 sessions with students 217 \end{itemize} 218 \end{cvevent} 219 220 \cvsection[summary]{Publications} %---------------------------------------------------------- 221 222 \begin{cvevent}[][] 223 \cvname{Gruhler, Andreas, Bruno Rodrigues, and Burkhard Stiller. "A 224 Reputation Scheme for a Blockchain-based Network Cooperative Defense."} 225 \cvdescription{2019 IFIP/IEEE Symposium on Integrated Network and Service 226 Management (IM). IEEE, 2019.} 227 \end{cvevent} 228 229 \cvsection[summary]{Co-authored blog posts} %---------------------------------------------------------- 230 231 \begin{cvevent}[Nov 2023][] 232 \cvname{Secret zero with ACME} 233 \cvdescription{\href{https://adfinis.com/en/blog/secret-zero-with-acme}{Link}} 234 \end{cvevent} 235 236 \cvseparator[5] 237 \begin{cvevent}[Jun 2023][] 238 \cvname{HashiDays Munich 2023} 239 \cvdescription{\href{https://adfinis.com/en/blog/hashidays-munich-2023}{Link}} 240 \end{cvevent} 241 242 \cvseparator[5] 243 \begin{cvevent}[Dec 2022][] 244 \cvname{HashiCorp Vault on Exoscale Scalable Kubernetes Service (SKS)} 245 \cvdescription{\href{https://adfinis.com/blog/hashicorp-vault-on-exoscale-scalable-kubernetes-service-sks}{Link}} 246 \end{cvevent} 247 248 \cvseparator[5] 249 \begin{cvevent}[Jul 2021][] 250 \cvname{How to Manage Secret Keys with HashiCorp Vault} 251 \cvdescription{\href{https://adfinis.com/en/blog/how-to-manage-secret-keys-with-hashicorp-vault}{Link}} 252 \end{cvevent} 253 254 \cvseparator[5] 255 \begin{cvevent}[Mar 2021][] 256 \cvname{Database Clustering with Galera Cluster and Galera Manager} 257 \cvdescription{\href{https://adfinis.com/en/blog/database-clustering-with-galera-cluster-and-galera-manager}{Link}} 258 \end{cvevent} 259 260 \cvseparator[5] 261 \begin{cvevent}[Jul 2019][] 262 \cvname{HashiConf Europe 2019} 263 \cvdescription{\href{https://adfinis.com/en/blog/hashiconf-europe-2019}{Link}} 264 \end{cvevent} 265 266 \cvsection[publications]{Public speaking} %---------------------------------------------------------- 267 268 \begin{cvevent}[Jun 2024][] 269 \cvname{PostgreSQL in the snow} 270 \cvdescription{PGDay 2024 lightning talk} 271 \begin{itemize} 272 \item \href{https://www.pgday.ch/2024/\#schedule}{Schedule} 273 \item \href{https://www.pgday.ch/common/slides/2024_Lightning_Talks_Swiss_PGDay_2024.pdf}{Slides} (p. 38) 274 \item \href{https://code.in0rdr.ch/myheats}{Code} 275 \item \href{https://myheats-demo.p0c.ch}{Demo} 276 \item It was demonstrated how the scoring process for freestyle 277 events (e.g., slopestlye ski/snowboard) can be improved 278 with a live-updating leaderboard. The leaderboard makes use 279 PostgreSQL publications to continuously refresh the current 280 ranking. The Supabase platform enables rapid prototyping. 281 \end{itemize} 282 \end{cvevent} 283 284 \cvseparator[5] 285 \begin{cvevent}[Dec 2022][] 286 \cvname{Build, run and manage with Zero Trust on a Swiss Cloud} 287 \cvdescription{Zürich HashiCorp User Group (HUG)} 288 \begin{itemize} 289 \item \href{https://www.meetup.com/zurich-hashicorp-user-group/events/289349205}{Meetup} 290 \item \href{https://cv.in0rdr.ch/assets/pdf/HashiCorp_Vault_Enterprise_on_Exoscale.pdf}{Presentation} 291 \item \href{https://github.com/adfinis/sks-vault-demo}{Demo code} 292 \item Vault Deployment on Exoscale Scalable Kubernetes Service 293 (SKS) 294 \item Deploy Vault on Exoscale SKS with ArgoCD. In this short 295 rundown we will provision a Kubernetes cluster on Exoscale 296 (SKS), install ArgoCD and use that to spin up HashiCorp 297 Vault Enterprise. At the end of this session, you will also 298 be able to leverage the best practices around the "App of 299 Apps" approach for your projects, which we already use at 300 Adfinis to manage the lifecycle of mulitple apps across 301 clusters and customers. 302 \end{itemize} 303 \end{cvevent} 304 305 \cvseparator[5] 306 \begin{cvevent}[Jun 2019][] 307 \cvname{Traceable, fast and open - Ansible learnings from the capital city} 308 \cvdescription{Ansible Meetup Bern} 309 \begin{itemize} 310 \item \href{https://www.meetup.com/ansible-bern/events/262121854}{Meetup} 311 \item A stack of open source components is being built for the 312 public administration. The Red Hat stack could demonstrate 313 its strengths in many ways. A main advantage is Ansible for 314 day 1 and day 2 operations. Some processes could be 315 optimized to save precious time and tax money. 316 \end{itemize} 317 \end{cvevent} 318 319 \cvsidebar %----------------------------------------------------------------------------- 320 321 322 \cvsection[contact]{Contact} %---------------------------------------------------------- 323 324 \begin{cvitem}[Envelope][4] 325 \textbf{Email}\\ 326 \href{mailto:agruhl@gmx.ch}{\texttt{agruhl@gmx.ch}} 327 \end{cvitem} 328 329 \cvseparator[3] 330 \begin{cvitem}[Phone][4] 331 \textbf{Phone}\\ 332 \href{tel:+41774118542}{\texttt{+41 77 411 85 42}} 333 \end{cvitem} 334 335 \cvseparator[3] 336 \begin{cvitem}[Home][4] 337 \textbf{Address}\\ 338 Zurich, Switzerland 339 \end{cvitem} 340 341 \cvseparator[3] 342 \begin{cvitem}[Globe][4] 343 \textbf{Website}\\ 344 \href{https://cv.in0rdr.ch}{\texttt{cv.in0rdr.ch}} 345 \end{cvitem} 346 347 \cvsection[skills]{Certifications} %----------------------------------------------------------- 348 349 \begin{cvitem} 350 AWS Certified Solutions Architect – Associate 351 \end{cvitem} 352 \cvseparator[3] 353 \begin{cvitem} 354 CKA: Certified Kubernetes Administrator 355 \end{cvitem} 356 \cvseparator[3] 357 \begin{cvitem} 358 HashiCorp Certified: Vault Operations Professional 359 \end{cvitem} 360 \cvseparator[3] 361 \begin{cvitem} 362 HashiCorp Certified: Terraform Associate 363 \end{cvitem} 364 \cvseparator[3] 365 \begin{cvitem} 366 \href{https://www.credly.com/users/andreas-gruhler/badges}{Credly Badges} 367 \end{cvitem} 368 369 \cvsection[languages]{Languages} %-------------------------------------------------------- 370 371 \cvskill{German}{Fluent}{1.0} 372 \cvskill{English}{Intermediate}{0.6} 373 \cvskill{French}{Basic}{0.3} 374 375 \end{cv} 376 377 \cvfootnote{ 378 \tiny last updated 2024-11-15, 379 \href{https://github.com/mateuszbaransanok/BubbleCV}{BubbleCV} template 380 by Mateusz Baran 381 } 382 383 \end{document} 384