About me

Stefan Kapferer I'm a software architect at mimacom ag in Zurich.

I'm interested in all kinds of software engineering related topics; especially software architecture and Domain-driven Design (DDD). I am also the founder and project lead of the Context Mapper open source project.

Download my CV

Contact

Interests

  • Software Engineering
  • Software Architecture and Design
  • Service-oriented Architectures / Microservices
  • Domain-driven Design (DDD)
  • Object-oriented Analysis and Design (OOAD)
  • Java / Concepts of Object-oriented Programming

Professional Experience

mimacom ag

Software Architect
01/2021 - Now

(to be updated)

Institute for Software (IFS) at HSR

Software Engineer and Project Lead
02/2020 - 12/2020

Leading development and research around the Context Mapper project. Supporting other research projects and teaching on software architecture, (micro-)service-oriented architectures, and Domain-driven Design (DDD).

Involved projects and activities:

  • Context Mapper (contextmapper.org) open source project - “A Modeling Framework for Strategic Domain-driven Design”
    • Leading project technically
    • Writing research papers on Context Mapper and Domain-driven Design related topics;
    • Used Technologies: Domain-specific Language (DSL) with Xtext framework (Java, Xtend), Language server based on Language Server Protocol (LSP), Eclipse plugin (Java), Visual Studio Code extension (Typescript), Reverse engineering architectures of microservice applications based on Spring Boot and Spring Web, Docker and Docker Compose, and Open API (OAS) specifications
  • Microservice DSL (MDSL) project (microservice-api-patterns.github.io/MDSL-Specification/)
    • Supporting Prof. Olaf Zimmermann in implementing MDSL generator tooling
    • Generating Java code (“moduliths”), GraphQL schemas, protocol buffer specifications, and Open API specifications out of MDSL contracts
      • Conceptual work: map abstract API contracts to concrete interface technologies, derive service contracts from DDD-based architecture models
  • Support of teaching in application architecture on BSc level
    • Domain-driven Design (DDD)
    • Context Mapper

Ergon Informatik AG

Internship in Software Engineering
05/2018 - 09/2018

  • Implementation of business web application in the real estate industry
  • Organizing and conducting a customer training and requirements engineering workshop
  • Implementation and maintenance of build- and testing platforms

Used technologies and frameworks: HTML, CSS, JS, Freemarker, Java, Magnolia CMS, Gradle, Maven, Ansible

Adcubum AG

Software Engineer Professional
01/2014 - 08/2017

  • Design and implementation of tools to support developers (Eclipse plugins, command line tools, etc.)
  • Development and realization of concepts concerning CI/CD
  • Development, operation and maintenance of ‘adcubum SYRIUS’ build and it’s continuous integration environment with Gradle and Jenkins
  • Development and integration of software documentation tools
  • Classic software engineering tasks with Java and J2EE
  • Documentation of architecture and design
  • Operating applications responsible for software documentation
  • Supporting the migration from SVN to GIT
  • Supporting developers regarding IDE (Eclipse), Build (Gradle), SCM (Git), Continuous Integration, etc.

Adcubum AG

Software Engineer
10/2012 - 12/2013

  • Fachliche Neu- und Weiterentwicklung des Moduls ‘Bestandes-/ Vertragsverwaltung’ - zum Beispiel in den Themen Risikoabbildung, Offert- und Vertragserfassung, Offert- und Vertragsmutationen, Policierung, Lohndeklarationsprozess, Elektronische Lohnsummenmeldung, etc.
  • Erstellen von Migrations- und Korrektur-SQL im Modul ‘Bestandes-/ Vertragsverwaltung’
  • Architektur-Optimierung der fachlichen Prozesse
  • Unterstützung des Software-Qualitätswesens

Used systems and technologies: Java, Eclipse, SVN, Oracle SQL, XML, Linux

swoffice AG

Software Developer Java
05/2011 - 09/2012

  • Product development (CRM solution)
  • Testing and operating solution (cloud-based solution)
  • Collaboration with customers in multiple projects

Used technologies: Java, JavaFX, Spring Framework, Apache Lucene, PHP, MySQL, PostgreSQL

clavis IT ag

Software Developer
09/2008 - 04/2011

  • Development of solution concepts
  • Specification and design of solutions in direct collaboration with customers
  • Implementation of solutions based on the following technologies, frameworks and products: IBM Lotus Notes/Domino, Liferay Portal, Java/JEE (Tomcat and WebSphere Express), Web technologies (CSS, JS, HTML, XML), Webservices (SOAP)
  • Testing and documentation
  • Supporting customers with operating implemented solutions
  • Support and train apprentices

clavis IT ag

Apprenticeship in informatics (application development)
08/2004 - 08/2008

  • Software development (IBM Lotus Notes, Java)

Education

Master of Science (MSc)

Master of Science FHO in Engineering focusing on Information and Communication Technologies in the Software and Systems Master Research Unit
University of Applied Sciences Rapperswil - HSR
09/2018 - 01/2020

Master thesis:

Student research projects:

Seminar papers:

Modules:

  • Algorithms, Cloud Computing, Ethics and Corporate Responsibility, Cryptography and Coding Theory, Optimization, Software Engineering and Architectures, Quality- and Risk Management, Advanced Programming Paradigms (Haskell, Program Verification, Multiparadigm Programming with Scala), Parallel and Distributed Computing, Privacy and Law

Computer Science at ETH Zurich

Completed 21 credits towards a Master of Science in Computer Science
09/2017 - 04/2018

Completed the following courses:

  • Algorithms and Data Structures
  • Theoretical Computer Science
  • Linear Algebra

Bachelor of Science (BSc)

Bachelor of Science FHO in Computer Science
University of Applied Sciences Rapperswil - HSR
09/2013 - 08/2017 (part-time)

Advanced Federal Diploma of Higher Education (HF)

Advanced Federal Diploma of Higher Education (HF) in Computer Science
ZbW - Zentrum fuer berufliche Weiterbildung
10/2009 - 10/2012

  • Thesis: “State of the art Java Development Environment with Continuous Integration”

Apprenticeship in Informatics (Application Development)

clavis IT ag
08/2004 - 08/2008

Awards

SummerSoC Young Researcher Award 2020

For mine and Olaf Zimmermann’s paper entitled “Domain-driven Service Design - Context Modeling, Model Refactoring and Contract Generation” I received the SummerSoC Young Researcher Award sponsored by ServTech.

Stefan Kapferer wins Young Researcher Award

Certificates

Certificate in Advanced English (CEFR Level C1)

University of Cambridge
07/2016