foreword
Every time I share technology, or interview some junior and intermediate candidates about their career plans, about 70% of them say that there is an improvement in technology, and they plan to grow into an architect in the next five years; then I asked. , What are the responsibilities of the architect? 99% of the people's relatively shallow answer is "that is responsible for the company's system architecture construction, framework construction, etc.", here I want to give the majority of netizens an understanding of architects!
What is a system architect?
A system architect is a technical person who finally confirms, evaluates system requirements and gives development plans, builds system architecture, and clarifies technical details, or technical training, solutions to future system bottlenecks (or overcoming technical difficulties), etc. . Mainly focus on the system architecture level, in a specific business scenario, can immediately provide solutions for common scenarios, and at the same time have a sufficient understanding of the team's technical staff, can evaluate the demand project cycle and cost, etc.
When the system architect considers the overall system architecture, every detail from the requirements to the design should be considered, grasp the entire project, and make the project's extensibility, portability, developability, etc. as high as possible.
What are the job contents (duties)?
When describing what a system architect does, briefly introduce his work content. Here is a detailed introduction:
1. Requirement analysis
The early stage of the project mainly refers to the research of project business needs, including cooperating with users to formulate project construction plans, technical specifications, and cooperating with market personnel to conduct pre-sales technical exchanges. At this stage, pre-sales engineers and demand analysts (business experts) should be organized. As well as system architects, etc., form an ad hoc group to track the project. The team determines the team members according to the size of the project and the requirements of the customer, usually composed of 3-5 members. It can be either full-time or part-time depending on the client's requirements.
The work of the team in the early stage of the project is the beginning of the project. The performance and quality of the team's work will directly affect the success or failure of the project. Therefore, from the perspective of management, we must pay attention to this link.
The work that the pre-project team needs to complete includes the following:
A) Various pre-project requirements of customers, such as: program introduction, business requirements preparation, etc.
B) Submit project feasibility analysis report, including cost/benefit analysis
C) Submit project proposal
D) Submit business requirements specification or demand analysis specification
2. Design and development plan:
System design is the process of determining the "how" of a project or software system, which answers the question of how the system should be implemented. From a software engineering point of view, the design phase is about 25% of the overall project development cost, so the design team and the team's work performance are critical to the entire system.
The design team is generally composed of 3-8 designers. From this stage, the project needs a project manager to exercise various management functions of the project team. Members of the design team include:
1 project manager
including 1-2 pre-project members
1 system architect
2-4 designers
1 database designer
1 user interface designer
The work the design team needs to do includes:
A) Project development plan
B) Determine the best solution for system software and hardware configuration
C) Determine system development platform and development tools
D) Determine system software structure
E) Determine system functional modules and the relationship between each module
F) Determine system test plan
G ) Submit the system database design scheme
H) Submit the system outline design document
Because the application software requirements change frequently, the design needs to consider the system scalability, and it is necessary to communicate with users in a timely manner during the design process.
3. Build the system architecture: In the requirements analysis stage, select the appropriate framework according to the requirements, generally requiring the architect to master the technology
4. Clarify technical details:
A) Instructions for building the framework, you need to introduce the technical features used, catalog description, database table design (if there is no DBA)
B) If most of the companies using technology are not very familiar with it, architects are required to produce documents and organize training to achieve the purpose of rapid development
C) Difficulty analysis and difficult training in the process of project development
5. System bottleneck solution:
A) Predicting future system architecture changes: Due to the continuous expansion of the business, changes in the performance, security, appearance, etc. of the system will result in changes in the architecture.
B) The continuous requirements of the business for performance and the processing plan after the system architecture/technology reaches the threshold
What is the difference relative to product manager responsibilities?
Continuous update. . .
What is the difference relative to project manager responsibilities?
Continuous update. . .