architecture, and implementation of complex software systems Make high-level design decisions and provide guidance on coding practices and...