Constantin Michael Weisser
Verified Expert in Engineering
DevOps Engineer and Developer
Michael is a DevOps engineer and consultant who has worked as a developer, architect, team lead, and consultant for the last seven years. Specializing in automation engineering, continuous delivery, QA automation, and infrastructure engineering, he is passionate about building great products with great teams using modern technology. Michael is a methodic problem solver, experienced in managing trade-offs and building efficient and future-proof solutions.
Terraform, Amazon Web Services (AWS), Azure, Linux, Java, GitHub, Azure DevOps, Splunk, Kubernetes, Docker
The most amazing...
...thing I've worked on is a large-scale deployment safety platform securing thousands of weekly production rollouts, cherishing product engineers' peace of mind.
Senior Software Engineer
- Extended a global contract testing platform by targeted multi-country support, as regional differences are a significant concern in our business. The platform secures thousands of code changes in over 1,200 microservices every week.
- Engineered the performance of an automated test in every pipeline execution. Reduced the overall execution time and cost by 35%, enabling cheaper operations and reducing wait time for all engineers.
- Planned and oversaw the migration of contract test execution and contract testing data of over 1,200 microservices to provide new features and a better development experience.
- Led a DevOps transformation project, advising the managers of a mid-sized tech company with less than 1,000 employees to pick key technologies, reorganize team structures, and adopt new problem-solving methods. Reduced lead time for changes by 90%.
- Developed and maintained a continuous delivery platform on Azure for six product teams with scarce operations engineers, enabling easy operation for twenty microservices. Trained engineers from all teams in crucial technologies and best practices.
- Built an infrastructure testing strategy for the automated rollout of a cloud-native application platform. Implemented the first release for the automated test suite, then integrated it into all infrastructure automation pipelines.
- Devised a disaster recovery plan for a cloud-native application landscape, covering unforeseen data loss, regional outages, and emergency failover options.
- Simplified the development experience by automatically configuring the working environment for all engineers on the team using configuration management and carefully automated scripts.
- Built an Azure-based environment to deploy microservices on AKS with Azure SQL continuously. The environment was completely provisioned with Terraform and tested automatically on infrastructure changes.
- Developed an event-sourcing application based on Apache Kafka, which maintained a transaction-safe audit log of all user events on the platform to autogenerate business-level reports.
- Migrated the set of microservices from a proprietary Cloud Foundry to a public Azure AKS-based environment. Devised a migration strategy for Jenkins pipelines to Azure DevOps pipelines, following a strict pipelines-as-code approach.
DevOps Transformation: From Traditional Deployments to High Velocity
I was part of the DevOps transformation leadership team. I guided the CICD team in building CD as an in-house product. I designed the company's tech stack with the infrastructure team and advised the management team in picking key technologies. I also supported the management team in choosing KPIs that determined the transformation's success.
During my engagement, the first microservices were deployed to the infrastructure on Azure. Terraform automatically provisioned the cloud environment, which could significantly improve the infrastructure's reliability. Instead of scheduling massive releases and high risk, engineers deployed changes within hours or days of picking up a task. The management team now had access to metrics such as Lead Time for Changes and Deployment Frequency.
Continuous Delivery Platform for Microservices on Azure
Automatic Scaling to Dozens of Similar Environments
I advised my client to select ideal technologies for cloud-based deployment on Azure. The client had only a few people for operations, so I chose scalable low-maintenance solutions such as Azure Appservice. I built Terraform modules as the blueprint for a single environment. Automation and configuration management complemented the code to quickly scale up to dozens or even hundreds of instances. I devised an update strategy and best practices for monitoring and log management at scale. Since the application had only been used on-premises before, I supported the engineers in turning it into cloud-native services and debugging tricky platform dependencies.
With my solution, my client could build a new environment in minutes. All deployments were independently configurable in size and feature flags. That way, they could adjust the deployment to the exact needs while keeping management overhead to a minimum.
Extending a Fully Automated Contract Testing Platform for Safe Continuous Deployments
I've contributed as a software engineer, leading this project that supports multi-country deployments, which caused regional differences in the microservices' communication patterns. I devised a migration strategy and ensured a smooth rollout of the new features without interrupting the hundreds of daily test runs on which engineers rely. I also automated metrics collection to follow up on feature adoption.
SaaS Application for Lean Construction Management
I contributed to this project as a back-end software engineer. I worked closely with the product owners and other stakeholders to deliver new features, which are digitized versions of the usual civil construction modus operandi. I provided vital pieces to cross-cutting solutions, such as solving the exactly-once semantics for sending Apache Kafka messages and committing to a database.
I was also responsible for CI/CD infrastructure built on Jenkins with automatically provisioned worker nodes on AWS.
Central Customer Identification System
As a back-end software engineer, I designed and implemented a central customer identification system. Data was regularly pulled from the existing customer databases and potentially merged with records from other data sources. The merge criteria were built as an extensible rule set. I created a straightforward user interface that enabled the search and visualization of customer records. This central entry point reduced clerks' effort from more than half an hour to less than a minute for each customer request.
Java, Bash, Clojure, Perl, Kotlin, SQL, Go
REST APIs, JDBC, OpenAPI, Terragrunt
Terraform, GitHub, Git, Jenkins, Helm, Splunk, Jira, Confluence, Bitbucket, Ansible, Puppet, Slack, Grafana, Fluentd, Gradle, Azure Kubernetes Service (AKS)
Continuous Deployment, DevOps, Test Automation, Functional Programming, Continuous Integration (CI), Continuous Development (CD), Continuous Delivery (CD), Azure DevOps, Software-defined Networking (SDN), REST, Agile, Microservices, Test-driven Development (TDD)
Linux, Docker, Azure IaaS, Azure, Kubernetes, Amazon Web Services (AWS), Apache Kafka, Arch Linux, Ubuntu, Oracle, LAMP
Programming Languages, Software Engineering, Infrastructure as Code (IaC), Infrastructure Testing, Whiteboarding, Pipelines, Infrastructure, GitHub Actions, Data-driven Decision-making, Decision Modeling, Architecture, Computer Science, Operating Systems, Complexity Theory, Algorithms, Mathematics, Networking, Distributed Systems, Graph Theory, OpenID Connect (OIDC), WebSockets, Pulumi, Azure Pipelines, Miro, Prometheus, Micronaut, Continuous Learning, Key Performance Indicators (KPIs), Contract Testing, Performance Engineering, Google BigQuery, Request for Comment (RFC), CI/CD Pipelines, Psychology, Metrics, Datomic, HTTP, Back-end, DevOps Engineer
Databases, PostgreSQL, MySQL
Hibernate, Spring Boot, Thymeleaf
Master's Degree in Computer Science
University of Stuttgart - Stuttgart, Germany
Bachelor's Degree in Computer Science
University of Stuttgart - Stuttgart, Germany