As I make the transition from engineer to architect I have been grappling with defining a clear demarcation between the two specializations. This line seems to move greatly depending on ones viewpoint as well as ones philosophical approach to technology. I am not going to try to yet find a definitive boundary, the purpose of this blog is to explore some of the history of the terminology, see it’s application to technology and try to identify trends in the industry that point us is the right direction.
I believe that taking a page from the original paradigms regarding the difference between engineering and architecture can provide some structure to the defining of network engineer and network architect roles. However, the difference in function and form of the subject matter necessitates a deviation in any attempt to provide a normalization of the nomenclature.
For example, the terminology for engineering and architecture really arose from ancient and medieval history. “Most architectural design and construction was carried out by artisans, such as stone masons and carpenters, rising to the role of master builder. Until modern times there was no clear distinction between the architect and engineer.” (source http://en.wikipedia.org/wiki/Architect)
The artisans who became master builder’s had the expertise and experience to oversee all aspects of large complex projects. They delegated roles and responsibilities to other artisans to carry out the specifics.
In modern times it is often well understood that architects oversee the design concepts of large building projects. University programs in traditional architecture are much more mature than the equivalent level programs in technology. Architects are expected to understand engineering fundamentals but their focus is on the big picture and the end result. Architects delve into art, theory, philosophy and even theology at times for inspiration. An Architect is generally more concerned with the visual presentation and functional accessibly. In other words they strive to deliver awe and beauty with ease of access and convenience of layout.
Engineering is traditionally much easier to define. Engineers are focused on the form and function. For example, they want to ensure that a building has sufficient load bearing strength and will hold up well to external environmental pressures. They want to ensure that predictable abnormalities are included in their calculations. In short they apply a pragmatic application to the framework.
Within technology, the software Architect is probably the most refined and understood and for good reason. Programming has been around since the 50s and 60s, whereas modern networking technologies really began in the 70s but many of the concepts were not refined until the 90s. In addition the vast majority of technologists through history have been focused on code and applications or on end user host equipment (IE the PC or Server Administration).
Thus we return to defining the fundamental differences between network engineering and network architecture. Unlike traditional architecture, there has not been a clear path straight to the network architecture profession. It is a relatively new concept and much like medieval history those who have become network architects were engineers who had risen from the ranks. They have the expertise and experience to oversee all aspects of large complex projects. They delegate roles and responsibilities to other network engineers to carry out the specifics.
As the profession becomes more defined and training programs refine I expect that a development will begin to become clear in distinction between network engineering and network architecture. In the professional world this shift has already begun. Both Cisco and Microsoft now offer architect level certifications:
There is not yet a clear path towards these equivalent pinnacle certifications as they both realistically require a significant background in an Engineering specialization.
I have to wonder if this will be the best approach long term. Should we as technologist be required to scale the ranks of the engineering world to obtain an architectural status? Or should architecture and engineering be seen as equivalent specialization with different fundamentals and a clear distinction between educational paths to achieve the status?
I don’t know, perhaps some have a clear vision of which direction these professions should or will go. I will be pursuing more research and give this some more thought.
I started this blog with several preconceived notions of where I think the boundary between network engineering and architecture should occur but providing a concrete definition is another matter. I assume it will always be a matter of opinion and appropriate application given variances in divergent environments.
In summary, I believe architecture is focused on some key principals of vision and direction and as such it delves into the abstract realms of philosophy, theory and art.
Engineering on the other hand is pragmatic application and as such relies on math, logic and definitions.
I believe we will continue this discussion at a later time by getting back to the foundation with a review of engineering 101.
EDIT: I recently received this excellent infographic about the difference between the Engineering profession and Architecture.