CV

My achievements unlocked thus far.

Overview

Personal details

  • 35 years old
  • German
  • Located around Munich
  • Languages: German (native), English (fluent), French (enough for the last few holidays), dwindling bits of Romanian, Latvian, Russian
  • Contact via e-mail

Strengths

I'm really good at…
  • Ability to find solutions for a problem, with or without help
  • Communication in the needed amount, scope, channel, and to the right set of stakeholders
  • Enthusiasm about many areas in IT and software development
  • Considering, accepting and giving advice and help from/to my team members and colleagues
  • I know my programming languages and tools – hence I can focus on finding solutions for project requirements instead of sitting over issues with the programming language (if that should happen, I'm efficient in searching documentation and solutions on the web 😉).
  • When working on a product, I want to be familiar with all parts. Typically I'm an allrounder for many areas, and a specialist in at least the components for which I have direct responsibility. Opening a code review means for me having tested the change locally, and being confident it will work in production. Large migrations are also not a problem, but only after preparing a detailed migration plan.

Desires and turn-offs for a job

What I need to have in a job
  • Coding – a company should use me where I do best, and that is as engineer, not as manager. Engineers do a lot of programming, testing, understanding, troubleshooting, and seeing/supporting real applications in action.
  • Responsibilities – working on 100 different construction sites is only fun until people burn out, and does not help or scale a company. The largest part of a job should be clear module/project responsibility and tasks.
  • Interesting work – clearly, always having only boring and simple tasks would not be fun. I can be very enthusiastic about interesting technologies and projects, so challenge me!
  • Atmosphere – nice and professional colleagues, preferably a healthy balance between regular work and frantic hurry-before-deadline work, integration of engineers' expert opinion into roadmap planning

Tech skills

Programming

There are many more. I am only listing the relevant, currently active ones.
Daily corporate use:
  • C++ (98-20)
  • Python (2.7, 3.x)
  • YAML 😏
Regular use for corporate or open source: Regular use for private experimentation and projects:
  • Bash
  • Go
  • Python
  • Rust

Technologies and frameworks

Same here: only currently relevant technologies listed.
Daily corporate use:
  • Kubernetes and related tooling (kustomize, Helm, Skaffold)
  • ZeroC Ice (framework similar to gRPC, but incl. orchestration)
  • nginx and nginx-ingress
  • AWS cloud products
  • FreeBSD and jails
  • Linux and Docker
  • Observability (Grafana)
Corporate and private experimentation and projects:
  • Ansible
  • gRPC
  • Terraform
Regular use for private experimentation and projects:
  • CockroachDB
  • Hetzner cloud
  • MinIO

Career

PPRO Financial Ltd.

Principal Engineer, Digital Payments domain
Since December 2020
  • Migrations, migrations, migrations (datacenter to cloud, traffic, payment method implementations, legacy to new systems, Brexit, bank switches)
  • More advisory, knowledge transfer and training, less active operational involvement than before
  • Handover of silo projects and knowledge
  • Technical advisory for cross-company plans incl. RFCs for them

PPRO Financial Ltd.

Software engineer, payments/gateway/reconciliation
Since January 2015
PPRO aims to be the payment industry partner of choice with a single platform offering for many international payment methods, acquiring services, along with certain value added services.
  • Professional development in mostly C++ (using ZeroC Ice framework, later gRPC/Go) and Python (some central applications, scripts, and unit tests)
  • Varying responsibilities, among which are these large topics: main processing gateway and staging environment, financial and technical reconciliation system, cloud migration (AWS/Kubernetes and CI/CD), incident handling
  • Fully owning major topics and migrations
  • Benchmarking and introduction of new processing gateway based on independent cells, replacing the previous monolithic infrastructure and deployment through a smooth and well-planned migration
  • On-call rotation since 2020, with many learnings and quick response during incidents. Improvements to software and infrastructure observability and reliability.
  • Helped develop the top 1 (by traffic) payment method integration and maintained it for years. This included the PCI-DSS environment and audits, regular re-certification with the payment scheme, and new major features and stability improvements. I have also been a main owner to support and maintain the other top-tier payment methods.
  • PCI-DSS induction and software security training for new developers, ownership of all PCI-related components
  • Developed modern, React and TypeScript based user interface for the payment gateway which is still very much in use, and the only way to link to objects in the system, use quick search, or click together a search query quickly. This is used in the daily job of Technical Operations, payment engineers and other departments.
  • Became the go-to person (in many cases also owner, among others) for questions around the payment gateway and integrations, reconciliation system, and many other topics.
  • Developed staging environment for payment gateway and main related processing systems, as close to production datacenters as possible (but in AWS EC2 and later EKS). As of 2022, it is still heavily used and maintained by developers after 4 years, and helped tremendously for implementing and testing risky changes in advance, and with confidence. I had also been main owner of the previous incarnation of the test environment (which was a single, local have-it-all VM per developer).
  • Set up and maintained CI system for production FreeBSD packages. Used to check if builds work, and to provide packages to development environments such as the ones mentioned above. Created tooling so developers could easily spawn "compile hosts" using those packages in order to run fast, production-identical builds.
  • Introduced external system for treasury and bank connectivity into our reconciliation system
  • Maintained the high quality standards of the technical founder by means of code review, technical advisory, detailed and actionable migration planning
  • Documentation of the most important aspects of the payment gateway
  • Load testing, performance improvements, migration from single points of failure in datacenter to stateless, more reliable, automatically-deployed services in AWS/Kubernetes
  • Handover and transparency for previously-"siloed" projects (I was the silo, but not deliberately)
  • Several open source contributions for the company's benefit over the years (TLS SNI support in ZeroC Ice, terraform-inventory, Kubernetes tooling such as Helm and Skaffold, etc.)
  • Took over technical ownership of wkv.com (voucher card sales) side business and preparation for ripout/sale to new owners (PHP / C++ code base for the web shop and administration interface)

Metaio

Software engineer, Metaio SDK team
December 2012 – December 2014
Augmented reality company Metaio GmbH (purchased by Apple in 2015).
  • Main work on the cross-platform Metaio SDK, the base framework of the company's augmented reality technology.
  • Development for Android, iOS, Windows, OS X, the Unity 3D plugin on the same platforms, and the JavaScript API AREL.
  • Using all of these: C++, Objective-C(++), Java+SWIG, JavaScript, C#, GLSL (ES), Python.
  • Support for customers (helpdesk, e-mail, direct contact) and internal developers.
  • Module and project responsibility for several parts of related products, e.g. Metaio Toolbox which included calibration and 2D/3D tracking tools.
  • Notable achievement: Interactive camera calibration tool for Epson Moverio BT-200 smart glasses by human-friendly capture of 3D-3D correspondences.

Open source

FreeBSD ports

Port maintainer for some software packages.Note: I gave this up when the company switched to Kubernetes, and am contributing to the tools of that ecosystem ever since.
Namely:
  • kiss-templates, generic C++ text templates made easy (port)
  • hieroglyph, a Sphinx extension for building slideshows from documentation (port)
  • Howard Hinnant's C++1x date library (port)
  • ZeroC Ice (not the maintainer, but actively testing and submitting bugfixes and updates; port)
  • OWASP Dependency-Check, a "utility that identifies project dependencies and checks if there are any known, publicly disclosed, vulnerabilities". It can create reports in various formats and is easily pluggable into CI either by specific plugins (for Maven/Jenkins) or the command line program (port)

Other project contributions

On GitHub et al
  • Skaffold, the central tool for building container images, testing them, running on Kubernetes, and integrating developer workflows closely with CI/CD
  • git-cola, my favorite (Fork on macOS is even better…) minimal yet complete Git GUI for everyday use (some features and fixes)
  • ZeroC Ice, fixes to issues found in production usage of the framework
  • Many other small contributions to various projects. I am also a fan of the Hacktoberfest both for the t-shirt and the chance to do focused work on open source.

Studies and older projects

During Master studies

February 2012 – October 2012

Master’s Thesis in corporation with the chair for applied software engineering at Technical University of Munich. During most of the time writing the thesis, I've been living in Co. Cork, Ireland for personal reasons.

Comparison and evaluation of cross-platform frameworks for the development of mobile business applications (link to blog post with PDF download)

September 2011 – April 2014
Work as software engineer for startup Walnuss LLC to develop a next generation, RFID-based ordering system from the ground up, also tasks as system administrator (e.g. VServer, OpenVPN, firewall administration). Software was in C#.
October 2010 – October 2012
M.Sc. Informatics studies at Technical University of Munich (Technische Universität München, TUM). Overall grade 1.3 (German grade).

Dual Bachelor studies with Hewlett‑Packard (HP)

October 2007 – September 2010
Dual study B.Sc. Applied Computer Science at the University of Cooperative Education in Stuttgart (DHBW Stuttgart) with internship phases at Hewlett-Packard, Böblingen. See internships listed below. Overall grade 1.4 (German grade).
Internships at HP
01/2010 – 02/2010, 05/2010 – 08/2010

Bachelor’s Thesis project (development of a distributed deployment system as extension to the previous HP Labs project).

06/2009 – 09/2009

Work on the “Trusted Virtualized Client” project at HP Labs, Bristol, United Kingdom (details confidential; keywords: Xen hypervisor, TPM, early cloud computing).

12/2008 – 03/2009

Development of two business VBA applications for the department “PSG Consumer Category” in order to streamline offer and sales processes, including technical documentation, patching of existing application for Microsoft Office version compatibility.

03/2008 – 05/2008

Migration of an internal web application from a HP-UX to a Linux server, bug fixing and further development of the application, development of a complete backup and monitoring web interface for the server (using PHP and MySQL backup mechanisms), documentation of the server setup.

During and after school time

2006 – 2007
Alternative service at a retirement home
2006
Graduated with Abitur degree. Overall grade 1.8 (German grade).