این مطلب در حال بروزرساتی است.
Software Architect’s Career Roadmap
Software architect’s career starts with a rigorous study of computer science
Hence he must have core understanding of the theory independent of specific programming languages or latest patterns and paradigms.
The core need for an apprentice software architect is to learn the architectural styles, also known as patterns, applicable to his or her domain of expertise. The domain of expertise can split into business domain expertise (e.g. automotive industry) or solution type expertise (e.g. web based enterprise grade systems). The patterns are learned effectively when they are applied through practice.
The essential skill is the ability to write code. This does not mean an architect needs to be writing code on consistent basis or even have an IDE installed.
Next important experience is developing software in a disciplined team based environment.
Being a software engineer also means developing software using some software development lifecycle (SDLC) or better yet experiencing the full Application Life-cycle Management (ALM).
An effective software architect must also have experience playing the core roles in a SDLC. This includes requirements management, business problem analysis, build master and deployment, testing, and operations and maintenance.
Learning different ways to analyze and reason about software architecture at different intervals of development is essential. A number of techniques exist to help an architect understand the degree of goodness of a given architecture. Some of the popular methods include Attribute-Driven Design (ADD), Architecture Tradeoff Analysis Method (ATAM), and many others.
Finally, an architect must never stop learning. Continuous involvement in community of practice, learning about new technologies, methodologies, and techniques is essential to maintaining one’s lofty status of a software architect.