What does the CTO need to do at all stages of the company? (Part 2)

Suppose a company has the following stages of development:

  • 0: the founding stage;

  • 0.5: There is a product but no management stage;

  • 1: After 1 year of development, the initial stable stage;

  • 1+: Steady development stage.

In the last article , we talked about what the CTO needs to do in the company's start-up phase. This article will continue from the previous article and analyze what the CTO needs to do at the 0.5 to 1 stage and the 1+ rapid development stage.

 

0.5 to 1 stage

The company has passed the start-up stage, and the product has also been put into operation. Next, products need high-speed, high-quality iteration, and as a technical manager, we need to standardize all aspects.

 

Management needs to be standardized

 

Establish project management process:

  • Whether to use some project task management tools, such as Jira or Tower;

  • Whether to use some document knowledge management tools, such as Confluence, etc.;

  • What kind of development mode to choose, agile development or traditional waterfall development;

  • Develop various meeting systems, such as fixed morning meetings, weekly meetings, summary meetings, etc.;

  • Planning the process of branch use and code review process;

  • How to conduct the test, what kind of bug management platform to choose, the classification of bugs, etc.;

  • Synchronize regularly with other departments of the company and discuss the overall project planning process.

 

Establish a communication and reporting process:

  • Plan the rules for daily internal and external IM communication tools and email usage;

  • Determine the daily work process (review, test, release, online);

  • Develop a template for each team member’s daily or weekly report.

 

Performance management:

How to do performance management, choose OKR or KPI? There are too many discussions and different opinions. In the group activities of the TGO Kunpeng Club, our team members often discuss this topic. Each company has a different approach, which is related to the company-level culture, background, project attributes, and even the personality of the management. , It is impossible to copy the practices of others.

I think that for a relatively mature company, a performance management method suitable for the company is essential and requires constant exploration. Generally speaking, assessment is used to motivate those who are not so good. No matter how good people are assessed, they will always be the first group of people. However, it is impossible for any company to achieve that 100% of its employees have the mentality and enthusiasm of a partner, nor can 100% of its employees be world-class talents. Therefore, it is very important to help all employees establish clear goals and conduct reviews and assessments. Make everyone's goals clear, specific, and correct.

 

Technology needs to be standardized

 Standardization of various environments:

  • Define clearly the role of Dev, QA, Staging, and Live environments, the permissions of each person, and the use of each environment;

  • Establish a unified release system to handle daily releases. For example, you can encapsulate Shell scripts or Jenkins, and clarify the post-event and post-event online publishing, including: operation and maintenance, development, testing, product and other points that should be responsible.

 Establish technical standards and specifications:

  • PRD product requirements documents and UI marking standards;

  • Development standards, for example, you can discuss with you on the basis of Ali’s Java development specifications, sum up development standards that meet your company’s needs, and restrict them through code specification plug-ins;

  • Outline the standard of the design document, what points the document must contain, and when to submit for review;

  • Outline design standards of table structure and service definition, standards and best practices of various middleware usage methods;

  • Self-test standards, unit test requirements, penalties for imperfect self-test tests, etc.;

  • The establishment of CMDB, server configuration, basic operating system configuration, operation and maintenance standardization of program installation methods. Over time, you can summarize standards or best practices that suit your team. All standards should be recognized and followed by all team members. These standards can be reviewed and discussed regularly.

 Establish a monitoring and management system:

  • Build log, monitor and alarm infrastructure. For example, you can use ELK, Grafana, InfluxDb, etc. to build;

  • Unify the company's log and management framework, and regulate and clarify the project's log and management standards;

  • Establish monitoring panels and alarm rules for each business, and clarify alarm handling standards;

  • Define the accident classification process, review method and accountability method;

  • Define operation and maintenance routine monitoring capacity inspection methods and emergency response plans.

 

1+ rapid development stage

 

With the expansion of the business scale, it is likely to have multiple product lines; with the expansion of the team size, a completely flat organizational structure may not be able to meet the needs; as the number of visits increases, the requirements for technology and architecture are also increasing. More and more. In this case, both the technical requirements and the management requirements have been taken to the next level. At this time, some management and organizational structure evolution should be done on the basis of standards, and management should be considered from a higher perspective. (At this time, doing some trivial work is of little significance to the whole).

 

Technical sublimation

With the development of the company, the products are either rich in forms, and various products and businesses are derived, or the product forms remain unchanged, and the number of visits increases sharply. For the former, a mistake that is easy to make in management is to simply split the business line and recruit, recruit, and recruit to form N*20 such teams. Each team is relatively independent and there is no technology precipitation. . For the latter, it is easy to make the mistake of resisting the increase in pressure through the use of stack servers and stack operation and maintenance, leading to an increase in the number of old problems in the technical architecture. This rough style of team expansion is not healthy, and the better way is to toss more:

  1. My suggestion is to adjust technology and organizational structure to form professionals, form vertical technical lines, and extract common technologies so that the entire company can accumulate a unified and forward-developing technology platform;

  2. Forcing people to be liberated through automated means, and people should do creative work;

  3. Eliminate the comfortable state of the team, allow competition between teams or business lines to maintain momentum.

 

Organizational restructuring

With the expansion of the business scale, the size of the team is also expanding. It is not enough to split the technical team of the business line horizontally (X-dimension split). A dedicated vertical team is also needed to serve the horizontal business team. Serving all business teams by establishing vertical teams such as architecture, middleware, operation and maintenance, and ensuring the unity of technology and architecture (Y-dimension split).

If the number of team members exceeds 20 and is less than 50, we need to increase the number of managers to manage front-line employees and become a three-tier structure. If the number of people exceeds 50 and less than 100, we need to add senior managers to manage managers, and become a four-tier structure (Z dimension split ). Of course, some virtual or actual technical or project management committees may also be formed to define and coordinate the development of technical personnel, technical standardization, and major technical tasks at the company level.

Add the following points:

  1. With the increase of levels, it will be more and more difficult for managers to reach front-line employees, which may result in lower execution efficiency. At this time, the appointment and management of subordinate supervisors is very important. Similar to managing front-line employees, supervisors also need performance appraisal and standards. The difference is that supervisors assume management positions, and front-line employees are directly managed and influenced by them. This is very important for the training of supervisors. Not only do they need to use the CTO's original standards and routines to manage, but more importantly, let the supervisor clearly realize their management responsibilities and inspire their own management style;

  2. While ensuring that the supervisor is fully authorized and has the autonomy of team management, it is best to provide a channel for front-line employees to have the opportunity to express and express their ideas, so that senior managers can understand the ideas of any employee and remain fair Transparent;

  3. At this stage of the company, the rank requirements and salary standards of personnel can be uniformly defined together with HR, which should be combined with performance appraisal to form a fixed-period rank adjustment plan and form a clear upward channel. Let every member realize that with their own efforts, they can also go far within the company;

  4. The business team and the platform architecture team have different goals and missions, and there will be some contradictions. As a CTO, we must do a good job of guiding, let the business team realize the importance of unified architecture, and let the architecture team realize the pressure of the business team. It is also possible to encourage job changes between teams and do some technical team training, so that the architecture team understands the business and the business team digs into the technology.

 

Build culture

After all, people are social animals and have emotions. If all the management methods of the company are hard methods, it is difficult for employees to recognize them from the heart. We can cooperate with HRBP to create a technical culture with team characteristics. For example, sharing culture, open source culture, learning culture, culture that encourages automation, etc.

We can establish a WeChat official account for the technical team, so that everyone can post and operate together. Self-developed projects can be open sourced and contributed to the community, so that the community can improve together, can organize regular technical training or exchanges within the company or between the company and the company, and organize the annual technology star, product star selection, etc. Wait. In the early stage, you can use certain rewards and incentives to spread the fixed technical culture. After the culture is formed, each team member will feel that work is not only to complete individual tasks, but to grow in a group, live in a team, and have belonging Sense of value.

 

Build values

Generally speaking, 3 to 5 important values ​​will be extracted at the company level, and the technical team can also refine and refine the technical values ​​on this basis and include them in the assessment.

I personally think that values ​​can set a general direction for us on the one hand, for example, what kind of people we need; on the other hand, they are similar to psychological hints that affect every employee subtly. Slowly, employees will evolve into people who are in line with the company's values ​​(become a "married couple" with the company), or they will voluntarily leave when they realize that they cannot adapt to the values. For example, if you can define the values ​​of the technical team as one specializes in multiple abilities, take the initiative, be brave in innovation, and do what you say is the value of the technical team, and list some sub-items for inclusion in the assessment. Even if the employee’s business ability is fine, but his daily performance does not conform to the values, he can only be a passer-by and cannot develop with the company. This is why many large companies emphasize values ​​so much.

When the size of the team is small, we can manage the team well as long as we are on the front line. When the size is medium, we can use some standards and systems for management. After the scale is larger, we need higher-dimensional cultural values. Such means to infect every employee and make employees identify with the company is more effective than restrictive command management.

 

At this stage of the company, the CTO must not only do a good job of internal management, but also take time to do some external work to help the company do brand promotion, and use technology to strive for better resources, such as regular meetings with peers and investment People communicate, organize and participate in some technical discussions, follow up with industry trends, etc.

 

Finally, want to talk about how technology serves the company's strategy?

Personally, I think two points are very important. One is persistence, the other is strain, and the third is thinking. Around these points, I have listed some key points of technology service company strategy.

 The most basic responsibilities of the product technology department

As a product technical team, the most important job is to continuously and efficiently output high-quality, highly reliable products to meet the company's business needs. And while continuously improving usability, it also improves efficiency through automation and standardization and saves labor costs. After the size of the organization becomes larger, management can be used to maintain the efficiency of the team. With the expansion of business and team scale, it is not easy to achieve these points, but these are only the basic requirements for technology to serve the company's strategy.

 Make the impossible possible with technological innovation

For example, once, the business gave me a requirement, which could not be realized because of the limitation of the underlying external interface. But the business said, why other companies can achieve, we can not. At this time, I took the time to seriously think about whether there are some breakthrough methods, try to find other people's implementation methods, and finally thought of a way to circumvent the restrictions and realize this project. What I didn't expect was that after the project went live, the business told me that the question was wrong at the time. In fact, other people could not realize this thing, because only we realized this technology, so many people are willing to come to us for cooperation.

Many times, I think that I have more than ten years of experience in technology research and development. I understand the company's existing technology enough, and I think I can quickly draw conclusions about whether a thing can be achieved. In fact, this is not right. When receiving an external demand, you should think in reverse. First, assume that this demand must be realized, or that the competing product has already been realized. Before rejecting others, give yourself a few days and give the team a few days. Think about how to achieve it every day. If you do what others can't, then your technology is your core competitiveness.

 Establish an iron army technical team that can fight fast

With the standardization and maturity of the company's technology, the team should have the ability to fight fast, but a stable business often puts veterans into the state of boiling frogs in warm water. As a technical manager, you should use various methods to motivate everyone's fighting spirit (such as stage refactorings, hackathons) and maintain the vitality of the team. In this way, if there is a newly developed project, you can easily find and form a death squad inside the company to participate in the battle. The super high execution power enables the new business to conduct low-cost trial and error or seize the market as soon as possible. This is also the technology product team mature No manifestation.

 Adjust the team structure and technical structure in time according to the strategy

Regardless of the team structure or the technical structure, there should be a certain period of advancement. Generally speaking, for linear development projects, if the company is currently in the A-level PV, it should start to reserve ten times the A-level PV structure. Estimating the challenges of the technical architecture based on the development of the business, and establishing a new generation architecture plan six months or one year in advance to ensure that the technology does not slow down the business. The team structure also needs to define the skeleton first, and then fill in the holes for every possible position. Technical managers need to be sensitive to the company's strategy, prepare for these two structural adjustments in advance according to the company's development and strategy, and apply the adjustments in time when needed.

 Refine core technology, commercialize products, and explore the possibility of product output

If you are doing a 2C product, you may be able to extract a set of 2B or SaaS products from core technology or products after many years in a field to sell. If it succeeds, this is not just a 2C product, it is very likely There is another set of 2B products or even a set of 2C platforms. If you are making a 2B product, perhaps you have to think about whether the current product is a copy-and-paste customized product or a fully configured productized product. If not, how can you make it more versatile and reduce labor costs. The process of productization and platformization is a painful abstract process, which has higher requirements for technology, but once it is realized, the company's users and scale can be explosively developed, a real technology change strategy.

 Pay attention to cutting-edge technology and think about the combination of cutting-edge technology and company business

It is currently in a critical stage of technological change. In the next 5 years, vertical segmentation of AI will become mature, and blockchain may also have a large number of practical applications. Technology managers should always pay attention to these technologies and keep thinking Possible combination scenarios. There is no shortage of people who love to think, but many people who understand business do not understand technology, and those who understand technology cannot understand business pain points. As long as they actively pay attention to cutting-edge technology and maintain discussions and communication with business experts, they may collide someday. A revolutionary product.

- End -

Guess you like

Origin blog.csdn.net/weixin_42137700/article/details/112937078