The difference between software project managers and architects comes from the image of rational edge:
"In terms of film production, software project managers are called producers because they decide what to do.The software architect is the director. He decides whether the things are correct and ensures that the products meet the requirements of investors ."
As we all know, the project manager can be responsible for the macro plan, organization and control of the project without understanding the technology, it requires good leadership skills, communication skills, interpersonal skills, ability to bear pressure, and adaptability. What about the software architect? Is it necessary to possess profound technologies? Are other capabilities not that important? Apparently not.
1. the architect is the technical director. Strong technical skills and good leadership, decision-making, and communication skills are required. He needs to determine the technical route of the project, organize technical exchanges, make correct decisions technically, and ensure that team members can do things according to the correct technical routes and methods, this determines the overall quality of the project.
2. architects need a wide range of technologies, which is more important than technical depth. Of course, Architects also need to have a certain degree of technical depth in specific fields.
3. architects should be familiar with user business processes to better grasp system requirements and ensure that requirements can be accurately grasped. An architect who does not understand the user's business processes cannot write solutions that can solve practical problems.
4. The architect needs good design skills. The change in requirements can be completed at minimal cost, and the target quality attribute of the system can be fully understood, for example, availability, security, performance, portability, and modifyability can be used to design reasonable tactics to cope with different quality attribute requirements of the system.
5. Architecture EngineerIs a negotiating representative. He needs to communicate with investors a lot of questions about the software architecture scale, scale and performance, grasp the risks of demand, cancel the demands for high risks, and negotiate with investors to reach a consensus, this requires some negotiation skills.
From the perspective of my current work, I am also moving towards the software architect. I recently learned about software project management and software architecture, and have a deeper understanding of the responsibilities of software project managers and software architects, have a better understanding of some elements and methods of the architecture.