3. Software Design

  • Core design principles: SOLID, DRY, KISS

  • Study common Design Patterns and their use cases

  • Understand Architectural Patterns for scalable design