The abilities required from senior programmer to CTO are really very different!

The word is like the face, I am Brother Jun!

We are often asked this question, what is the difference between CTO, architect, technical manager and senior programmer? What size of technical team should be equipped with what level of technical leader? I have been asked so many questions that I wanted to sort out my thoughts and write them down. At the end of the article, there is an appointment for a live broadcast tomorrow night. Let’s make an appointment~

In order to facilitate understanding, let's take a startup company as an example to explain what kind of technical leader is needed at each stage of the startup, development, and maturity stages.


01

The first stage, senior programmers:

Implement complex functions and solve technical problems

A start-up company that has just started usually only has a few programmers, not even a product manager or project manager. The boss himself is the product manager. He talks about his ideas to the developers and quickly makes prototypes.

If you are not satisfied with the development capabilities at this stage, then probably all you need is a senior developer who can solve general technical problems, implement complex functions, have clear ideas, and work quickly.

Therefore, the responsibilities of a senior programmer are:

1. Implement complex functions and write core code;

2. Handle online bugs and solve technical problems.


02

In the second stage, technical manager:

Improved delivery efficiency and quality

When the company's business develops, it will need a relatively complete technical team with full-time product managers, testers, etc. The team size is about 15 people and focuses on one product line.

Senior developers can handle complex functions and technical problems, but if you want to solve the problems of development team efficiency, improvement of technical staff capabilities, code quality and coding standards, etc., you need technical managers.

This is the situation before the Series A financing of many startups. The technical manager is in overall charge of the technical team, and the product manager is responsible for business needs, product planning, and competitive product analysis, rather than which app to copy.

Therefore, the responsibilities of the technical manager are:

1. Development task allocation. Evaluate and assign development workload to maximize resource utilization;

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

3. Project management. Ensure on-time delivery of projects and establish management mechanisms;

4. Team management. Team building, personnel recruitment, and personnel training.


03

The third stage, technical director:

Technical planning, multiple product lines, project group management

When the technical team grows to about 30 people, has multiple core product lines, and has multiple technical managers, a technical director is needed.

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

The technical director has many years of experience in the field and comes from a well-known Internet company. He can bring the technical team to a new level.

Technical Director Responsibilities:

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

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

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

4. Establish technical barriers and form technological competitiveness;


04

The fourth stage, architect:

Architecture design, architecture implementation, architecture review

If the company "runs" to the B round, the technical team should be close to a hundred people. Compared with the start-up period, the technical team at this time is already very good.

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

At this time, it is necessary to separate the functions of architecture planning and architecture review from the technical director and development manager, that is, separate professional positions and management positions, and let professionals do professional things.

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

The architect's responsibilities are:

1. Business architecture design and implementation. Based on business planning and application scenarios, design application architecture, classes, interfaces, business abstractions, and business modeling that meet current business requirements and are forward-looking.

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

3. Reconstruction planning and execution. Pay attention to full-link monitoring data, online bugs, system warnings and other information, identify architectural defects, propose reconstruction suggestions and promote implementation.


05

The fifth stage, CTO:

Technical product strategic planning to enhance technical competitiveness

When the technical team has several directors and architects, and the number of people reaches hundreds, it is time to introduce a real CTO. Unless the CTO is a co-founder, otherwise this CTO will feel like "the tiger has fallen into the sun", and the company will also You will feel that this person "talks a lot but can't get off the ground."

Domestic medium and large Internet companies generally have product VPs and technical VPs, and some technical VPs are CTOs. If the CTO oversees technology and products, then the product VP reports to the CTO, otherwise they are on the same level.

Abroad, CTOs mainly study technology development trends in 3 to 5 years and make mid- and long-term technology plans for the company. They are industry-influential technology experts and spiritual leaders in the company's technology field. The CTO pays less attention to current specific matters, and this kind of work is mainly handled by the vice presidents of engineering.

Taking the CTO of a domestic Internet company as an example, let’s 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. Technology trend research. Think about 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 enterprises, and plan for enterprises in advance.

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

4. Organization and culture. Build a learning organization and a self-improvement organization, and establish a cultural atmosphere in line with the characteristics of the enterprise.

Finally, promotion from programmer to CTO requires planning and achieving it step by step. Then most people either follow the trend or cross the bridge by feeling the stones. This growth rate is too slow, and the ceiling is naturally very low.

Therefore, I am going to share a live broadcast at 21 o'clock tomorrow night, and talk in depth about technical people (front-end, back-end, algorithm, big data, testing, operation and maintenance, etc.) at different age stages, such as 25 to 30 years old, and 30 to 30 years old. At 35 years old, how do you plan your career? How to break the 35-year-old crisis?

Of course , you are welcome to come to the live broadcast room with your personal questions to ask questions. Click below to make an appointment. We will see you there~

Recommended popular articles from the past:

Why are major Internet companies laying off employees on a massive scale and hiring at the same time?

Why is there such a big gap between Chinese programmers and foreign programmers?


For more exciting news, follow my official account and learn and grow together.

bb42c056f405c6b69339074ec582aca0.png

Guess you like

Origin blog.csdn.net/chengjun_java/article/details/132506068