Greenfield vs Brownfield
Greenfield software is the software that we design and develop from scratch. Brownfield software is one where something already exists and we have to add functionality and/or features to it.
Obvious mostly works in greenfield software development but we occasionally work with brownfield stuff too.
Documentation practices (ADR, project documentation etc.)
Use of feature flags for features that span over multiple PRs
Habit of raising PRs everyday
Prioritising review over writing new code (dropping everything to review a PR)
Show the Simple repo for daily branches, continuous integration and Github Actions for having checks in place
How engineers get estimations wrong?
Estimation based on complexity and not time
Introduction to State Machines
Introduction to Mobius
Pairing activity using Counter example
Introduce the login example
Pair on drawing the state diagram for login screen
Introduce to Views and View Renderers
Init and wire Mobius loop
Individual Activity: Re-write the take-home exercise in Mobius