The Road to Architecture Design is Simple

The Road to Architecture Design is Simple


As an architect, his most important job is to make things simpler and simpler. Manage technical complexity.
 

Do architecture, what is architecture?
 Divide and conquer, reduce the complexity of management.

What kind of organizational structure there is, what kind of software system will be designed.
 The organizational structure designs the software system, while the architecture serves the organizational structure.
 If you want a system to be more and more cohesive, then you put the people who maintain the system into a team, have them report to a boss, and align their KPI goals, because that will match your end goal.

What does an architect do?
 Solve problems and improve efficiency. The failure experience, and then the corresponding solution, the
 
 architect's job responsibility,
 1 is to solve the problem. You have to solve all technical problems.
 2 is to improve efficiency. In the face of rapid iteration and rapid changes in the market, how to catch up with the development trend and meet the needs of users at a low cost is a big question.
  At work, knowing how to improve the efficiency of research and development, improve the efficiency of organizational structure, and improve the speed of product iteration will be your core competitiveness in defeating competitors.
 3 Architects are constantly responding to change.
  The market is changing, the organization and business form are changing, and the needs of users are changing. Therefore, architects must constantly follow the development of this product and think about which direction we should go next and how to organize our team.


 Leaders should set a relatively crazy goal to give everyone some morale and motivation. Team managers should not set goals and should not set long-term goals, because people's morale, in one go, declines again and again, and exhausts in three.
 
 The second is not to trust the big team too much. Doing any surprise thing, preferably two or three people, more than this number, the efficiency must be very low.
 Third, don’t blindly believe some authoritative opinions. In fact, those experts are not you, so they are not so trustworthy. You can learn from them and listen to them, but it doesn’t make any sense for you to blindly copy them completely, because only you know your team. , your own abilities, the problems you face, and only you know.

 In the right environment, the advantages of dynamic languages ​​are not as obvious. A relatively less flexible, more restrictive engineering language will give you more help. Although the individual efficiency of programmers may decrease, the overall efficiency of the team will be significantly improved.

 Internet companies pay attention to fast, everything must be fast, and
 use Java for development. Why use a new language? PHP really can't recruit the right people.

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326980227&siteId=291194637