Introduction
                                    
                                        The importance of software architecture
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        What you need to know
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        What is software architecture?
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                1. The Software Architect
                                    
                                        What's the job? Traditional architects
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        What's the job? Modern architects
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        A day in the life of an architect: Morning
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        A day in the life of an architect: Afternoon
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        From developer to architect
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                2. Thinking Architecturally
                                    
                                        Conway's law: Architecture and organizational structure
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Incremental vs. big up-front design
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Top down vs. bottom up
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        The role of the domain (bounded contexts)
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                3. A Design Process: A Brief Introduction
                                    
                                        Requirements gathering: Problem statements and user stories
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Narrowing: Vertical vs. horizontal splitting
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Identifying bounded contexts and entities
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                4. Categories of Architecture
                                    
                                        System vs. enterprise architecture
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Design patterns
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                5. Broad Architectural Patterns
                                    
                                        Monoliths
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Microkernel (plugin) architecture
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Message-based architectures
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Microservices and miniservices
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Reactive and choreographed systems
                                            
                                                ()