Architecture Astronauts

When you go too far up, abstraction-wise, you run out of oxygen. Sometimes smart thinkers just don’t know when to stop, and they create these absurd, all-encompassing, high-level pictures of the universe that are all good and fine, but don’t actually mean anything at all.

These are the people I call Architecture Astronauts. It’s very hard to get them to write code or design programs, because they won’t stop thinking about Architecture. They’re astronauts because they are above the oxygen level, I don’t know how they’re breathing. They tend to work for really big companies that can afford to have lots of unproductive people with really advanced degrees that don’t contribute to the bottom line. - Joel Spolsky

see also

  • What Software Architects Do That Programmers DON’T
    • Zooming in / Zooming out
    • Understanding the (functional) domain
    • Understanding the tradeoff (on a global scale)
    • Consideration about impact of choosing technical stack
    • Master of communication (to different audience)
    • Be aware of the infrastructure
    • Strategic coder (protect their time) / don’t be the lead developper or you won’t have time anymore
    • Consider the scale of the decision (company/domain)
    • Consicious of the cost (dev/operating/license)
  • Using anti-requirements to find system boundaries - Anti-requirements are deceptively simple: you create some fake requirement concerning two attributes and present it to business stakeholders. “If the product has more than 20 characters in its name,” you say to them, “then its price must be at least $20.” When they laugh at you, that’s a hint that although those two attributes are verbally associated with the same noun, there isn’t any meaningful logical relationship between them. 6
Written on December 14, 2018, Last update on December 3, 2023
software architecture