Why don’t CTOs, technical directors, and architects write code?

This article is reproduced from Technical Leadership

Author | Mr.K Finished | Emma

Questions like this are often asked: CTOs, technical directors, and architects rarely write specific code. Why are they still so awesome and earn such a high salary?

In fact, this question itself is wrong. It's like asking: Why don't directors and producers know how to act and can guide actors, as if they are better than actors? In fact, it is not difficult to understand that the core ability of directors and producers is not acting, so how can they be compared with actors?

To answer the previous question, the logic is the same. Comparing the ability of CTOs, technical directors, and architects with programmers to write code is itself a mistake. Because their core capabilities are different.

The core competence of CTOs, technical directors, and architects is technical judgment. Simply put, it is to judge whether a project, a system architecture, and a certain technical direction are in line with the current status of the enterprise and whether it has value for the future of the enterprise.

The core competence of a programmer is the ability to write code. Is to do specific code implementation.

Therefore, the core competence of CTO/Technical Director/Architect is completely different from the core competence of programmers, and there is no direct comparison.

Usually we say that CTOs, technical directors, and architects are awesome, which means their technical judgment is awesome, not their ability to write code. On the contrary, their ability to write code may not be as good as a senior programmer.

However, the technical judgments they made have brought very high value to the company. For example, Dr. Wang Jian, the founder of Alibaba Cloud, insisted that cloud computing is the future when everyone opposed him. He helped Alibaba to deploy cloud computing in advance, and made great contributions to the growth of Alibaba into a trillion business empire. This is the great value that technical judgment brings to the enterprise.

It is easy for everyone to confuse these roles and their responsibilities. In fact, one of the most important reasons is that people often assign the titles of CTO, architect, and technical manager to the technical director indiscriminately. This phenomenon is particularly serious in China.

For example, the technical director of a start-up company is actually a technical manager. In order to appear tall, the boss insisted on giving him the title of CTO. This situation is very common, especially in the years when the whole people started a business, there were CTOs everywhere.

In order to clarify the responsibilities of the technical person in charge, we take the growth of an e-commerce company as an example to explain what kind of technical person in charge of the company needs at different stages of the start-up, development, and maturity stages, and what they do. what.

Insert picture description here
In the first stage, senior programmers
implement complex functions and solve technical problems.
A startup company that has just started has only a few programmers, not even product managers or project managers. The boss himself is the product manager, and the ideas are the same as the developers. Say, make a prototype quickly.

If you are dissatisfied with your development capabilities at this stage, you probably only need a senior developer who can solve general technical problems, implement complex functions, have clear ideas and work agile. Don't go to a big factory to dig a technical director. Your family temple is too small to support such a big god, and he will not be able to play his due role if he really comes.

Old readers know that old K had an entrepreneurial experience. At that time, the old leader who followed me came out to start a business. I was the nominal CTO with a team of 7 or 8 people. I also brought two projects at the same time. In each project I have contributed more than 30% of the code. In fact, I was just a senior programmer at the time.

In summary, the main responsibilities of senior programmers are:

1. Realize complex functions and write core code;

2. Deal with online bugs and solve technical problems.

In the second stage, technical managers
improve delivery efficiency and quality.
When the company's business develops, a relatively complete technical team is needed. With full-time product managers, testers, etc., the team size is about 15 people, focusing on one business. product line.

Advanced developers can handle complex functions and technical problems, but if you want to solve the efficiency of the development team, the improvement of technical personnel's ability, code quality and coding standards, etc., a technical manager is needed. Technical managers usually write a small amount of code and do more technical management and project team work.

This is the situation before the A round of funding for many startups. The technical manager is in charge of the technical team as a whole, and the product manager connects with business needs, does product planning and competitive product analysis, rather than copying which app.

In summary, the responsibilities of the technical manager are:

1. Assign development tasks. Evaluation and allocation of development workload to maximize resource utilization;

2. Improved code quality. Code Review, coding standards, online bug analysis;

3. Project management. Ensure that the project is delivered on time and establish a management mechanism;

4. Team management. Team building, personnel recruitment, personnel training.
Insert picture description here
The third stage, technical director,
technical planning, multiple product lines, and project group management.
When the technical team has grown to about 30 people, there are multiple core product lines, and multiple technical managers, a technical director is needed.

The technical director, as an expert in the field, thinks about how technology builds barriers and builds technological competitiveness from a higher level. Gradually begin to establish a public technology platform, coordinate multiple product lines to iterate quickly on a unified technology platform, and make the product line run fast and steadily.

The technical director, who has been in the field for many years, comes from a well-known Internet company, and can bring the technical team to a new level. The technical director is more about making technical judgments, and some technical technical directors still write some core codes and do architectural design.

Responsibilities of Technical Director:

1. Build the company's technology platform department and unify the technology stack;

2. Establish a product development system to allow the technical team to deliver quickly and sustainably;

3. Manage and coordinate multiple product lines to create star products;

4. Establish technical barriers to form technical competitiveness;

In the fourth stage, architects,
architecture design, architecture implementation, and architecture review
. If the company “runs” to round B, the technical team should be close to a hundred people. At this time, the technical team is already very good compared to the start-up period.

A technical director coordinates each product line, and a development manager leads the technical team to quickly iterate products. The summary and promotion of code specifications and best practices are also being gradually carried out.

At this point, it is necessary to separate the functions of architecture planning and architecture review from the technical director and development manager, that is, to separate professional and management posts, and professionals to do professional work.

At this time, it is necessary to set up an architect position to focus on technical architecture analysis, architecture design, architecture implementation, promotion of refactoring, implementation of architecture principles, etc., so that technical directors and technical managers can focus on project management and team management.

The responsibilities of the architect are:

1. Business architecture design and implementation. According to business planning and application scenarios, the design meets current business requirements and has a certain forward-looking application architecture, classes, interfaces, business abstraction and business modeling, etc.

2. Architecture design and implementation. Identify non-functional requirements such as performance, scalability, security, high availability, and ease of deployment.

3. Restructuring plan and execution. Pay attention to information such as full-link monitoring data, online bugs, system warnings, etc., identify structural defects, propose reconstruction suggestions and promote implementation.
Insert picture description here
The fifth stage, CTO
technical product strategic planning, to enhance technical competitiveness.
When the technical team has several directors and architects, and the number reaches hundreds, it is time to introduce a true CTO, unless the CTO is a co-founder, otherwise This CTO will have the feeling of "a tiger falling in peace", and the company will also feel that this person "runs the train with his mouth full, but cannot get to the ground."

Domestic medium and large Internet companies generally have product VPs and technical VPs, and some technical VPs are CTOs. If the CTO is in charge of technology and products, then the product VP will report to the CTO, otherwise they are equal.

In foreign countries, CTO mainly researches technology development trends for 3 to 5 years, and makes mid-to-long-term technical planning for the company. He is a technical expert with industry influence and a spiritual leader in the company's technical field. CTOs pay less attention to current specific affairs, and this type of work is mainly handled by the vice presidents of engineering.

Taking the CTO of a domestic Internet company as an example, summarize the main responsibilities of the CTO:

1. Technology empowers business. Keen business insights, in-depth industry research, participation in company strategic planning, technology leading business growth, and strategic implementation through technology and products.

2. Research on technology trends. Consider the technological development trends in the next 3 to 5 years, as well as the opportunities and risks that the development of new technologies will bring to the company, and make arrangements for the company in advance.

3. Technical governance system. Continuous process improvement, efficient R&D process, stable delivery quality, and highly available system.

4. Organization and culture. Build a learning organization and self-improvement organization, and establish a cultural atmosphere that conforms to the characteristics of the enterprise.

Conclusion
Finally, a programmer who does not want to be a CTO is not a good rider. The growth process from programmer to CTO requires continuous improvement of technical capabilities, product capabilities, project capabilities, management capabilities, business vision, personal influence, industry contacts, and so on. In addition to one's own struggle, chance is as important as luck, and it is unavoidable. However, there is still a dream, in case it's hell.

Guess you like

Origin blog.csdn.net/m0_38127487/article/details/114238754