If someone asks you what features a software architect needs, what would you do? Technically, architects have the highest technical requirements. In addition, architects who are more attractive are more popular in their work.
Recently, a colleague asked me what made me an architect. The following is my answer, applicable to various technical fields. Specifically, I intentionally did not consider issues related to enterprise architecture.
1. Understand technical knowledge in related fields
In the field of related technologies that you want to become an architect, you must have solid professional knowledge and extraordinary skills.
2. Strong analysis and design capabilities
In any case, strong analysis and design capabilities are essential. In addition, we can use the design pattern to solve various problems.
3. Code and validation testing (POC)
Familiar with the entire technology stack of the organization, and can use the technical skills of each layer for coding.
Quick validation testing.
4. architecture design strength
It can provide architecture solutions for original needs. Comprehensive considerations: adoption of tools and frameworks, security, performance and scalability, dependency, integration, and benefits. Familiar with SDLC: requirements, analysis, design, testing, packaging, and deployment.
5. modeling language or tool
Use different modeling languages or tools to explain the architecture to other architects, developers, project managers, and others.
6. architecture framework
It can prove the feasibility of the architecture, including its business, application, data, and Basic settings.
It is better to understand the togaf and Zachman frameworks.
7. Communication Skills
Communicate with developers, testers, business analysts, and managers, both verbal and written.
8. Promotion
Can explain the market and technical knowledge of the industry.
Provide training courses for the entire team.
9. Sales and even pre-sales
Ability to participate in presales (especially for the software service industry): Develop technical solutions, use various budget tools to estimate the scale and cost of the solutions, and interact with sales targets.
10. Presentation Skills
Excellent presentation skills help with the following activities: Gorgeous plans and technical documents, PPT presentations, and preaching.
Software Architect-excerpt