The Programmer's series: the things that make the programmer's egg ache

Source: Internet
Author: User

Go from program Horizon

I heard that married to marry programmers, money more words less die early. This is mostly the programmer's own black. Programmers have a very special sense of humor a group, good at self-deprecating, the courage to black, strong tolerance, a lot of things Wucken, not to be able not to endure the crown an anger. However, it is such a nice person, there are some things that can not stand.

Changes in demand


Why is the "demand change" ranked first?

Because someone said: Kill a programmer does not need to use a gun, three times to change the demand.

This shows that the change in demand for the lethality of how strong.

I have seen a lot of programmers, and product managers (demand personnel) relationship tension, nothing, or chinchón than blush. In the programmer's opinion, often demand a sentence, the programmer's work for a few days is wasted. Programmers are the most cherish their work, the heart can not Wohuo. You said earlier, there are changes you said earlier, why not wait for me to do a similar to say, you told me I can not let you change it ...

Work overtime

Overtime, in the programmer's Dictionary, is a hot word. A word of utter heat.

Many programmers have a "fixed program" of life--work, overtime, go home to the Midnight Oil and then get up to work again and again.

Because we all know that there is overtime such a thing exists, in fact, the first leadership to ask for overtime, although I do not want to work overtime, but also from the. Catch the progress, together, the market time is fixed, all extenuating.

However, I really do not want to work overtime, for the ruthless can be the original overtime, I am disgusted ah.

For example, clearly a project needs 20 people months, the boss a word, four people do two months to Zhou, the project manager also incredibly agreed, this is obviously the beginning of the overtime calculation, let high IQ programmer love can be.

For example, obviously is Zhang San work out of the progress of the process did not control, but I Li Shila come over to work overtime, my day of due diligence is to be completed on time, not overtime, Zhang San daytime to watch the news play games chatting QQ but let me to clean up this mess, I can balance it.

For example, the need to discuss a few times, are sure that programmers are working day and night to send a version of two months, the leadership of a sentence, say which is not appropriate, product manager a word, say which does not conform to user habits, demand a word, say which is to change a bit ... You're not a very good word. You also said "This should be very simple", you do not know the matter more, our program is like Cobweb, entangled with each other, the relationship that is cut constantly and disorderly, lead a whole body, you this change, said simple, realize may be from the Web page has been changed to data and mobile phone client, that is the entire collapse Ah, The result, do not work overtime can you, I can add happy?

For example, the boss said, our products do not good, is because the development of old do not work overtime, time investment is not enough, so, we have to overtime ...

For example, online system Saturday a BUG, find Zhang Sanzhang not, on La Lishilai overtime, now lying code now looking for problems ...

Very simple

The most afraid of layman leadership professionals. Because they do not understand the technical details, always from the outside to see the program and software, often to the programmer said, "This should be very simple".

You know, "It's easy," and it's so annoying. For example, you let Zhang three realize a login function, you think is to put two input boxes on the interface, a user name, a password, plus a OK button, how complex. In fact, what you see is just the tip of the iceberg. From the programmer's point of view, whether the user name is legitimate, the password is reasonable, whether the need for encryption, whether to prevent SQL injection, and the background through what protocol interaction, the background how to save this information, do not support multi-point login, whether many user rights are assigned according to user role, support does not support retrieve password, Log in the process of network anomalies how to do, to the phone and how to deal with ... You see, the programmer to do the work, is not more than you think, is not a bunch of details to consider, this can be said, can not say, there is a big wave of login-related bugs are coming ...

So, "very simple" such words, should not from the needs, project managers, bosses and so on the mouth, you are not programmers, do not understand the pain of the programmer how deep. Even if you have been a programmer, but you do not write programs for many years, early can not reproduce the original sound.

As a programmer, I particularly hate "This is very simple" this kind of words, but often encountered, and even I sometimes say, but this really makes a person very egg pain, in addition to show the speaker's ignorance, self-righteous, show off, there is no other good connotation.

Role dislocation

The project manager does the work of the programmer, the boss does the project manager's job, the programmer worries about the boss's work ...

Part of a small company, the role is so messy.

This behavior occurs, and the general process is this:

The project manager is a programmer (code and excellent), the technology is very good x, although the project manager, but not from the "I can do everything" in the masturbation arrogant jump out, once the project progress is not expected or a programmer's progress problems, the project manager will be the other people on the back of the monkeys rob come over, Sinking into the details of writing code or solving problems, once the project manager has done so, the worse things happen again and again. Because the project manager is tied to specific issues, no time to take into account team management and project management, the implementation of the project will be more and more outrageous, the progress is worrying, the project manager may still have a fantasy, I think until I fix these problems and then back to clean up the situation is too late. It's a fairy tale.

The boss is not a fairy tale, he will see the project manager's problem, the heart is also Huoshaohuoliao, so stretched out his hand to help the Project manager project, you are idle, you that person is nothing to do, you should do this function, you do not have a meeting how to understand the team situation, a variety of worries and actual problems seen, Will mess up the boss's heart, let him involuntarily meddle in the project implementation level. OK, now the boss is in the water.

Programmers are sober, or self-conscious, they can see the boss's leapfrog management, intuitively think this is not the boss should worry about things, they will feel that the boss should let go, should consider the higher level of the matter, you reach out to control the project this is what kind of reason, you want the project manager to do. What the boss should do, this problem will grab a part of the programmer's heart ... Some programmers resent the practice of the project manager, that the project manager does not trust himself, but also that the project manager in the heart despise himself to meddle in their own code, the project manager what you do, why do you go ah, why, what you do, well, these programmers worry about the project manager's duties ...

You see, it's just so misplaced.

Once the dislocation situation is formed, it is necessary to reverse the Dickens.

The first thing to change is the technical background of the project manager, he thought the technology is the body of this, reluctant to discard, worried that they did not have the technology after the bad development, he 1:30 will not see the project management can produce the effect, this need someone told him, help him, accompany him through this period of paradoxical years. In addition, the boss also need to tie their hands, give team time, let the team to solve the problem, if you think the project manager has not qualified, then you can give him a coach, but do not own next game.

Kiss, can you stop interrupting me?

When the programmer sank deep into the pond depth of thinking, a telephone, a question, a "How is progress", even a "eat to go", will be like a big trick to the programmer's rich inner world to smash. I believe that we have experienced their own sleep is fragrant people shout or wake up the anger, yes, that is, high-speed driving on the way to fear these conditions, even if it is a bird against your window glass crashed, may also lead to traffic accidents.

Change someone else's bug

When my daughter was a little girl, I would wipe her butt after Baba, and I didn't feel bad about it. But if I wait for a big man, and wait for him to wipe his butt, I can't accept it anyway!

Your code is your child, whether he is ugly or beautiful, encounter problems, you will not pursue the pomegranate tree on why the cherry, you are obligated to Debug it, and because it is your own, you generally do not abandon.

Other people's code, other people's Bug, that is another thing, with what I want to wipe your butt ah, hear "you help Zhang three change a Bug" this kind of words are likely to have a physiological response, really no way, the leadership exerted pressure, short skirt small dress up the sleeves, not reluctant to enter the Zhang San of the Territory, will probably not get good results. Originally, there is only one path to the spider's Nest, Zhang San has forgotten, John Doe seek to find, the results mistakenly into the code depths, vomiting, vomiting, brought out numerous bugs.

Maintain old code

Old code AH old code, may have been maintained by the N-wave people, there may be "take a hammer to see what are nails" programmer to this tour, there may be love paste plaster programmer to this tour, there may be a stool and urine programmer to this tour, there may be a waterfall programmer to this tour ...

In the old code, you may see a lot of hard-stuffed, abrupt, blunt, Luo code, the masterpiece of a programmer who is a nail in the eye: no matter if a function is placed in a class, a module is appropriate, a hard nail in the end of the thing.

You may also see the code is full of plaster, such as calling a function may overflow, love plaster buddy in the place of the call to add a variety of corrective and preventive measures, whether it is not appropriate, right now is OK.

You may also see some code to fix a bug, with a temporary solution, and these temporary code, actually hide a lot of bugs.

You may also see someone left behind the Super waterfall, a function of more than 2000 lines, the FEI Liu straight down 3,000 feet, 10 times the page can not see the end ...

The boss always thinks your system is like this:


It looks robust, well-structured, compact, and easy to scale, so the boss feels it's easy to add a feature to meet a customer's small needs.

The boss doesn't know, the situation you're facing is this:


So, you can only do this:


Or, this:

The Programmer's series: the things that make the programmer's egg ache

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.