If someone asks you what qualities you need as a software architect, what would you say? Technically speaking, the architect's technical requirements are the top priority. In addition to being a person, a more attractive architect is more popular.
Recently, a colleague asked me what made an architect. The following is my answer, which applies to various technical fields. I deliberately do not consider enterprise architecture-related issues.
1, understand the relevant fields of technical knowledge
In the field of technology you want to be an architect, you must have solid expertise and skill.
2. Super strong analysis and design ability
However, having strong analytical and design skills is a must-kill technique. The other is the ability to use design patterns to solve a variety of problems.
3. Coding and Verification test (POC)
Be familiar with the entire technology stack of the organization and be able to code skillfully using each layer of technology.
Can quickly implement validation tests.
4, the strength of architecture design
To provide architectural solutions to the original requirements.
Thoughtful: the adoption of tools and frameworks, security, performance and scalability, dependencies, integration, benefits.
Familiarity with the software development Lifecycle (SDLC): Requirements, analysis, design, testing, packaging, deployment.
5. Modeling Language or Tools
can use different modeling languages or tools to explain the architecture to other architects, developers, project managers, and others.
6. Architecture Framework
To demonstrate the viability of the architecture, including its business, applications, data, and infrastructure settings.
Understanding the TOGAF and Zachman frameworks is even better.
7. Communication skills
Able to communicate with developers, testers, business analysts, senior managers, both verbally and in writing.
8. Sermons
Can explain the market, technical knowledge of the industry.
can provide training courses for the whole team.
9, sales, even pre-sale
Be able to participate in pre-sales work (especially for software services): Develop technical solutions, use various budget tools to estimate the size and cost of the program, and interact with the sales audience.
10. Presentation Skills
Excellent presentation skills to help with the following activities: ornate planning and technical documentation, PowerPoint presentations, sermons.
Ten features that software architects should have