The skill set required for the capsule designer role is similar to that of the Role: Designer
(the capsule designer is a kind of designer), however, the capsule designer role requires more experience in handling
concurrency issues. The capsule designer must have a solid understanding of the types of problems that surface in
highly concurrent, reactive systems and the various approaches for addressing these problems. Required skills include
understanding the resource issues involved in creating, destroying, and synchronizing operating system processes and
threads. In addition, the capsule designer requires an understanding of handling state-dependent, and event-driven
behavior in software systems.
In systems that have a significant event-driven portion, there may be one or more dedicated capsule designers that
focus on the design of capsules. However, on most projects, the person or persons that act as capsule designers are
also responsible for other design work products such as classes and subsystems. See Role: Designer
for more on role assignment approaches to designer roles.