|
To highlight the difference between a Software Engineer and a Software
Architect, we shall draw two analogies:
Comparison with building a cathedral
In building a cathedral, it is the Architect who has the overall vision of
what the cathedral will look like, and how its inner spaces will be used. An
engineer might be called in to recommend any aspect of the building, such as the
materials or dimensions required for a floating floor or a support beam. The
Architect has an understdanding of how to request that informtion from the
specialist engineer, and will know how to use the results of the engineer's
calculations, but the Architect may not have the necessary expertise to do the
calculations.
Comparison with ship building
In ship building, the (Chief) Naval Architect is the one with the overall
vision of what the ship will look like, how it will function, and what its inner
spaces will be like. The Naval Architect will call on a number of engineers to
design, build and maintain the engine and its various parts, or the
strengthening required for various floors and bulkheads. Again, the Naval
Architect might not have the necessary skills to be able to do the detailed
analysis or specify the machining required, but he can communicate what is
required, and can communicate the result.
To summarise
An architect has the highest view of any system, be it
a ship, building site, house or piece of software. An engineer may be a
technology specialist for material strengths, or a component designer for a
carburettor, a software component or a piece of specialist code.
|
|