Programmer's career development direction: business? Technology?

Programmers will face a choice when their career develops to a certain extent, whether to take the direction of business+technology or choose pure research technology. Programmers' career development is a concern of all programmers, how to go in the future, and whether they can be programmers after 30 years old. The ultimate career goal of most programmers may be CTO. It is estimated that fewer people will be CEO, a few will start their own businesses as bosses, and some will change careers. After all, there are a few people who become bosses, and those who change careers are no longer in this industry. Naturally, there is nothing to say. Generally speaking, the development of programmers will basically go through several paths. Programmer-system analyst-architect-technical manager -CTO, programmer-project leader-project manager-project director -CTO, programmer-product designer-product manager -CTO. Of course, this is just a rough path. Not all programmers have to go through this. Some people may skip some steps, or some people may do a lot of positions in the middle. There are very few programmers who finally achieve CTO. The reason is very simple. This world does not allow so many CTOs and CXOs. In other words, many programmers may end up as technical managers, project managers or project directors, so which one should we choose in our career? I don't think there is a unified answer to this question, because everyone's personality is different and his fate is different, just like when you wanted to be a corrupt official when you were young, fate made you a programmer. So you should choose a path according to your interest, personality and chance. For example, if you happen to have the opportunity to take on a project and you don't hate the position of project manager very much, then you can choose to develop in the direction of project manager. In fact, many times, some companies do not clearly distinguish between technical managers, project managers and product managers. In many companies, it is often undertaken by one person. In outsourcing companies, there are usually project managers and system analysts (or technical managers). In some non-IT companies, it may be department managers, while companies that make their own products may get more details. Let me briefly talk about the difference between these three positions, so that wandering programmers can have a general understanding. The project manager is the direct person in charge of the project, and this role is equivalent to an intermediate interface. Whether it's a team member, a demander (customer) or a superior leader, he is directly asked for anything, so this position focuses on management and communication. Generally speaking, the project manager's work focuses on communicating customer needs, controlling project progress and communicating with the team. Some companies also need project managers to undertake the work of team building, but it seems that many domestic companies have neglected the work of team building. For the project manager, the emphasis will be on communication, coordination, crisis control, execution and team management, with emphasis on communication, management and planning. Of course, some companies also require project experience to participate in bidding negotiations, which requires project managers to have certain business negotiation skills. Technical managers may sometimes be called system analysts, and some small companies may have technical managers of the whole department. The role of technical manager is mainly system analysis, architecture construction, system construction, code walk-through, etc. If the project manager is the president, then the technical manager is the prime minister. Of course, not all companies are like this. In some companies, the project manager only cares about the demand, progress and communication with customers, regardless of the technical team, so the project manager at this time is like a merchandiser in the factory, which is more common in outsourcing companies. For technical managers, focusing on technology, you need to know which technology is suitable for a certain function and how long it takes to develop a certain function. At the same time, the technical manager should also undertake the work of improving the overall technical level of the team. 1 143448846