Architects and those just pretending they are... - 7/15/2014

Architects, This is a rant, there are many like them but this one is mine.

Pre-Requisite Reading

In my experience these two books are the best books I have ever read on the subject of patterns, small and large

  1. Patterns of Enterprise Application Architecture
    IMO: Patterns, know them, but they are not an end unto themselves.
  2. Enterprise integration patterns
    IMO: A good discussion on integration patterns, but also, has good patterns for distributed systems, and by extension cloud architectures

What makes a good architect?

I have no time or patience for Architects who do not code, and will not live in real life. We call them “Architects on Paper”.

How to tell if you are talking to a bad architect:

  • They focus on patterns over use cases
  • They have a religious fever and use words like “never” and “always” (my only hard and fast rule is that I try not to divide by zero)
  • They lack flexibility
  • They add indirection without a strong driver
    Bad architect: I always do …..
  • They build for what might happen someday
    Bad architect: oh, we might switch to Oracle someday, it’s much better, so…
  • They do not live in reality
    Bad architect: I did the architecture, unless you’re an idiot, it should code right up
  • They do not care about maintainability, or how steep the learning curve is for new team members
  • They prematurely optimize
  • They pick the product before dissecting the problem
  • They do not do the “build vs. buy” analysis
  • They have best of breed disease
  • They think that CIO magazine has useful advice
    No publication whose articles are written by the vendors (or are paid by them) can offer impartial advice
  • They prefer
    • the cool over the tried and true
    • –or-
    • they never try a new thing or learn a new skill

Here are some useful mental tools to use when thinking about architecture:

  1. SOLID
    IMO: there is such a thing as being too SOLID, think about it...
  2. Keep it simple silly (KISS)
  3. You an’t going to need it (YAGNI)
  4. Above all: Think in USE CASES
    e.g. for this situation given the alternatives, what are the pros and cons?

Final thoughts

I try really hard to be a good architect, but I have my bad days too... So, I try and remind myself to LISTEN carefully, JUDGE after reflection, and stay FLEXIBLE

Blog ID: 2014 07-15_Blog_6153