IT foreign company things (10): programmers are not programs

Source: Internet
Author: User

As a qualified programmer, it is often able to manage their own programs, whether it is source code maintenance, documentation, continuous integration, design mode, architecture, etc, many of them go deep into the programmer's thinking and even become a way of thinking in daily life. Especially for programmers who have been in pure R & D centers and even software parks for a long time, whether at work or off work, or even out-of-class activities, they all encounter people with the same thinking, this makes it easy to think that most people share the same way of thinking. Therefore, when programmers become managers, they are often used to managing programmers as programs.

However, programmers are not programs, but flesh-and-blood people, so they also present many different features:

First, the program has a definite Input and Output. Generally, for a specific input, a specific output is obtained. Generally, the input and output are specified, and the interface is determined, you don't need to worry about the specific implementation. You don't need to worry about the maintenance of mature public modules, so you can use them with confidence to achieve the effect once and for all.

The programmer does not. Not any input to the programmer will bring specific output. For the same input, such as task allocation, reward and punishment system, and performance appraisal, different programmers and even the same programmer will have different outputs in different career cycles. Relatively speaking, programmers tend to have attractive prospects, more development plans, more practical opportunities in their early career, and often make them excited by their exciting speeches, they are willing to come to the company early, and they will not go back until very late. The company's dinner, gym, and small food are very attractive to them. They like to write programs every day, if they do not have enough work or do not want them to take on enough projects, they will be disappointed with the lack of development and progress. With the passage of work time, many people have families or even children, so they are more inclined to work live balance, maybe because they have changed enough companies, the exciting speeches of the elders are hard to impress them. Even overtime and good evening benefits cannot persuade them to work overtime. Most of them are no longer the same as when they were young, I read a large number of books every night to supplement the latest knowledge. Therefore, I tend to engage in architecture or management work in some fields that I am familiar with. For those who have many years of work experience, we have already had enough experience and observations for the entire IT industry, and have a clear understanding of our career plans. Therefore, our incentives and practical material incentives are relatively useful, family care is also a way to enhance their sense of belonging (for example, some companies hold activities such as traveling, expanding, and watching movies attended by family members ).

Management programmers should not use interfaces. If you input and give results to them, in practice, they generally do not have good control over the process, it is difficult to get satisfactory results.

Mature programs can take little time to maintain, and even excellent and mature programmers need to constantly maintain their passion and sense of belonging, otherwise there will be unexpected things for you, because a stable program does not move for a few months, what is the result or what is the result, but a good programmer, without good maintenance, it would be faster than ordinary programmers to change to the worst employee. If the priority of a Bug is relatively low, you can release it for a few months without moving it. When you run your Test Case in a few months, it is still that error, maybe it is still harmless, however, if a team does not handle small problems in time, they may spread and spread into large problems, and even some people will no longer be able to look back, no one can tell why, but what exactly is the cause of the conflict.

When the program is needed, it calls the result. If it is not called, it can turn a blind eye. The programmer is a complete person, that is, the so-called employer in organizational behavior employs a complete person, not just a pair of programmers. As a complete person, programmers are interested, have hobbies, have emotions, and have a wealth of spare time, so a small gift on their birthdays and a red envelope on their wedding day, A blessing when giving birth to a child, an email on Valentine's Day, can be a programmer who feels a humanistic feeling in the boring coding life every day.

Program Logic is often a non-one-two binary logic, but a programmer is a complex social person. It may be because of our childhood education problems. We are often in a dual world. When I am very old, I will hear my peers watching TV or watching movies: "Is this person a good person or a bad person ". Especially for programmers, after working closely with binary systems, they are getting more and more involved in the two-element logic. Therefore, management programmers fall into a wonderful relationship: as a social person, programmers have various complex psychological activities, but for the object programs managed by them, the dual thinking approach is used, so that once a programmer grows into a manager, but the programmer becomes the management object, he does not consciously use the dual thinking. Will you subconsciously distinguish between good employees and bad employees? How many times have you tagged employees with different opinions? Do you unconsciously deny the suggestions of employees with poor performance for the moment, thinking that you are not doing well in your own affairs. Are there so many questions? If the feedback from the questionnaire survey is good, will the management be okay? Try to understand the psychology and motivation behind employees' behaviors. There may be other worlds beyond this.

The management of programs often uses svn, cvs and other tools. Therefore, many projects and programmers tend to study project management tools, what scrum, what project software, if you have mastered these tools, you can manage your team well. This is also a general problem of lead from the beginning of the technical line to the management line. It seems that in-depth research on technology and tools is more important. In fact, it is more important for people to manage. As we know, procedural work is an intellectual work. It is hard to measure both the workload, progress, and achievements, and the Chinese culture is one of the elastic cultures. So the key to the same system is how to do it. Therefore, we may see such a situation. If the team is united, the employees will make their work arrangements very compact, and the ambiguous gray areas will also be scrambling to be resolved, even consciously use their spare time to work, and how the hearts of the people are scattered, the employees will become less dedicated, making all the processes useless. If you set a time limit for commuting, employees will spend more time Browsing webpages or even playing web games during work hours. If you want to estimate the project time, employees will be able to estimate the time limit; if you require a very detailed split of tasks to make the estimated time more reliable, the staff will increase the discussion documents, design the architecture, design the Test Case, joint debugging, and so on, the necessary tasks make you unable to tell anything, and the real efforts in them are hard to be measured. If you have set the time for every step, it is likely that the quality of the product is sacrificed. Things are actually made, and the Demo is just the same, but the architecture is very easy to expand, the code is clean, and the test is completely unknown, when someone leaves, they will find that the module that has always been functional normally is a mess. If you do Code Review or even Pair programming, you hope to avoid this problem, not only is the time of the Code Review itself measured (many Code Review has become a process for one person to introduce the module to another person, most of the results that can be reviewed are very obvious errors, or Code style and other things are hard to say. If the Code Review schedule is short, almost no Review is available, and the schedule is long, it is not worthwhile ), to a large extent, the probability of employees buying faces from each other is greater than the probability of giving you a face. After all, I am so nice. Today I will Review your, maybe when did you give me Reivew? Why are you so anxious? Wait. Therefore, it is the most important thing to unite people. The lower the level of management personnel, the more technical processes there are. The higher the level of management personnel, the more people-oriented management personnel, the higher the level to a certain extent, you can win the hearts of the people through the show.

It is also a complicated problem to unite the hearts of the team:

  • First, let employees see the target. As a programmer of knowledgeable employees, unlike general mechanical workers, it is difficult for you to tell them what you are doing and then make them willing to work. Despite the fact that many inspirational books talk about "NO excuse", programmers who love to think independently are always eager to find out why, so they can work hard. What will I do with this program? What is a Demo function? What is the position in the entire architecture, the underlying layer or the upper layer? Is there any technical content? What is the position of the entire project in the company's product line? The degree of understanding of these problems determines how much effort it will spend to write this program. This article uses two sections: Why don't your employees work hard; are you always painting cakes? To discuss this issue.
  • The second is the democratic leadership style. We know that the leader style is roughly divided into the only one and the democratic one. The dedicated leadership has a strong directive and focuses on top-down communication and action. Democratic leaders focus on sharing, two-way communication, and listening. Mcgrego's organizational behavior is also divided into the X and Y theories. The so-called X theories hold that the role of managers is to enforce and control human beings. The so-called Y theory, it is believed that the role of managers is to achieve the common goal and exert the potential capabilities of people. As described above, the program design work is extremely flexible, so for programmers, democratic leadership style and Y theory management are relatively popular. This article will discuss this question in the following two sections: good leaders and good employees, chicken eggs or eggs ?; Good employees and bad employees are only one step away.
  • Again, it is a good communication atmosphere. It is not easy to be a middle-level leader. There are senior managers, employees, internal colleagues, and external customers. You are a bridge for information flow. How can we keep information flowing, natural communication skills are essential. In the eyes of employees, are you a leader or a defender of their interests? In the eyes of the top management, do you have an independent small group or loyal performer? Do you know the joys and sorrows of employees? Do you know the joys and sorrows of the senior leadership? Can you complete the preceding task? Can you withstand the above pressure? Do you like opening your face to be a Big Brother? Or is it like a brother to an employee? These are all full of contradictions. This article discusses this issue in the following two sections: it is easy to get started and difficult to get down to the next level; is it difficult to get started?
  • Furthermore, there are no rules that are not square. Although we emphasize humanized management, good rules often reduce the cost of communication and promote the efficiency and desire of communication. I believe that everyone has a painful experience of renting a house and configuring a computer. We should guard against the theft of our deposit by agents like anti-thieves, and guard against the distribution of fake parts by accessories providers, in this way, the process of renting and configuring computers is exhausted. Finally, everyone is happy to choose the most famous Real Estate Agency and brand computer, which is known as the transaction cost in economics, that is, the cost of arranging contracts or contracts between parties. There is also a cost for communication. Does your team keep meeting every day and the efficiency is low? Is it because an employee is too busy to attend a meeting? Is every discussion long and exhausted? Is there a lot of repeated discussions? Is it because your employees prefer to make a separate copy and do not want to communicate with others to use others' interfaces? This article will discuss this issue in the following two sections: When "we are a team" becomes a mantra, love and hate is a process.
  • It is worth mentioning that in the management of people's hearts, the management of employees' emotional intelligence is very important. EQ is a lubricant for good team operation and mutual cooperation. Like a machine, if each gear has no teeth, it may be that the team is not qualified. However, if every gear is sharp enough, the machine cannot run smoothly and the wear will be severe. The gear tooth represents the working ability of each employee, and the emotional intelligence refers to the employee's communication ability, conflict resolution ability, and ability to adapt to changes. This is a major weakness of programmers. Salowy believes that emotional intelligence includes five aspects: self-cognition, self-control, self-motivation, cognition of others, and communication with people. In these aspects, programmers have more or less their own problems. This article will discuss this issue in the following two sections: programmer's hero complex; why is injury always me.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.