[This article turns to self-music bytes]

My boss reads the headlines at his desk every day, holds meetings on time, and writes code for less than two hours a day. Why on earth does he earn millions of dollars a year? We are all 985 graduate students, what makes him valuable?

What should I do if I want a million-dollar job? What should I accumulate and pay attention to when doing projects?

Ctos, Ctos, and architects rarely write concrete code, so why do they get paid so much?

Actually, the question itself is wrong. It’s like asking: why don’t directors and producers know how to act and 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, and how can they compare with actors?

To answer the previous question, the logic is the same. It is a mistake to compare ctos, Ctos, architects, and programmers in writing code. Because their core competencies are different.

The core competency of ctos, Ctos, and architects is technical judgment. To put it simply, it is to judge whether a project, a system architecture or a certain technical direction conforms to the current status of the enterprise and whether it has value for the future of the enterprise.

The difference between Ctos and ordinary programmers is not really technical. They may not write much better code than you, but they can accurately judge what kind of technology is valuable and what kind of team can create value for the company. Technical judgment, as the core driving force, is the guarantee that he can earn millions of dollars a year.

** The core competency of a programmer is the ability to write code. ** is to do the specific code implementation.

So the core competencies of a CTO/ CTO/ architect are completely different from those of a programmer and cannot be directly compared.

Usually we say ctos, Ctos, and architects are great, ** referring to their technical judgment, not their ability to write code. ** Conversely, they may not be as good at writing code as an experienced programmer.

But the technical judgment they make is very valuable to the company. ** For example, Dr. Wang Jian, founder of Ali Cloud, insisted that cloud computing was the future when everyone opposed it, helped Ali to arrange cloud computing in advance, and made great contributions to ali’s growth into a trillion yuan business empire. This is the great value that technical judgment brings to the enterprise.

One of the reasons it’s easy to confuse these roles and their responsibilities is that the title of CTO, architect, and technical manager is often given to the technical lead. The problem is particularly acute in China.

For example, a tech lead at a startup is actually a tech manager. The boss insisted on giving him the title of CTO to make him look superior. This was common, especially in the entrepreneurial years, when there were ctos everywhere.

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

Stage 01 Senior Programmer: Implement complex features and solve technical problems

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

If you are not satisfied with your development capabilities at this stage, all you probably need is a senior developer who can solve common technical problems, implement complex features, think clearly and work quickly. Do not go to dachang to hire a technical director, your temple is too small to afford such a big god, he really come to play not due role.

Regular readers know that K once had an entrepreneurial experience. At that time, HE followed my old leader to start his own business, and I was the nominal CTO with a team of 7 or 8 people. I also led two projects at the same time, in which I contributed more than 30% of the code volume. Actually, back then, I was just a senior programmer.

To summarize, the main responsibilities of a senior programmer are:

1. Realized complex functions and wrote core codes;

2. Deal with online bugs and solve technical problems.

Stage 02 Technical Manager: Improve delivery efficiency and quality

When the company’s business develops, it needs a relatively perfect technical team. With full-time product managers and testers, the team size is about 15 people, focusing on a product line.

Senior developers can handle complex features and technical challenges, but technical managers are needed to address development team efficiency, technical staff capabilities, code quality, and coding specifications. Technical managers usually write less code and do more technical management, project teams, etc.

This is what happens before many startups raise Series A rounds. The technical manager is generally in charge of the technical team, while the product manager connects with business needs and makes product planning and competitive product analysis, rather than copying any App.

To summarize, the responsibilities of the technical manager are:

1. Assigned development tasks. ** Assess and assign development workload to maximize resource utilization;

2, ** code quality improvement. **Code Review, coding specification, online bug analysis;

3. Project management. ** Ensure project delivery on time and establish management mechanism;

4. Manage ** team. ** Team building, staff recruitment, staff training.

Stage 03 Technical Director: Technical planning, multi-product line, project group management

When the technical team grows to about 30 people, you have multiple core product lines, and you have multiple technical managers, you need a technical director.

Technical director, as a field expert, stands at a higher level to think about how technology to build barriers, build technological competitiveness. Gradually establish a common technology platform, coordinate multiple product lines to iterate quickly on a unified technology platform, so that the product line can run fast and steadily.

Technical director, with years of experience in the field, from a well-known Internet company, able to take the technical team to a new level. Technical director, more technical judgment, some technical director will still write some core code, do architecture design.

Responsibilities of technical director:

  1. Set up the company’s technology platform department and unified the technology stack;
  2. Set up product development system, let the technical team to deliver quickly and sustainably;
  3. Manage and coordinate multiple product lines to create star products;
  4. Establish technical barrier, form technical competitiveness.
Phase 04 Architect: Architecture design, architecture implementation, 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 compared with the start-up period, has been very good.

The technical director coordinates the product lines, and the development manager leads the technical team to quickly iterate the product. Code specification, best practice summary and promotion are also gradually carried out.

At this point, the functions of architecture planning and architecture review need to be separated from the technical director and the development manager, that is, the separation of professional posts and management posts, professionals do professional work.

At this time, it is necessary to set up the position of architect, focusing on technical architecture analysis, architecture design, architecture implementation, promoting reconstruction, promoting architecture principles and other work, and let the technical director and technical manager focus on project management and team management.

The architect’s responsibilities are:

  1. ** Business architecture design and implementation. ** Design application architecture, classes, interfaces, business abstraction and business modeling based on business planning and application scenarios to meet current business requirements.
  2. ** Architecture design and implementation. ** Identify non-functional requirements such as performance, scalability, security, high availability, and ease of deployment.
  3. ** Refactoring plan and execution. ** Pay attention to all link monitoring data, online bugs, system warnings and other information, identify architectural defects, put forward reconstruction suggestions and promote the implementation.
Stage 05 CTO: Technical product strategic planning to enhance technical competitiveness

When the technical team has several directors, architects, and hundreds of people, it’s time to introduce a real CTO. Unless the CTO is a co-founder, the CTO will feel like a “loser” and the company will feel that the person is “full of words but can’t land on the ground.”

Domestic medium and large Internet companies generally have product VP and technical VP, and some technical VP is CTO. If the CTO is in charge of technology and product, then the VP of product reports to the CTO, otherwise they are horizontal.

In foreign countries, CTO mainly studies the technology development trend for 3-5 years and makes mid – and long-term technology planning for the company. He is a technology mogul with industry influence and spiritual leader in the technology field of the company. Ctos focus less on the specifics of the moment, which are handled mostly by engineering VPS.

Take ctos of Domestic Internet companies as an example.

To summarize the main responsibilities of a CTO:

  1. Technology empowers business. * Keen business insight, in-depth industrial research, participation in the company’s strategic planning, technology-led business growth, through technology and products to achieve strategic implementation.
  2. ** Technology trends research. ** Think about the technology development trend in the next 3-5 years, as well as the opportunities and risks brought by the development of new technology to the enterprise, for the enterprise layout in advance.
  3. ** Technical governance system. ** Continuous process improvement, efficient R&D process, stable delivery quality, high availability system.
  4. ** Organization and culture. ** Build a learning organization, self-improvement organization, establish a cultural atmosphere in line with the characteristics of the enterprise.

conclusion

Finally, the growth process from programmer to CTO requires continuous improvement of technical ability, product ability, project ability, management ability, business vision, personal influence, industry contacts and so on. In addition to their own efforts, opportunity is as important as luck, and it is hard to come by. But, you still have to dream, in case you see a ghost.

The last

I wish you a happy learning, learning fast.
Helpful words, you can click a “like” collection support! ❤ ️
Also welcome lili, a programmer who is becoming bald, but can lead you to become stronger
So much for today, I am Lybyte-Lili, an interesting soul! See you next time!

Finally, I would like to recommend three Java and Python self-study courses on site B:

From Java to project practice

Ten enterprise-level project self-study courses -B station: BV14K411F7HJ

BV1Sp4y1W77E: Get started with Python to Master Full Version B

Copy bV to station B