Responsibilities of a Software Architect

Post inspired from: Design It! From Programmer to Software Architect by Michael Keeling.

While reading this new book, my posts may become more programming based. I will try and throw in some other more personal-growth posts in along with it, but today’s posts is from the verrrryyy first chapter of Design It!.

When talking about a software architect (SA), Keeling points out 5 specific responsibilities:

  • Define the problem from an engineering perspective
  • Partition the system and assign responsibilities
  • Keep an eye on the bigger picture
  • Decide trade-offs amont quality attributes
  • Manage technical debt
  • Grow the team’s architecture skills

One of the first things I’ve noticed so far is that it has said nothing about programming. Does a software architect program? I’m not quite sure. From previous experiences, it seems like they know and understand coding, but maybe not syntax of specific languages or nuances? There’s more to learn!