DecompositionSprint 2β successCompiled Learning ObjectivesDifferent experiences for different usersTODOExtracting common functionalityIdentify and explain the risks and costs of duplicate codeExtract functionality used by multiple route handlers into a common functionExtracting a middlewareIdentify and explain the risks and costs of manually calling code (e.g. authentication validators/extractors) from multiple route handlersExplain the middleware patternImplement and wire up a middlewareπ‘ Morning orientationIntroduce and welcome new volunteersNominate a timekeeperCheck the morning day plan and group structuresπ§° Workshop ActivityApply concepts from study to a practical exampleWork together on exercises and activities to find gaps in understandingDescribe and resolve mental model errorsStudy GroupResolve blockers in your courseworkExpress and resolve problems effectively by writing tickets and asking questionsGive and receive code reviewDevelop your personal portfolioPair programmeEvaluate your progress with peers and mentors