Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Why can't most people be architects? These two points are the key.

2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/02 Report--

Sometimes choice is more important than hard work. Really good people not only work hard, but also make use of good ways of thinking and methods to see through the nature of things, conform to trends, find the best solution, and know how to use examples. Architects are one of the goals of programmers, but most programmers cannot become architects. What kind of way of thinking does a really good architect have, and what is the strength? Today, Han Shuai reveals the secret for you.

Han Shuai's other articles: "the way of clean structure, read this one is enough!" "

All the reasons in the world are the same, and some are surprisingly similar, as is the case with model thinkers and architects. Model thinker is a book by Professor Scott Page of the University of Michigan. The purpose of this book is to teach people how to understand and deal with this complex world. At present, the Chinese version of the book has not yet been officially published, and there are 15 courses in the World wide Steel Elite day class.

This article is a reading note, the content comes from the article of teacher Ronghua, as well as the explanation of "model thinker" in the day class of Wanwei steel elite, combined with some of my own understanding and thinking. After learning these, my learning and growth have a framework and direction, if you think it is very fruitful, you can read the original work, welcome to communicate in the message area. The original text of Mr. Ronghua has not been officially released. Here, with the consent of Mr. Ronghua, we have selected some of the contents and identify the QR code below, which can be read for your reference and study.

First, what is the architecture?

The architecture is defined in ISO/IEC 42010VO20072 as follows:

The fundamental organization of a system, embodied in its components, their relationships to each other and the enviroment, and the principles governing its design and evolution.

A module or component with clear responsibilities

Clear relationships between components

Constraints and guiding principles

The simpler and abstract the definition is, the more beautiful it is and the more universal it is. Such content can be implied in everything from a toy to the operation of a country.

To give two simple examples, let's take a look at what their three elements are.

Software architecture

Modules: model, domain

Relationships: one-to-one, one-to-many (model); dependency (domain)

Principles: single responsibility, opening and closing principle, Richter scale replacement principle, etc.

Organizational structure

Modules: Department

Relationship: manage or escalation

Principles: various management principles and financial principles

Enrich the definition of architecture from different perspectives:

The principle of the architecture is simple, but there can be no omissions.

The purpose of the architecture is to solve the problem. On the scale of the problem, it can range from national strategic issues, economic problems, people's livelihood issues, or as small as how a pen spits ink evenly; in terms of time, it can be a current problem or a problem expected to occur in the future.

The architecture is not immutable, it is only suitable for specific scenarios. The architecture of the past may not be suitable for the present, and the architecture of the present may not necessarily predict the future.

What is an architect?

The architect is a role, defining the role is actually defining the responsibility, the architect's responsibility is to identify and define the problem, create, select, or adjust the architecture to find the best solution and solve the problem.

In fact, this is also the general way for architects to do things: define problems-> determine architecture-> propose solutions-> get results on the ground. Of these four steps, the more important the previous steps are, the more abstract and difficult they are, and the more they reflect the skills of the architect.

1. What's the problem?

The definition of the problem is broad, survival or destruction? This is a problem. Would you like to have a barbecue tonight? It's also a problem. Architects often say that what problems my architecture solves is not a general problem, but refers specifically to contradictions in Marxist philosophy (the definition of contradiction is also very broad, note that this is a contradiction in Marxist philosophy).

The problem is the contradiction of things. Where there is an unresolved contradiction, there will be a problem.

-- Mao Zedong

Everything exists as a unity of contradiction, and contradiction is the source and driving force of the development of things.

-- Marx

The problem that the architect wants to define and solve is the contradiction in a specific field. When the contradiction is solved, it develops and gains.

For more interpretation of the nature of the problem, please read the appendix section of the original text of teacher Ronghua: how to build the architecture from top to bottom (the way to advance).

Since the problem in the eyes of the architect is the contradiction in Marxist philosophy, we can learn the systematic method of defining the problem from Marxist philosophy, such as contradiction divided into principal contradiction and secondary contradiction. The principal contradiction refers to the contradiction that is in a dominant position in the process of the development of things and plays a decisive role in the development of things; the secondary contradiction refers to the contradiction that is in a subordinate position and does not play a decisive role in the development of things; primary and secondary contradictions depend on and influence each other, and transform each other under certain conditions.

When we are faced with complex problems, we have to constantly reflect on them. is this the main problem? Is it the most important problem at the moment?

two。 How to distinguish between problems, means and challenges

When we talk about work or promotion, we often talk about problems, means and challenges, but these concepts are always confused, and it is difficult to distinguish whether a thing is a problem or a means. In fact, the problems, means and challenges are all the same thing, they are all contradictions, but at different levels. For example:

Each problem can be further developed and refined, and the problem at the next level is the specific solution to the problem at the next level. When you regard "improving performance" as the problem of your Owner, increasing the frame rate, improving the second opening rate of the page, and optimizing the startup time will become your specific solution. The next level of the means is the challenges you will face, such as time-consuming optimization of the network, weak network environment, bandwidth problems in some countries and regions, and so on. Similarly, when you consider "improving the user experience" as a problem for your Owner, "improving performance" becomes your specific means, and frame rate, second rate, and startup time-consuming become challenges.

3. How to define a problem

The significant problems we face cannot be solved at the same level of thinking we were at when we created them.-- Einstein

Teacher Ronghua defines Einstein's idea as ascending thinking: we can't just confine ourselves to the problem itself, but also need to see the problem behind it, so that we can find more solutions more easily.

'If I ask customers what they need, they will tell me they need a faster horse, 'Mr. Henry Ford said. From Henry Ford's words, we can extract the most direct problem: the customer needs a faster horse. To find a solution based on the problem itself may never give a satisfactory answer: looking for a better breed and a more scientific way of training horses.

Think about the question behind the problem, why do customers need a faster horse? Maybe customers want faster daily transportation, and after rising to a higher level, we immediately found a better solution: building cars.

After reading this paragraph, I believe you understand not only what an architect is, but also his way of doing things and thinking.

What is a model?

The definition of a model in Model thinker is as follows:

The model is an abstraction of the real world, which clearly defines various elements and the relationship between them, and can be used for logical derivation.

Compared with the definition of the three elements of the architecture and the model, the common point is that they all have elements (components) and the relationships between elements (components). The difference is that the architecture emphasizes constraints and guiding principles to guide us to do things, while the model emphasizes the ability of logical derivation to guide us to find answers or optimal solutions under the existing laws.

Take an example of using a model to solve a problem: if you are a high school head teacher and want to increase the number of people in your class who score more than 90, what should you do?

The first thing is to find the right model. There are two key elements: test scores and the corresponding number of students. the relationship between these two elements is a normal distribution function, so the normal distribution model should be used.

Then the model is used to deduce and find the optimal solution of the problem. The normal distribution function has two key variables: mean and variance. As long as these two variables are determined, the normal distribution is uniquely determined. If we want to increase the number of people in the class who score more than 90, we have two choices: increase the mean, or increase the variance. Even if the negative impact of increasing variance is ignored (there are more students with poor grades), the positive impact of increasing variance is far less than that of increasing the mean, especially when the average is close to 90 points, even if the average is increased by 1 point. there has been a huge increase in the number of people with a score greater than 90.

Finally, according to the derivation results, the specific landing scheme is determined. Give up the methods of increasing variance, such as giving special care to students with good grades, and changing the seats of students with poor grades to the back row. More measures should be taken to improve the average, such as cultivating the learning atmosphere of the class, setting up study groups and so on.

4. What is a model thinker?

Refer to the architect, use the way the model thinker does things to define it: face the problem, can see through the nature of objective things, select or build an appropriate model, and derive the optimal solution of the problem.

Just as the definitions of architecture and model are similar, but with different highlights, the definitions of architects and model thinkers are similar and the focus is different. The focus of the architect is to define the problem, solve the problem, and promote the development of things; the focus of the model thinker is to see through the nature of things, follow the law, and find the optimal solution.

Here are a few amazing models:

1. Cognitive model (cognitive pyramid): this model reveals the nature of cognition and gives a best practice to improve cognition.

The model explains:

At the bottom of the pyramid is data. Data represent a variety of events and phenomena. The data itself is not organized or structured, nor does it make sense. The data can only tell you what happened, not why it happened.

The upper layer of the data is information. Information is structured data. Information is very useful and can be used for analysis and interpretation.

The next level of information is knowledge. Knowledge can organize information and tell us the logical relationship between events. It is knowledge that clouds cause rain and the weather becomes cool because of rain. Idioms, allusions and thinking routines are knowledge. Models, on the other hand, can be said to be a kind of advanced knowledge, which can explain some things and make predictions.

The top level of the cognitive pyramid is wisdom. Wisdom is the ability to identify and select relevant knowledge. You may master a lot of models, but when it comes to this question, which model should be used and whether you dare to use this model or not is wisdom.

Information anxiety: in the information age, many people have information anxiety, for fear that they do not read enough information every day and are left behind by the times, tired of entering new information every day, and have no time to think and summarize. As a result, as the information is forgotten, there is nothing left. In fact, compared with information, there are not so many models, we should spend more time summarizing the models and defining the scope of use of the models (wisdom).

Data analysis: after the development of a function, add some buried points, run sql can get the data, do the report can get the information, for the analysis of the report belongs to knowledge. Reflect on yourself, how many buried points have not been run data, how much data has not been structured into information? How much information has not been analyzed? How many analyses have not yet made the next decision?

Guiding investment: DALIO's "principles" mentions the method of making money from the Bridge Water Fund: constantly collecting market data, using computer processing data to abstract the model, and automatically making investment decisions according to the model. Isn't this behavior of the computer a model thinker?

two。 Solow model (economic growth model)

This is a Nobel Prize-winning model that reveals the nature of economic growth.

Model explanation (excerpts from elite day classes):

O stands for economic output, A for technological progress, L for labor force, s for savings rate and d for depreciation rate.

There is a linear relationship between O and L: Solo considers that labor has two functions: they not only go to work in the factory, but also get a salary. If they get a salary, they will save money that can be used to invest. Economic output is related to the square root of labor work and the investment of labor force, so it is directly proportional to the labor force itself.

O is squared with A: if your technology is more advanced, your output is more valuable than that of others-A represents the added value of your technology. Why is the economic output proportional to A ²? Because A has two effects. One is that A can directly increase output, and the other is that because An increases output, it will lead to an increase in investment relative to the same depreciation. If you can double the added value of technology, your total output will quadruple.

Simple investment behavior will be equalized by depreciation, which is a process of diminishing marginal effect and is not sustainable.

The influence of labor force on economic growth is linear, but the impact of technological progress is square. in the face of China's population problem, the pursuit of technological progress is the only way out, and technological progress is the root of real growth.

3. Other models:

There are many models in "Model thinker". Each model has a detailed explanation, as well as the applicable scenarios of the model, such as the "propagation model" which is suitable for the field of marketing and virus transmission, and the "Markov model" that studies steady state and fatality. if you are interested, you can read the original work.

V. Summary

Architects and model thinkers are two sets of very similar methods of doing things. For the system studied, when we can make changes to the system, we can use architect thinking to define and solve problems, and promote the system to improve step by step; when we are unable to affect the operating mechanism of the system, we should use model thinkers to see its nature, conform to the trend, and find the optimal solution.

Reference article:

Many articles by teacher Ronghua

Wanwei steel elite day class, "model thinker" series of courses

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report