About
Professional developer since 2001. AWS Community Builder since 2021.
Take ownership of projects, problems and solutions.
Build great tooling. Bash hero, Makefile ninja.
TypeScript and Python are the scripting languages of my choice – I try to avoid scripting languages.
Go is my preferred language.
The floor is Java!
Can lead, want to code.
I do the full stack:
- Application / Service / Microservice design
- Front- and backend development
- DB schema design – PostgreSQL, MySQL
- Observability – Metrics, logging, tracing
- Server administration / management & virtualization
- Containers – for development, testing, CI and prod
- Infrastructure as code – CDK, CloudFormation, Terraform
- Automation
- CI/CD – GitHub Actions, GitLab Pipelines, AWS CodePipeline, DotCI, Jenkins pipeline
As important as code is documentation: My code ships with Owner’s and/or User’s manual.
Plenty of experience working in widely distributed teams. Working remotely since 2013.
Familiar with many collaboration tools such as GitHub, GitLab, Slack, HipChat, Zoom, Fuze, Jira, Asana, Trello, Confluence, MediaWiki, Microsoft Teams…
Not ashamed to admit: I’m using Stack Overflow a lot – but I also give back: #3 contributor for Ansible. 55k reputation, in list of top 5% answerers for git, Docker, ssh, Jinja2, CSS…
Enjoy to contribute to open source. Inventor of IAM Floyd and Ansible Silo.
Technologies I want to work with: TypeScript, AWS, AWS CDK, Go, Serverless, Bash, Automation, Docker, Chef
Things I don’t want to go back to: Ruby, Java, PHP, .NET
Experiences
- Managing SAP Infrastructure in AWS
- Responsible for AWS account and system security
- Migrated Ansible and CloudFormation IaC to AWS CDK
- Built autoscaling Ansible Tower cluster
- Replaced Ansible Tower with custom serverless solution based on AWS SSM, Lambda, ECS w/ Fargate
- Managing Gitlab runner infrastructre, build environments and pipelines for dozens of projects
- Ansible Molecule testing for 100+ roles
- Managed all company AWS accounts and baseline configuration via Terraform/Terragrunt
- Established a modular, extendable tooling framework based on Terragrunt, aws-okta, tfenv, Terraform Landscape and a lot of Makefile, to get teams started quickly with robust, secure and reliable multi-account IaC
- Designed and built multi-account/multi-environment Terraform CI/CD system based on AWS API Gateway, Lambda, Fargate, DynamoDB and S3
- VM provisioning, management and user support (KVM/QEMU/Virsh)
- Developed Golang microservice “application” for managing complete lifecycle of VMs (request, approve, allocation, deployment, migration, deletion) – based on libvirt, Go kit, GORM, PostgreSQL
- VM console tool written in Golang: Automatically creating SSH tunnels to VM hosts, connecting to VNC port for troubleshooting VMs without SSH connection
- Manually migrated and enhanced graphs and dashboards for 23 services from legacy in-house graphing tool to VMware Wavefront
- Created system to cache external package repositories
- Support for Debian and FreeBSD packages but focus on CentOS/RPM (e.g. EPEL, ELRepo)
- Snapshot tagging for reproducible installations, “Infrastructure Versioning”
- Automated upstream syncing
- ZFS Replication across 3 data-centers
- Functionality to upload custom packages
- Based on mrepo, FreeNAS, custom Python tooling and Ansible for standard operations
- Containerization of applications to improve reliability/speed of building, testing and deployment (Docker, Docker service)
- Automated image building via Jenkins, DotCI
- Invented Ansible Silo (Open Source) - 100% self-contained drop-in replacement for Ansible, Ansible Version Manager, Playbook Bundler - https://groupon.github.io/ansible-silo/
- Built “Redis as a Service”, large scale high available Redis clusters with configurable number of shards and replication rings.
- Based on Redis Sentinel, twemproxy/nutcracker (by Twitter)
- Standard operations and lifecycle management via Ansible
- Rack-aware to avoid SPOF
- Created tooling/framework for Ansible >= 1.3 which provided some essential features only introduced with Ansible 2, including Galaxy-like role distribution with support for Ansible plugins
- Set up internal Ansible Galaxy hub and created a complete set of roles for managing whole CentOS 6/7 systems including:
- DNS resolvers and Named local server configuration
- NTP configuration
- sshd configuration
- Network interface configuration incl. bonding and bridges
- User management
- Kernel settings
- Automatic (+configurable) log rotation
- Automatic (+configurable) log forwarding to Splunk
- Automatic (+configurable) metrics forwarding to Nagios
- Ansible callback plugins for sending events to Nagios, automatic downtime, HipChat notifications
- Serverspec tests for testing Ansible roles
- Managed global Splunk infrastructure with ~200 indexers and 20+ TB daily indexing volume
- Splunk user support for scheduled searches and dashboards, review and optimization
- Wrote custom Ruby plugins for Splunk searches
- Managed updates and custom app distribution through Splunk Deployment Server
- Responsible for building and leading a PHP development team from scratch with up to 35 developers
- Designed and built PHP applications based on Zend Framework for the high traffic system of the Groupon network
- Technical lead for GrouponShop, Job-, Blog- and premium-partner-systems as well as all Online Marketing applications, e.g. Landingpages, Adwords realtime bidding, Newsletter-, Tracking and Ad-Systems
- Created websites for various customers, mostly based on webEdition and Drupal
- Installed, configured and themed various Forum-, Blog- and Shop-systems
- Development of PHP applications and modules for various systems (Drupal, webEdition, Magento)
- Created HTML/CSS-Templates based on PSD drafts
- Contract work for various agencies. HTML, CSS, JavaScript, PHP, CMS (mostly webEdition)
- Created HTML/CSS-Templates based on PSD drafts.
- Apprenticeship “FIAE” (Fachinformatiker Anwendungsentwicklung - IT application development specialist)
- Developed web applications based on HTML, CSS, JavaScript, XML, PHP, webservices and databases (MySQL, Xindice, Tamino)
- Built websites based on content management systems (eZ Publish, Imperia 5)
- Took care of children and teenagers in the internet café “Globales Lokal”
- Administered SuSE Linux clients
- First contact with HTML and PHP by maintaining the website of “Globales Lokal”
- Gave HTML introduction courses for interested kids