Graduate Course "Domain Modeling Techniques for Designing Microservices"

Hello all: I’m excited to announce that I will be teaching a course at IME/USP. This course topic is: “Domain Modeling Techniques for Designing Microservices”. It is available to anyone through the University. Look into the outline of the course. – Joe Yoder

Outline: Many software systems today are built on the cloud and implemented using the microservices architectural style. Modeling the problem domain and making sure that all stakeholders understand the requirements is a recipe for success when developing software systems and this becomes even more important when building modern microservices-based architectures. Domain modeling techniques have had a resurgence with the advent of Microservices. Domain modeling focuses on ways to identify the key concepts in a domain, and then clearly articulate those concepts through a common understanding or language between domain experts and developers. This course will cover domain modeling techniques specifically those outlined by DDD concepts to design and create microservices. It will also show how to map the results from the domain modeling to a microservice implementation.

Short Biography: Joseph (Joe) Yoder (agilist, computer scientist, speaker, and pattern author) is a research collaborator at IME/USP and the owner of The Refactory (, a company focused on software architecture, design, implementation, consulting, and mentoring on all facets of software development. Joe serves as president of the board of The Hillside Group, a group dedicated to improving the quality of life of everyone who uses, builds, and encounters software systems. Joe is best known for the Big Ball of Mud pattern, which illuminates many fallacies in software architecture. He is also a co-author of the book “A Scrum Book: The Spirit of the Game.” Joe teaches and mentors developers on agile and lean practices, software architecture, building flexible systems, clean design, patterns, refactoring, and testing. Joe received the New Directions award at the Software Engineering Institutes (SEI’s) conference on Software Architecture (SATURN), which is given to the presentation that best describes innovative new approaches and thought leadership in the application of architecture-centric practices. Recently, the ACM (Association for Computing Machinery) recognized Joe as a Distinguished Member in the category of “Outstanding Engineering Contributions to Computing.” Joe believes software is still too hard to change. He wants to do something about this and believes that this problem can be approached with good practices, putting the ability to change software into the hands of the people with the knowledge to change it, and bringing the domain experts closer to the development process.

Schedule and other information on the course, that will be taught in person, can be found at

Trata-se de um Curso Avançado de Arquitetura de Software, com foco em Técnicas de Modelagem de Domínio para o Projeto de Microsserviços, voltados para alunos e profissionais que já possuam um bom conhecimento de desenvolvimento de software. Todos interessados são bem-vindos nesse curso de 2 créditos de pós-graduação, a ser ministrado em inglês, presencialmente no Auditório Imre Simon (no CCSL-IME-USP), de 12 a 25 de junho das 17:00 às 19:00.

Como participar: a matrícula, tanto como aluno regular como aluno especial, deve ser feita por meio do seguinte formulário:

(se você é aluno de pós da USP mas não do IME, deve finalizar a matrícula na sua unidade de origem). Se tiver dúvidas, envie uma mensagem para