Three sufficient conditions for the growth of architects

1. A large number of high-risk decision-making opportunities

Yes, everyone needs opportunities to grow, and so do architects. It's just that what architects need is a lot of high-stakes architectural decision-making opportunities.

Opportunity to make decisions in the face of uncertainty. The growth of an architect is the process of making decisions in a larger domain, with higher difficulty and greater uncertainty.

  • For example, programmers make structured decisions at the code level.
  • A part-time architect is to make architectural decisions on horizontal issues in a field.
  • A cross-domain architect is to face complex team conflicts and make globally optimal architectural decisions across multiple domains.
  • The chief architect is to face the uncertainty of technological development, start from the company level, withstand the pressure from the business side, and make long-term optimal architectural decisions.
  • CTO is to face the high uncertainty of the competitive environment, start from the level of your company, face cost pressure and internal pressure of the team, and make technical decisions that are most conducive to the long-term survival of the company.

It can be seen that from programmers to CTOs, the scope of architecture decision-making is getting bigger and bigger, the challenges are getting bigger and bigger, and the uncertainty is getting higher and higher, which means that the risk of decision-making is also increasing.

Because for every decision made, whether it is right or wrong, it will increase the probability of correct decisions in the future.

A company with a high opportunity density will have many opportunities to make high-risk architectural decisions. And a company that has no decision-making opportunities, no matter how senior you are, it is difficult to get the opportunity to make architectural decisions.

Opportunity density is independent of firm size. Some companies are small, but there are many opportunities. Some companies are very large, but they have little chance to be distributed to everyone.

The density of architectural opportunities in a company is related to several factors:

1. The degree of competition on the track : In a highly competitive track, there will be a large number of new technologies and new models in a short period of time, and the changes will be rapid. On a track where the smoke has cleared, the iteration of technology will gradually stop.

2. The growth stage of the company : A company in the growth stage will have a lot of opportunities, while a company that has begun to age will not only have no good opportunities, but will even be very bad.

3. The company's technology space : In most companies and industries, technology creates value by improving efficiency. For a company or department with a larger per capita transaction volume, the more value-added the investment in technology is, the greater the opportunity. But this promotion opportunity is gradually shrinking, and the opportunities become less and less in the later stages.

4. The maturity of the software system in the department : software also has a life cycle. If it is a newly born software, there are decision-making opportunities everywhere. However, a system that is already aging will not only have no decision-making opportunities, but will even occupy the opportunities that originally belonged to new software. This kind of software and the interest groups behind them have become the scourge of what Confucius said, "To be old and not die is to be a thief."

To sum up, growing small and medium-sized companies in a fiercely competitive track often have a large number of high-risk architectural decision-making opportunities. In other words, if you really want to practice your software architecture capabilities, this type of company is your dojo!

2. A friendly environment for architects

Small and medium-sized companies on the competitive track actually have a lot of opportunities for structural decision-making. But the environment of each company is not all friendly to architects. An architect-friendly environment requires the following three items: relatively generous decision-making time; respect for architects' opinions; and sufficient tolerance for wrong decisions.

1) Relatively generous decision-making time . In a highly competitive industry, no company has ample time to make decisions. What the architect needs is as much decision-making time as possible.

How to get it? When the company's top management discusses the planning of the core business, architects should be invited to participate, so that they can know in advance the challenges the company faces and the upcoming model transformation. Instead of notifying the architect that the design will be given the next day after the company has made the final decision. This actually requires the company to have a relatively transparent culture. Any discussion of business products and designs must invite the corresponding software architects.

2) Respect for the opinions of architects . When making business decisions, many companies require architects to be absolutely obedient, actively embrace changes, and dare to challenge. No input from architects or technical managers is accepted at all in terms of business goals, implementation timelines, and technical feasibility.

Let architects and technical teams be participants in the decision-making process, and fully respect their judgment in the decision-making process. Don't talk about "needing and wanting" every day.

3) Tolerance of mistakes . With any high-risk decision, there is bound to be a possibility of error. However, some companies are very afraid of risks, and will adopt various punitive measures to prevent accidents from happening, and also have strict accountability procedures.

Abandon or change the assessment, punishment mechanism and accountability system. Learn from Amazon's "Bias for Action" culture, which is a corporate culture that encourages trial and error. Of course, this has very high requirements for the determination of the company's top management.

3. The right target

Architects need to have different goals at different growth stages. Whatever the goals, we assume those goals are correct.

From the highest level of decision-making to front-line managers, the possibility of setting the wrong goals will arise. There are many reasons for setting wrong goals. For example, top-level decision-makers lack the ability to look in the right direction; middle-level decision-makers shift their goals to the direction that maximizes the interests of their teams due to selfishness; front-line managers make misjudgments due to lack of information. etc.

Setting the wrong goals is not terrible, but if a company lacks effective error correction mechanisms, it will be a very terrible thing. If you are an architect in such an organization, it is difficult to learn the method of "how to help the company improve its survival advantage by optimizing the software architecture". Because at the very beginning, you didn't get the right target. In other words, the training data poured into the machine learning system is wrong, no matter how much training is done, the correct model cannot be trained!

In fact, the environment of this management by objectives is not difficult to identify. Such goals are open and transparent in the definition, and encourage full participation; respect data and factual input in decision-making, and have definite KPIs and data results to measure output; in the final review, failure is not taboo, and serious reflection will be made analyze.

These sufficient conditions are the growth environment given by the outside world. With such a growth environment, you can grow into a good architect. And these necessary conditions are your own abilities. If you don't have them, you can't be a good architect.

Sufficient conditions ensure the effectiveness of growth, and necessary conditions ensure the speed of growth. If the sufficient and necessary conditions can be met at the same time, more opportunities for high-quality growth can be obtained, so as to grow quickly and effectively in the position of architect.

This article is a study note for Day31 in May. The content comes from "Guo Dongbai's Architecture Course" in Geek Time . This course is recommended.

Guess you like

Origin blog.csdn.net/key_3_feng/article/details/130969874