Working with arrogant programmers will only make us more humble.

Source: Internet
Author: User

When I joined the team more than a year ago, the company is a highly successful industry software and solutions provider with more than 25 years in Germany. Industry software itself is a windows and OSX-based client platform solution and server interface, due to the rise of HTML5, the company decided to gradually transfer the functionality of the industry software to the web, even mobile phones, tablets and other smart devices.

The background of this industry software development determines the team's software engineers, is a good desktop software development programmer, they can skillfully control the development of such industry software, and in their own field of work has a wealth of experience and excellent work. These are the places I did not envision when I started to develop with them, usually, I developed a learning habit, that is never to arbitrarily find a programmer's skills and abilities, whether it is a very good programmer, or just beginning to learn, I think it is unfair for anyone to make an award, Because whether it is good or just beginning to learn, are also going through a learning process, and we can not therefore deny the importance of the process, just look at the results, so-called everything is possible, anyone may one day to achieve professional, and at the same time, I will not learn from anyone, because I always think that technology has its professional standards, So as long as focus on how to achieve professional, and everyone has their own way of understanding, we are unique to the world itself, so that if it is to learn from a person, this is actually a misunderstanding of learning.

One of the advantages of such a habit is that it does not always care about who's technology, which affects his work, but it also creates a kind of "arrogance" that I do not realize that I am not aware of, and when the conflict arises, it is possible to realize what the so-called "arrogant" attitude is.

Working with the team's engineers is not a smooth process from the start, and when you try to understand what you need to do, you see a todo list, some simple project goals to write down, and so on. Accustomed to the way in which a project was developed in advance, it was a difficult and necessary change from the start, a change that was fast in behavior, but not psychologically, and deposited in the heart until one day, in the form of ideas that did not have a perfect plan.

As development continues, the Todo list becomes richer, and the project becomes more and more complex, and for some members of the project, because they are unfamiliar with the technology of the work I do, they ask me questions, and when they ask these questions, I make a serious mistake at first. Because I never imagined their technical background or intended to understand something, so when they asked me something, I thought the answer was obvious, I started to wonder if they were joking with me, and when I went to answer their questions, I always assumed that they had some premises and some understanding of them. So using a simple quick answer to end the conversation, the answer must not be understood, so the result is a lot worse than I thought, and when I get to a number of fast "what" questions, I still don't realize it, and then there are a number of "why" And rude attitude appeared, I felt their anger, but at that time, I was confused, feeling impatient, and began to ask them.

It is conceivable that the outcome of the matter, fortunately, the team's manager is a person who can try to understand others, after several times of friction, he found my problem, and as far as possible to remind me, and tell me, I should pay attention to the place, as I mentioned earlier, any change of things, It's easy for me to behave, but psychologically difficult, especially when I'm not aware of my problems, when he tells me that I'm a smart, talented, agile programmer, I'm wrong when it's my merit, though I don't actually think so, and then he tells me that I need to slow down , after listening to other people's commentary, and then began to reply, I right when it is because they do not know, in fact, I heard half of them know that they have to explain the problem, so want to save time, quickly explain to them, and regard this as their misunderstanding.

While this has lasted for some time, it seems that everything is fine, and things are not as intense as they have been, but that does not mean that it is over, but worse.

After an unpleasant argument, the team manager told me to let us apologize to each other, and I began to think about where the problem was.

It was ridiculous, when the rest of the team started to learn and use the new technology, I found that their code was too far from the best practice of the technology, I tried to limit my scope of work and put my code and their isolation in order to ensure that they could write their own code, Not affect my design, but when they submit their code to the work I am responsible for, I usually refuse to use their code, which leads to their direct questioning, why not adopt their code, is not good enough, although I have some explanation, but the problem still intensified to, They began to compare the efficiency of the Code I wrote and the code they wrote, which was the beginning of the argument, and I knew that the programmer was usually arrogant, but when it came to the point where it was better to compare who wrote the code, I thought it was an insult, so tell him that if he's not satisfied, he can divide the project into two parts, We work in one part, and it's true, the code of the project is divided into two parts, and we each start working on our own code, and so the team manager understands and participates, telling us that we need to apologize to each other.

That's when I stop and think about the whole thing, and think about my problems, and when a project starts, the manager gives me a lot of trust, and this trust creates a misunderstanding that I think I'm in charge of the project, so I start to plan every part, pick the right technology, And be familiar with possible implementations. There is nothing wrong with this attitude towards responsibility, and the problem is that I cling to my plan, a persistent attitude that confuses the roles of individuals with the roles that individuals in the project should have, and defines a role in the absence of a clear definition of the role a person should have in a project, and has always been a false obsession.

In the debate with other members of the project, I also began to think about their technical backgrounds, habits and attitudes, in fact, they knew little about the new technology, and there was no overall plan, not even the possibility of every realization, and most importantly, they were very conceited programmers, so if you told them that You are not professional, perhaps to them, at work, the biggest insult, even if they do not use their code, for them is very difficult to understand, and when they began to learn while writing code, and see their code work, they feel that there is enough ability to complete the project, this time, If I were to respond positively to them, our dialogue must have been unpleasant, and no matter how polite I was, things would always go in an unreasonable direction because I held a negative view of their project and always insisted and didn't give up. And for me, the choice is just to give up, the problem is sometimes difficult to understand, why do we need to abandon a better plan and adopt a good enough? The essence of the matter is that the existence of the project itself, not in a personal way, and we do not know each other, there is no personal resentment, even if the acquaintance, but also is polite to talk, all contradictions caused by the existence of the project, and from the perspective of their own view, are because of their own insistence on those ideas, as I think, In fact, everything has its way of existence, the team so, the company, the project is so, not a good plan is the best way to solve, with its natural, put down the hearts of the perseverance can resolve the contradiction itself.

When it comes back to the things that I find in this conflict, the best way is to really change themselves, not from behavior, but from the heart, to all their opinions, opinions, the maintenance of their own actions, and all kinds of things buried in the heart to see again, It is not to measure and contrast to determine how good your ideas are, so you have all the right reasons, but to completely throw away all these stereotypes and confront the problems directly.

I found that I am clinging to these are actually can give up, I can give up a better plan, can give up my opinion, can give up my attitude, can give up my role in the definition (of course, this position is wrong), and then try to give yourself a new positioning, in the end I should play a role in the project, And tell your team's managers about the detailed solutions to their thinking.

Fortunately, the management of the team saw my letter, adopted a good strategy to solve the problem, I know that I still have a lot of ideas that can not be left aside, has not been found, and these ideas for the individual, this is not wrong, but for a team, a member not in that role, It may be a big mistake, I try to change, not only in the behavioral, but first of all conceptual, as I feel, and arrogant programmers working together is not a bad thing, but is a good thing, because they exist, let me see their "arrogant" side, and thus become more modest, understanding and learning to better communication way.

(English is added later, it is purely for personal hobbies to write the English part, do not be offended)

Working with arrogant programmers will only make us more humble.

Related Article

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.