Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't get the hate for software architects. Would you try to build a skyscraper without an architect? No? Then why is having one a problem for a large software system?

Sure, if you're building something small, one person can be architect and general contractor and electrician and painter, etc. But the idea of division of labor is usually seen as a good thing. Not sure why we hackers should see it any differently. If you're building enterprise software systems that span multiple divisions and locations of an enterprise with 30,000+ people in 100 countries, ya know... you probably do need somebody who's job is to look at the big picture, see that the pieces being assembled fit the needs of the firm, and that the pieces work together in a clean and elegant way.

Having an architect, where needed, doesn't denigrate or devalue the role of the developers at all. It really is a different role that needs to be filled.



Division of "labor" is counter productive in development, because in immortal words of Jack W. Reeves, "Code is Design." Say anything else (UML) and you're deluding yourself. So non-coding architects are effectively only HALF-designing the system.

Read this article and weep, for it was written in 1992 and 20 years later, is still rings true, even though there was no UML at the time: http://www.developerdotstar.com/mag/articles/reeves_design.h...

The problem with non-coding architects is that they are isolated from learning. They have an incomplete feedback loop, and are isolated from the repercussions of their decisions. This at first makes a non-coding architect useless and then makes him actively wrong. This is especially true in systems as complex as enterprise systems.

Because code is design and because building the design is free (in comparison to building a bridge), you need to actually translate your mental design into the real blueprint--the code. If you are isolated from that, then it's like sketching blueprints. You may be consistently wrong on some aspect of it, but you'll never know.

If skyscrapers could be built and torn down overnight, I bet you money architects would build the skyscrapers without the same rigor of blueprints, look at the result and say "Nah, move this a foot over!" and build again.

The correct equivalent for building construction workers is the compiler.


Probably because the number of people with "software architect" on their business cards greatly outnumber the number of "enterprise software systems that span multiple divisions and locations of an enterprise with 30,000+ people in 100 countries".

It's the 95% of useless bureaucrats that can't tell good working software from a print out of a diagram most developers have a problem with.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: