>I've never seen a good "hands-off" architect in my experience.
Because when it's done right, coding is 80% "architecting" stuff. If there is more than a tiny amount of menial work involved in programming then you are generally doing something very wrong.
I think architect is one of the worst metaphors to ever grace the software engineering profession, by giving this impression that a programmer who can work "hands off" is even possible.
>>Because when it's done right, coding is 80% "architecting" stuff. If there is more than a tiny amount of menial work involved in programming then you are generally doing something very wrong.
I both agree and disagree with this, or it may be that the statement is vague (or that I just don't understand it).
I have seen horrible "analysis paralysis" at most of the big financial institution where I have worked - especially the ones with a separate "architect" job. Hundreds of UML diagrams that were worse than none.
For myself, I actually understand problems better by coding them. I can't always say exactly how something will work until I do it. Once I have general idea defined, I just start coding it!
This is not to say that I sometimes don't put pencil to paper to help me think it through, but I would say I spend far, far more time coding than thinking. In fact, for me, coding is thinking. Yes, there is rewriting and throwing away and revising and tightening that inevitably happens. I work more like a writer, I suppose.
This may not be everyone's cup of tea, but it's how I work. There is a balance to these things and it's up to everyone to figure out where they fall.
Or, even worse, "designing" everything in UML diagrams and then throwing it over a wall to "just be coded up" and then running away.
Edit: Just to be clear - it's the "just coding" attitude and particularly the avoidance of actually mucking in and getting stuff to work that is the real problem with this approach. Mind you - I do hate UML, but that is personal!
The problem is people want to feel special. It's not enough to say you're a Computer Programmer. Instead you have to be a Software Engineer. And once that bores you, you start calling yourself an Architect.
I have an actual engineering degree. Call me what you want to call me, but at the end of the day, I'm a computer programmer. And darn proud to be one.
Because when it's done right, coding is 80% "architecting" stuff. If there is more than a tiny amount of menial work involved in programming then you are generally doing something very wrong.
I think architect is one of the worst metaphors to ever grace the software engineering profession, by giving this impression that a programmer who can work "hands off" is even possible.