Petteri Zitting

About me

A smart and detail-oriented DevOps Engineer from Kainuu, Finland who enjoys programming. Experienced in Cloud Infrastructure and modern DevOps solutions. Worked in the service industry before game engineering studies after which moved to the games and tech industry. Have been hacking away at computers and electronics since the early 2000s. Always looking for new things to research or learn! Avid gamer.

Me elsewhere

Skills

Cloud infrastructure and cloud solutions

  • Google Cloud Platform (GCP)
  • Amazon Web Services (AWS)

Build and process automation (CI/CD)

  • GitLab CI
  • Jenkins
  • GitHub Actions

Full-stack development with a focus on the backend

  • Typescript/Javascript servers and simple frontends
  • Golang backends and tooling
  • Python backends and tooling

Projects

Check out these past projects!

Infinigolf (Unity)

Android

Overview

Mobile game development in the form of an "infinite runner" -style minigolf game.

  • Prototype developed solo in about 3 months
Acquired expertise

  • Algorithms and data structures (procedural generation)
  • Advanced cameras and directing (Cinemachine)
  • Data tweening (DOTween)
  • 3D modeling (DOTween)
  • Node-based shader progamming (Shader Graph)
  • Object pooling (LeanPool)
  • Query building (LINQ)
  • Market research (Mobile)
  • Publishing (Store requirements)
Languages

  • C# (Unity)
  • GLSL
  • (Shader Graph)

www.puttehi.eu infrastructure and service automation

Linux

Overview

My personal cloud server configuration.

  • Development services behind authentication
  • Single command deployments
Acquired (rather, used) expertise

  • Infrastructure automation (Terraform)
  • Service automation (Ansible)
  • Reverse proxy (nginx)
  • Cloud services (Linode)
  • Domain ownership (GoDaddy)
  • Remote workstations (automated personalization)
  • Authentication layers (Vouch)
Languages

  • Terraform (HCL)
  • Ansible (YAML)
  • Nginx configuration

Python application template with full CI/CD

GitHub

Overview

Initially a side-project to dump YouTube links from a #jukebox Slack channel to a YouTube playlist for easy listening. Turns out automation was much more interesting.

  • GitHub automation
  • Modern Python package automation
Acquired expertise

  • GitHub Actions (CI/CD)
  • Dependabot (GitHub)
  • Sphinx documentation generation
  • Read The Docs automation
  • Python Package Index (pip) automation
  • Modernizing old Python project templates
  • Git hooks (pre-commit)
  • Python environments (Poetry)
Languages

  • GitHub Actions
  • Python

Rocket League replay uploader

Linux, Windows

Overview

When you cannot get Bakkesmod to work on Linux and do it for you, you do it yourself.

  • CLI tool
  • Keep track of your statistics and share your game with your friends
  • Just needs the (free) ballchasing.com API token
Languages

  • Python
  • Bash
  • GNU Make

Simplechat

Windows

Overview

Modern Windows application development in the form of a server/client chat application.

  • Prototype developed solo in 1-2 months
  • Chat commands (/me, /slap, /time)
  • Server timestamps with optional client timestamps
  • Persistent chat history with optional saving on clients
Acquired expertise

  • Qt framework (C++)
  • Websockets (QtWebsocket)
  • qmake and GNU Make
  • Messaging protocols
  • Sharing server/client code
  • UI/UX design
Languages

  • C++
  • GNU Make

React applications

Android, iOS, Web

Overview

Modern mobile and web app development in the form of over a dozen small apps. Developed for a summertime course.

  • Apps developed solo in 2-3 months
  • Over a dozen different apps
Acquired expertise

  • React
  • React Native
  • Expo
  • Ads
  • Native toasts
  • PWAs
  • Cross-app traversal
  • Google products (Maps, Places, etc.)
  • Web APIs, fetching and parsing)
  • NPM
Languages

  • Javascript

Neuroevolution inside a game clone

Web

Overview

Playing around with AI by cloning a classic mobile game and making it play itself better than any human ever could.

  • Prototype developed in about a month
  • Trained model surpasses scores of 100 000+
Acquired expertise

  • Neuroevolution and machine learning basics
  • AI modeling
  • Reward functions
  • Tensorflow.js
  • Real-time web development
  • p5 framework
Languages

  • Javascript

Easily extendable Discord bot

Linux, Windows

Overview

A Discord bot built for my friend groups private Discord server. Initial idea was to support the release of New World with Discord-integration.

  • Easily extendible command palette with a permission system
  • New World API integrations
  • Web scraping with parameter-based navigation and automatic screenshot threads
Acquired expertise

  • Discord API
  • Chat-bot development (commands, user groups, admin tools)
  • External APIs (New World World Status)
  • Web scraping (Puppeteer)
  • Screenshot generation
  • Local caching
  • Online caching and data storage (MongoDB)
Languages

  • Javascript
  • Bash

Discord lunch bot

Linux

Overview

A Discord bot built for my friend groups private Discord server. Announces local lunch menus daily.

Acquired expertise

  • Python dependency management (Poetry)
  • Discord API
  • External APIs (Lounaat.info)
  • Web scraping (BeautifulSoup)
  • Parsing HTML trees
Languages

  • Python

Bitburner scripts

Windows/Linux (Steam)

Overview

Bitburner is an "idle game" played through programming. The goal of the game is to create the best botnet you can.

Acquired expertise

  • JSDoc
  • Typescript
  • Distributed (local) systems i.e. a botnet
  • Migrating from Javascript to TypeScript
  • Code editor integration in-game through game API (VSCode)
  • Reverse-engineering a custom botnet UI
  • Optimization
Languages

  • Javascript
  • Typescript

Routa Engine Tutorial

Cross-platform

Overview

Routa Engine is a game engine developed by students, for students in-house @ KAMK. No one knew how to use it though.

  • 3-man team
  • Developed a single platformer game
  • Wrote a tutorial on Routa basics for first-year students
Acquired expertise

  • More advanced C++
  • C++ build systems
  • Entity Component Systems (ECS)
  • Technical writing
  • Learning a new, big codebase
  • Fixing a lot of low-level game engine bugs
  • Tilemap creation (Tiled editor)
Languages

  • C++
  • Markdown

Work experience

🏢

Critical Force

🧑‍💻 DevOps Engineer

📅

02/2022 - ... (current)
Migrating an "on-prem" datacenter to Google Cloud

Cloud architecture, networking, tunnels, migrations, ...

Evaluating and designing infrastructure for a monitoring platform

Different types of collector agents, metric backends, log backends, backups, cloud storage options, response times, historical data, ...

Designing and building a GitOps platform over its skeleton (GKE)

GKE Autopilot, Shared VPC, private clusters. Kubernetes administration networking, volumes, ingress-nginx, external-dns, cert-manager, kustomize overlays, namespacing, security, migrations, ...

Maintaining company infrastructure

Tooling and service upgrades, maintaining and improving internal tooling and services, modularizing, improving git hygiene, ...

Helping others grow while doing so myself

Assisting others while learning from them myself

🧑‍💻 Junior DevOps Engineer

📅

01/2022 - 02/2023 (~14 months)
Broadening expertise to other infrastructure

Amazon Web Services, game backends, game servers, Linux servers, internal tools and services, ...

Designing and building analytics platforms

Automation-first, git-driven, reusable modular platforms to support many products

Improving the DevOps culture

Automating and documenting manual processes, empowering developers, embracing git, improving Infrastructure as Code, ...

Maintaining and optimizing the larger tech stack as a whole

Terraform/Kubernets/Python/Go upgrades, maintaining and improving internal services, right-sizing workloads, improving traffic balancing, migrations to modern patterns, ...

Helping others grow while doing so myself

Learning never stops; Guiding the local university towards modern tech solutions, onboarding new joins to tech and company practices, ...

🧑‍💻 TechOps Intern

📅

06/2021 - 12/2021 (~6 months)
Google Kubernetes Engine (GKE) migrations

Migrating unknown complexity towards known simplicity of dedicated servers, monitoring/alerting, ...

Learning the analytics backend

Building data and CI pipelines for stakeholders, maintaining internal and external services, patching data, ...

Maintaining the tech stack

Terraform upgrades, Kubernetes upgrades, Python upgrades, ...

Growing to an engineer from an engineering student

Studying, researching, asking lots and lots of questions to absorb knowledge from our awesome seniors.

🏢

Neste Sotkamo

🧑‍💻 Cashier

📅

09/2013 - 08/2019 (~6 years)
Customer service & experience

Face-to-face, by phone and by email. Only happy customers!

Social media marketing

Building the company Facebook account. Designing and implementing marketing campaigns to Facebook. Improving social media and web presence.

Website maintenance

Keeping the company website running steady and its information up to date.

Troubleshooting and maintenance

Ranging from connectivity issues to malfunctioning burger toasters.