In the career planning of IT engineers, many people are entangled in the choice of technical Or management route, and some are permanently “uncertain”. In terms of the business value of programmers, the correct career choice is worth at least 1 million yuan.

How should programmers plan their career path? What problems will be faced by technical post to management post? How to make the most of your value? What should technology managers prepare for in advance?

Code cloud open source project Notadd author Zuo Huadong teacher for you in-depth analysis of career development route selection and planning engineers.

Zuo huadong teacher is the founder of shaanxi benchu network technology co., LTD., during the university that set up jian fan studio, the team to the school development website, in phpwind9.0 release, jian fan studio made many plug-ins, became the most third-party developers phpwind9.0 plug-in template. After founding the original network, engaged in website construction and other related services, involving software and hardware, for the integration of products, technology and operation have very rich experience.

 

Technology or management, how to plan a career path?

1. Do a personality assessment first — is management a good fit?

There are probably hundreds of different answers to this question on the Internet, many of them reasonable nonsense, and I’d like to start with “Traits managers should avoid”.

People who are indecisive, have difficulty making choices, and change their mind from time to time.

These types of managers not only confuse subordinates but also question the credibility of the company’s management. This may be more or less the case for programmers who have just made the transition from manager to manager due to a lack of confidence.

In the early stage of our company, we also encountered this problem. All systems and policies involving the whole company were notified in a unified manner. We tried them out for a period of time to see the overall situation.

However, don’t worry too much about this, it is a defect that can be overcome, and we should pay more attention to these problems in our daily work.

Pessimistic, lack of security, always see shortcomings first, there are always people who want to harm me.

This kind of emotional problem is more serious programmers, often bring negative impact to the team, the team needs some positive energy, if the management are full of pessimism, the manager will certainly not have too much enthusiasm. This problem is more serious, the proposal overcomes psychological element first.

No responsibility, easy to anger, in advance to find a scapegoat.

Often blame subordinates have no executive power, want to find someone to train subordinates. It can be said that this is very common and common, there are many medium-sized enterprises, also like to train employees brainwashing, but this kind of behavior is the manager does not want to take responsibility for the excuse.

This situation is common in medium-sized companies. The practical reasons are as follows: first, the manager does not emphasize it many times; second, the interests of the managed contradict those of the company.

This problem is not obvious in the initial stage, it is suggested to overcome gradually in the work. Some enterprises are always engaged in training and lectures to improve their executive ability. In fact, the managers themselves need to be improved most.

I have read a saying that Japanese companies have high execution ability because they often repeat tasks more than three times.

Pay attention to human relations, work and life, do things by feeling, reward and punish unknown people.

First of all, try to put aside human relations at work. If it is really difficult to choose, it is suggested not to do management, otherwise it will lead to serious cliques and internal corruption. Rewards and punishments must be established in the company system, in addition to the need for special approval, also have to go through the process of application, and then constantly improve the system. This problem is quite serious, I suggest that we can try to overcome it first.

A similar situation happened in our team before. We felt that we had been getting along with each other for a long time and could not bear to dismiss the employees with negative energy. As a result, the resignation of core members was eventually affected. Generally speaking, to the public, should do or do, dispute or reward or punishment; It is important to be able to deal with this relationship accurately.

The employees who leave our company sometimes come to have dinner together. The mentality of the manager should be: since there is no hatred in the previous life, where can there be so much resentment?

In the early stage of our team, due to the lack of unified overall planning and their independence, everyone always did what they thought was right for the company, resulting in a serious waste of resources. It also shows the importance of the manager’s character.

 

2. Career Path Assessment — Is management necessary?

After the personality assessment is done, the next step is to know if you have to manage, or follow the management path.

Management is one of the routes of many programmers, but it is not a necessary route, and management is not high and enjoy the happiness, the greater the power, the greater the responsibility, for example, the requirements of the day after tomorrow online, and you have more than a dozen programmers struggling to fix bugs, at this time what should you do? Getting outside help, working overtime? Foreign aid how to quickly familiar with the company’s project, how to calculate overtime pay? How do you avoid resentment, and what if you work overtime and don’t get it done? If you see that this is already too much, think again about whether you really want management that much.

Good management does not necessarily have good technology, but at least it should convince managers, especially when there is a chain of contempt among programmers. For example, in the mall system of a company, it is said that ALL PHP is changed to JAVA, because the technical director is familiar with JAVA and feels unable to manage PHPer.

Of course, some people like the traditional, FTP code management, resulting in people have to download about 5G code and file synchronization every day, often overwrite each other files, and the company does not do code specification. In this case, if you want to improve your skills, either get involved in management or leave as soon as possible.

 

What problems will be faced by technical post to management post?

1. Technical selection

Technology selection is a problem that technology managers have to consider. In addition to combining the current company situation and business and market situation, we should also understand the recruitment situation.

We mainly do Web at the beginning, and use PHP as the back-end. For the sake of code quality, we use Laravel framework, but in Xi ‘an, Laravel is particularly difficult to recruit. With the release of VUE, our company’s back-end Laravel front-end VUE has reduced the back-end workload to a certain extent, but the recruitment problem of Laravel has not been well solved, resulting in large staff turnover.

Later, with the expansion of business scope, it was found that pure PHP was more and more difficult to be capable of some high concurrency and embedded scenarios alone, especially in today’s prevalent single-page applications, which required API provided by the back end. Swoole and ReactPHP were learned, but it was harder to recruit and more expensive to train.

Node.js is also very difficult to recruit, so we finally decided to recruit Java to Node (considering the cost and other reasons, we did not recruit mature Java engineers). In order to reduce the situation of maladaptation, and at the same time we hope to have a better architecture, we chose the Framework of Nest.js. This is a Node version of Spring that also uses typescript to unify the front and back end languages. In order to better adapt to typescript, we chose React (with a large number of downloads and a mature and stable community).

Through this transition, we have reduced actual development costs by 30-40%, improved development efficiency by more than 20%, and improved performance significantly (node.js asynchronous non-blocking works very well in business scenarios). This is not to say that PHP is bad, but if you want to use good technologies and frameworks, Consider the local talent market.

It is possible to communicate with confused technology selection, but on the problem of technology selection, it is not recommended to blindly follow the new, to consider the actual situation, of course, it is not recommended to be too conservative, try some new technology, it is still good for their future development. Do not too tangled in the language of good or bad, mainly to see the market demand.

 

2. Does it fit agile?

Agile is basically a standard part of a good company, but I still don’t recommend it for small teams. On the one hand, it requires a lot of management, especially when the company’s project management is not yet established, blindly promoting Agile can backfire and lead to blame shifting. In addition, agile development is not suitable for situations with unstable team members. Of course, if none of these problems exist, THEN I strongly recommend making the transition to agile development. We currently use a mix of agile and waterfall development.

Also, with or without agile development, I recommend using Git for code management. Both GitHub and the code cloud Gitee, which is more in line with domestic usage habits, can be implemented. The most important thing is that the code cloud is free to create private libraries, which is more conscientious. In terms of our team, there are three main branches, one is internal development, the other is external development (some outsourcing), and the third is our open source project Notadd, which is equivalent to three teams. It is greatly convenient for us to use code cloud enterprise edition to manage and assign tasks and check task statistics.

According to our experience, the code cloud is more suitable for small and medium-sized development teams, in addition to meeting the basic code hosting, but also can easily support the needs of project management and document collaboration. Of course, small teams can use a personal version of the code cloud, create a private library, good things for everyone to experience.

 

3. How to avoid the rule of man?

You have to see things and people separately, which is a very valuable quality for managers. It’s important to focus on the thing, not the person. As for the rule of law, I would like to refer to shang Yang’s reform in Empire of Daqin: Fission. For qi, only Shang Yang’s legal system could be sustained.

Tell a typical man example: I have a friend before 8 o ‘clock to go to the company, the boss of 10 distribution notice, at 8 o ‘clock, everyone must to before 8 PM, because he didn’t see a mobile phone, and then the “late”, boss button to bully his $200 salary, travel, how many are a boss, buckle does not have a corresponding system, and he chose to leave.

In the management, it is normal to have loopholes, but the problem should be correctly recognized, the corresponding rules should be revised, and notice, rather than all special treatment.

In addition, equality does not mean absolute justice, and individual differences should be considered in management.

 

Execution is the key to the success of management

The execution here refers to the execution of the manager. As the manager, the system should be strictly implemented. The system can be loose, but the execution must be strict. Do not be afraid of trouble at the beginning, forming a habit is a virtuous cycle.

Even if it is not their own implementation, also should do in-depth assessment of the executive, to ensure the effectiveness of the implementation.

Do not talk about the system of rewards and punishments are playing hooligan, if the violation of the corresponding system, should accept what kind of punishment, this is should be decided in advance, otherwise the follow-up implementation will have a lot of pits.

 

How to make the most of your value?

1. Team work ability

As a manager, you should cultivate a team, not a talent. Teamwork is fundamental. Using Git, creating code specifications, naming requirements, and unifying environments are all ways to minimize differences between team members.

In fact, due to differences in personal ability, there will often be code written by A, B has A lot of trouble to understand, then it should be considered that each member of the development process should constantly improve the development documentation and instructions.

There is a particularly prevalent, especially for some inexperienced programmer, such as a small function, he first not to yard cloud Gitee or other platform to search, but to write their own, such as fill out all kinds of pit discovered, there are a great god write well, and open source, a lot of work has been done for equal to white, must cultivate the habit of search.

Of course, it is not recommended to search everything. Our company also had one before. After searching, we struggled with which one to use, and then searched for several hours.

 

2. Ability to control progress

If you don’t do project management well, it will cause you to be unpopular in many companies. Schedule is the lifeblood of many development companies.

On the one hand, make a good assessment of the time allowed by the project, the time arranged by the project management, and the time that may be completed due to the difference in personal ability, and reserve a lot of time to fix bugs and deal with the possible project delay. Time given by developers is often unreliable.

In the process, we should control the progress of daily management. Weekends are not recommended to be included in the time assessment. In the actual development and adjustment process, we can decide whether to include evenings and weekends (working overtime) according to the project situation. If overtime is frequent, give the developer time off after the project is completed.

Emergency remedy, generally speaking, at this time to find foreign aid remedy, unless the other side is very rich in experience, otherwise it is difficult to do a good job of remedial measures. We’ve also had salvage teams run away. On the other hand, we should try our best to communicate with the sales and marketing side, try our best to calm the feelings of Party A, and at the same time, we can launch some main functions first. If this situation is more, you can find a reliable team for long-term cooperation (special fire fighting).

Do not make too many progress commitments, try to reserve more sufficient time, do not be confident about the project schedule. At the same time, the security of the project code is guaranteed. All project codes are subject to Git submission, which not only facilitates collaboration to prevent code conflicts, but also prevents some accidents. We have a history of hard disk damage.

Do you build your own code management system or use a cloud platform? In practice, it is expensive for small and medium businesses to build their own GitLabs, and there is no guarantee that code will not be lost. However, the cloud platform will do multiple storage and regular backup, even if the local and remote warehouse is deleted by mistake can also be restored, which is not comparable to the self-built. It is recommended that qualified teams purchase some paid version of Git hosting platform, which is generally guaranteed by agreement. The reason why our team used code cloud Gitee for Notadd project is to prevent the recurrence of the above tragedy.

 

What should technology managers prepare for in advance?

1. Being prepared is more complex than being prepared for technology

Even such an omnipotent and complex AI can hardly judge people’s happiness and sorrow, which makes these problems that managers have to face more complicated. An interesting example is that there was an emperor who liked stones, so he sent officials to all parts of the country to look for beautiful stones. At first, many ordinary people also handed in some strange stones in exchange for money. Later, there was a rush to dig stones. Finally, it became an excuse for some officials to abuse their power, saying that there are good stones under your house, you need to tear down the house, dig up the stones.

It is the same with management. Many things may have good intentions at first, but the implementation eventually turns sour, and the final result is that good intentions do bad things.

We also often encounter developers kicking the ball around. The front end throws the pot to the back end, and the back end throws the pot to the front end. The division of rights and responsibilities must be clear, and problems must be raised at the time (such as the back-end interface is not written) to prevent the phenomenon of kicking the ball.

 

2. The cost of administration will increase greatly as the number of people increases

In the beginning, this problem may not be obvious when managing a team of several people, but once the number of people increases, the management cost will rise quickly.

Let me take a simple example: for example, in order to solve the corruption problem of some sales personnel, we set up a sales supervision group, and then in order to solve the corruption problem of the supervision group, we set up another supervision and supervision group. In this cycle, the management cost is bound to rise significantly, but it is the sales personnel who ultimately create value.

 

3. Balance management costs with development costs

Management is a means, not an end. Excessive management by small teams is highly recommended. As mentioned above, don’t forget the original purpose for management.

It’s really a trade-off between the cost of management and the cost of development, and how much benefit and value it brings, and how much manpower is lost in management. What is the purpose of this, and is there an easier way?

In a word, management to increase the small cost, to solve the large development cost, is relatively respected.

Finally, those who are interested in our project, welcome star our open source project, let PR come more fierce.

 

WeChat
Sina Weibo
share