As social animals, people can get various kinds of pleasure in life and work, but also face different kinds of pain. Programmers also face a lot of setbacks in the workplace: company crises, leadership problems, being ignored, peer poaching, being laid off, etc. Escape often does not solve the problem, the solution is the key.
Writing in the front

No wise man will deny the exercise of pain and sorrow. — Aldous Huxley

A graduate student of mine worked for several years after graduation and went back to Suzhou to start his own business. A few years later, he closed his company. On the night of closing the company, he sat on the balcony and had no sleep. I have never started a business, so I am not very aware of the hardships and difficulties involved. However, I am also the father of my child, the backbone of my family and the child of my parents. I understand that men need to bear family responsibilities and setbacks in the workplace have a great impact on men. I believe that professional frustration is not only a rite of passage for workers and entrepreneurs, but also a rite of passage for everyone. I want to talk about a few types of frustration that I know engineers are prone to encounter. In fact, I think frustration is not just failure, it is also related to bottlenecks. Most of the time, it is not active frustration, but because of the bottleneck, passive feeling of frustration.

The following I list several types of frustration, both active and passive, in fact, today is not just to talk about frustration, but want to share with you about their coping methods for meeting these setbacks. In my opinion, the main reasons for frustration include crisis in the company, inappropriate leadership, being ignored, peer digging, being ignored, subordinate rebellion, dismissal, and self-denial.

The company crisis

If a company encounters a crisis, it will immediately start to take two measures, one is layoffs, the other is business transformation.

The financial crisis of 2008 affected many companies with a major overseas presence, especially outsourcing companies. My friend told me that one year after the outbreak of the crisis, the company was preparing for big layoffs, and people close to the top were also in his mahjong circle. They informed everyone to be prepared early. The situation was very bad, and sure enough, they were persuaded to quit.

For low-tech IT companies that rely heavily on a single source of revenue, the first and possibly only recourse in the event of a crisis is to lay off employees. Depending on the strategy set by shareholders, this could be aimed at older, older employees, rank-and-file employees or senior executives.

The second way, business transformation, may be simple business direction, product transfer, may also involve specific technology direction, of course, it is normal to need both. Transition seems not cuts so directly, but the impact on the employee is not small, after all, everyone is have their own good at skills, interested in business and technical direction, if the business in a wide range of transition, means you need to learn a new skill, and is quick to learn, to fit in or it may be an road: layoffs. For employees with poor learning ability and self-regulation ability, they will be very reluctant to do such a change, and may even have resistance. There are also other situations, such as writing Java, but now the company’s business transformation requires you to program in Python, at this time some engineers will not want to throw away the skills they have accumulated over the years. No matter what the reason, if you don’t follow the strategy specified by management, the end result is resignation.

For this kind of situation, I think now that choose professional, right from the start is best to prepare for the idea of lifelong learning and put it into action, after all, the external environment is changing, technology companies gone up in less than 30 years, hedong hexi, in a few years whether or not follow company transformation, all we need to have strong ability of self learning, Constantly strengthen their comprehensive ability, keep up with the technological changes, for their own transformation in advance.

The leadership atmosphere is incompatible

One of my elders, when young, also had a good time, with the factory director rose all the way to the director of the large state-owned enterprise factory office, the factory director’s cronies, the middle cadres of the factory, the head of each department even take the initiative to greet him, it seems smooth ah. When the old director retired and a new one came in, his days were over. The new factory director how to see him not pleasing to the eye, all kinds of difficulties, he tried for several years, finally chose to give up, take the initiative to ask for unpaid leave.

We do not analyze the root cause of this situation, just assume a situation, you and the leadership of the atmosphere is not the same, different ideas, how to talk, and constantly excluded, what to do at this time? This kind of situation is not uncommon in IT enterprises. Engineers and technical management who had been doing well in the past suddenly said they were going to resign in an email one day. Most of them have stories.

I have a friend who has worked in Ali for several years. He is very skilled, and he was highly valued when he first joined the new company. Later, a leader who does not know technology came to the company. Sure enough, he had a confrontation with his leader, and there was a fierce conflict in the meeting. As a result, he had two bad quarterly reviews. He was very angry and wanted to leave. After all, the technology was still there. After I calmed down, I thought, it’s not worth it to leave this way. After all, this kind of situation may happen in other companies. Why not try to solve it here? Take it as experience, if you have to go no later.

Then he began to try to communicate with the leader, understand leadership of difficulty, and then begin their unique way to dealing with before each technology conference, he privately and led again, points out the existing problems and help the leadership changes, natural everyone up with a problem in the meeting, lead very happy, his days would be great, two people get along like brothers.

When you encounter such problems, it is recommended that you take the initiative to talk to your leaders privately and listen to their comments on you. If it is a technical leader, he or she will probably communicate with you frankly and point out your shortcomings. In fact, most of the time, people are not willing to take the initiative to find their own shortcomings, always tend to psychological hints, think that they have done a good job, others are against them, in fact, it is not necessarily the case, to do things, to learn to reflect.

In fact, the relationship with leaders is the embodiment of the upward management ability of technical personnel. You can do a great job of managing your team and getting projects done, but your career is bound to suffer if you don’t have your boss behind you. It may not seem obvious, but the size of your salary, bonus, options, perks and opportunities is determined either by a series of closed-door management meetings or by your boss himself.

Is not valued

Good plan, why do people ask a lot of questions? Why did the leader give an important project to A? Why can’t I participate in the strategic planning of technology direction and product direction? Why is the manager of this promotion B? And so on, such as these inner questions, are the embodiment of their inner feelings of not being valued.

Everyone wants to be valued and to be evaluated in a positive and positive way. A friend who do the test, received the testing task of distributed system, confidently finished testing scheme, the design of the case, then start test, the test results come out after the leadership also did not say what, get feedback from r&d manager is also quite good, but in the annual appraisal but took a bad review, ask direct leadership, get reply is: “That’s what you measure”, in essence, the leader did not participate in the whole process, since they feel that they did not do well, why not give guidance? Her question is a good one. In some companies, technical management positions have become task assignment roles instead of taking on the role of technical masters. This topic is not discussed here.

The other situation is the one I actually encountered. A technical manager introduced his design plan at a meeting, and the participants put forward a lot of opinions, most of which were to the point, in the hope that his design was more suitable for the actual use of everyone. Finally, he said: “MY design is for my own use, you understand”, and then, silence. After the meeting, I learned that he always thought that he was not appreciated and complained bitterly. He went through several departments but did not change his opinion. Last year, I finally heard that he resigned and blocked all colleagues on wechat.

I think when others ask questions or see others promoted, we should first reflect on ourselves and whether we can do better, rather than just think that we are not important. You do not have to pay attention to others’ opinions on you, or their work status and achievements, but should focus more on their own ability to improve, and strive to do a good job every day. An hour of worry is not as good as an hour of self-improvement.

His colleagues have dug a pit

This kind of situation is more likely to happen in large companies, the relationship between departments is complex, each has its own circle, small calculation, you may pay little attention to, your words and deeds will offend the interests of others, inexplicable ostracism or complaints.

Engineers tend to be more blunt and direct. A friend of mine left a previous company because he said something wrong, but he was joking, not serious. When chatting with the group leader, he casually said, “Then we will do badly next year, and no one will pay attention to us anyway.” In fact, it was just an angry remark. Unfortunately, the group leader directly reported to the leader, and his tragedy came.

Technical people generally hope that the environment is simple, so that they can make efforts to realize their technical dream in a positive environment. After making achievements, they hope to be treated fairly. They think that fairness is the right thing to do, whether it is salary or promotion. In fact, for the technical team, it is really necessary to have such a fair atmosphere, otherwise it is easy to team, technical backbones leave the situation.

As a matter of fact, ordinary staff like us have little influence on the company’s atmosphere, but we can do a good survey before entering the company. Now that the Internet is so developed, we can do some research in advance through various social media to understand the company’s development direction, organizational relations and staff atmosphere. I remember many years ago, I received a business unit of the software company phone, I asked to pay, the answer is very low, I am curious to ask once, the salary is much lower than the market and the other HR’s attitude is not very good: “this is not necessarily, the engineer literally look for them, we have here is such”. So for engineers, or to respect your company to work, we are feelings and dignity.

Have been raised

As long as the manager of the technical team, he must hope that he can implement the design and implementation of the system according to his own ideas, and also hope that the team members are directly under your management and guidance. Will you encounter your leader directly to your subordinates, no longer talk to you? Some of you have seen this before.

The control of the technical team is not only the embodiment of my position, but also the realization of my personal feelings and technical dreams. Most people get very upset when they’re left on the shelf, and no one likes it. In this case, the first suggestion for everyone is to directly communicate with the leader. I think there is nothing wrong with communication. No matter how effective it is, it will make you better understand the current situation, your own shortcomings and future direction. I once met a man who did not know how to communicate at all. He insisted that the leader was targeting him. I asked him if he had communicated with me. I advise technical team managers to stay away from these people.

Sometimes communication does not work, to put it bluntly, people just do not want to see you, at this time if you have strong technical ability, serious work, then you can always find bole in the company, willing to take you away, this situation is better to go, after all, happiness in the work is very important. Even if you can’t find a job within the company, there are opportunities to move to another company if your skills are still there. Don’t let your time be wasted in useless worries and struggles.

Subordinate “rebellion”

Heard of such a thing, a leader himself off work on time every day, ask subordinates to work overtime every day, Saturday, Sunday also want to come over to work overtime, but also for him every day to punch, posing as overtime. More annoyingly, after the project was delayed, the group leader pushed out the two team members and let them bear the punishment. Finally, one day, the two employees couldn’t take it anymore and went to the top leader in a group.

This kind of rebellion is brought on by the technical team manager, and since you are in this position, you should understand that it is your responsibility and what you must do to lead the team forward. There are many skills that a technical team manager needs to possess, and I will list some of them (this article will not go into detail and will not describe more, you can see my series on technical Management). You can only improve your overall ability as much as possible. There is no obvious weakness, and you can go longer on this road than others.

  1. Technical respect: The most important and critical factor in successfully managing programmers is the technical respect of the people you manage. Without technical respect, every concrete idea you have can be stymied either actively or passively. It is for this reason that team managers who have not been programmers at some point in their careers find it extremely difficult to manage programmers effectively.

  2. Team Composition: In the final scene of the movie Charge, the quarterback takes the ball to the opposing field, and a group of teammates block the opposing players. The weak ones fight one-on-one with their bodies, and the strong ones kill one opponent after another until the quarterback crosses the opposing end line. Great programmers need a team of competent programmers who rely on them to do the day-to-day development work and implement the designed systems and products.

  3. Progress management: I have a small whiteboard (not a big one) that I keep in front of me. Every morning, I write down the meetings I need to attend and the things I need to do. In addition, I spend half a day in the morning going over the current progress with the team members of each project (product development, pre-research, research, etc.).

  4. Guiding: An important part of a team manager’s job is guiding things in the right direction and ensuring that team members communicate correctly with each other and between teams. Note that the ultimate goal of guidance is to get things done, not to focus on how to get things done.

  5. Protect team members: Learn to protect team members from the myriad problems, controversies, and “opportunities” that flood the organization every day. In larger companies, bureaucratic politics can be used to ignore or buffer daily requests and questions with paperwork.

Team managers to learn and master the skill a lot, need through the efficient use of time, you also need long time to really improve, it’s not just the pure technical ability, is a comprehensive ability demanding job, met with setbacks, will review well, a lot of ways to improve, not to blame the subordinate, the wrong people tend to be yourself.

Laid off (dismiss)

Remember to see Pan Hong starred in a TV play, describing a group of cotton factory women, in the factory seriously work for more than ten or twenty years, suddenly one night to be laid off, the last dinner scene, the kind of confused, the kind of sadness, the kind of reluctant. My parents have been laid off when I read junior high school, life is not easy, thank life did not give up me. Therefore, I can feel the reality that the TV series wants to present.

Now at the end of a lot of IT companies have eliminated management approach, given that someone will be eliminated naturally (fire), if appear this kind of situation, first of all to think about myself, why to be eliminated the person is you, not someone else, whether their serious weaknesses in the ability to work, whether they are doing things the irresponsible behavior responsibility aspect, Whether they have a serious flaw in their personal skills (emotional intelligence), etc., may influence the decision. Reviewing yourself is not necessarily your own responsibility, but it is the only way to respect yourself that can solve the problem and avoid such a tragedy in your career.

If this happens, I also suggest you first think about whether this industry is right for you, if you like it, then stick to it, constantly make up for your weaknesses, to prepare for the next job, there are always opportunities, it’s up to you.

Self bottleneck

A few days ago, a reader left a message to me, “Since this year, I have been in a very irritable state. I have been studying hard every day, but I find that I cannot finish my study. I feel that MY progress is too slow. He must have entered the self-bottleneck stage. You may be fine in every aspect from the outside world, but you think you have lost your way and don’t know where to go next or how to go next.

There are two main types of self-bottleneck:

The first is that you really hit a bottleneck. The same work has been repeated for more than ten years. I believe that most people are not able to stand such repetitive work and will feel that every day is boring. In this case, I suggest you try to think about what else you can do besides this job. If there are many answers, of course you can try to choose, if there are almost no options, then you have to strengthen your own learning, for the future breakthrough, transformation to accumulate strength.

The other is due to the psychological suggestion of the self. I don’t think psychological cues are just short term or low frequency, they should be a long term, high frequency event. Have you been saying to yourself: “You are strong, what position do you want to achieve, how much do you want to make a year, why does he earn more than me…” These are essentially psychological cues. This kind of persistent psychological cues may be positive when you face a major challenge in your study or job, but for an engineer who has been working for many years, they can seriously affect your mood.

This strong psychological hint, combined with the actual situation caused by the gap, it will make you feel very frustrated, vulnerable people for psychology, may further result in depression, the whole people is in a state of sullen or grumpy, severe schizophrenia may occur, let oneself live in the world of another self hypnosis. In this case, I suggest that you have a correct view of your own ability, self-encouragement also needs to be limited, life is not just for making money and promotion, your family also needs your care, put down the unlimited requirements for yourself, live one day at a time, every day to make progress is really progress.

Write in the last

The career is long, each person is different in length, generally speaking, as long as decades, no one can guarantee that the current smooth sailing is the way of development in the future, may not be good when to give you a blow. In the face of blows, we can only constantly reflect on ourselves, find our weaknesses, and actively improve our professional and comprehensive ability to defeat setbacks. Frustration can not hide, only accept, improve, defeat, of course, if you work for decades did not appear the setbacks mentioned in this article, prove that you have been constantly self-learning, adjustment, I want to put up a thumb, severe, should learn from you.

Most of us are ordinary people trying to make our lives better, in many ways, and I believe that as long as there is hope in life, we should seize it and share it with you.

The authors introduce

Mingyao Zhou graduated from Zhejiang University with a master’s degree in engineering in 2004. 13 years of software development experience, nearly 10 years of technical team management experience, 4 years of distributed computing, big data technology experience. He is the author of Big Talk Java Performance Optimization, Deep Understanding of JVM&G1 GC, and Technical Leadership: How Code Developers Can Lead Teams. My personal wechat account michael_tec, my personal public account “Uncle Mike says every night at 10 o ‘clock”.

Today’s recommendation,

Click on the image below to read it

PhxQueue: a distributed queue with high availability, reliability and performance