The project difficult, programmers harder and harder, 9 major problems in software development

What made the project worse? When do we start home from work and start thinking, “heck, I have to leave”? Here are a list of questions we programmers have to face from time to time. These questions are exhausting. Usually we can’t avoid it and have to manage to cope with it.

01 wrong team

If you are unfortunate in a wrong team, the problem is unavoidable. Everyone may be good, but when someone is unhappy with money or bored with trivial tasks, he may break the atmosphere of the team. Others may be preoccupied with their careers, which makes them a bad team mate. Someone will think they are helping these people achieve their own career goals. If a team member has too little knowledge, there may be unfriendly situations. You may get into trouble if your job doesn’t match your skills, or no one can take your first steps.

The team needs harmony. It’s wonderful if you’re lucky enough to be in a team that shares the same dream. If you are part of a team of bored or conceited people, you may experience a very difficult time.

02 absurd demands

Some project requirements are simply science fiction, abstract, and not realistic at all. It’s good to be imaginative, but imagination must fit into a team. If there are many graduating students on the project team, you are unlikely to create a cloud based best spreadsheet in the first edition.

Some customers tend to think that software requirements make it clear in one sentence: “this product must be like social networking site X, just a little different.”.” “It won’t be too difficult. A company has a free edition.” “This is just a message board.”.” These demands ultimately lead to great dissatisfaction. Never get their customers satisfied with the products, developers can’t meet the needs of customers, and feel it is difficult to work.

03 layman expectations

Not clear demand leads to unprofessional expectations, not only that sometimes people seem to regard programmers as superman.

When you first took over a project, it was impossible to successfully debug a program with 100000 lines of code. Whether it’s a product problem or not, programmers need time to read the code before it can be fixed.

Like “it’s just a button,” or “veteran programmers do it in five minutes”, that doesn’t help. In addition, the “five minute repair” may be the root cause of the need for repair.

04 coffee machines next night

Sometimes it’s necessary to go beyond the physical limit and try to finish the job. If there is a fundamental software failure in the product, we should do our best to rescue it. This often involves extra overtime and work late into the night or even later.

The problem of software is so critical that programmers are often expected to stay up all night until the problem is resolved. We are the best programmers have been found in the coffee machine under the fallen asleep, although he wanted to stay awake regardless of personal danger, but failed. In some people’s minds, sleeping under a coffee machine shows the programmer’s seriousness about the project.

Although this kind of life can be interesting sometimes, it can cause serious problems in the long run. If your behavior is “repaired”, it’s actually a matter of mismanagement, and that’s even worse. When demand changes, or because corporate politics causes project managers to commit a deadline, you experience a very frustrating experience: a home that cannot be returned, a bed that cannot sleep.

05 neglected non work life

There are software defects in the program, which is normal and can not be completely avoided. Psychologists have found that people can think three things very easily at the same time. But if the number is more than three, most people’s thinking is going to go wrong. However, as a programmer, we must remember more things at the same time.

Usually there is a lot of interference around the programmer, for example:

Roaring project managers; endless calls and meetings; work under high pressure; or family, health, or financial problems. The more interference a programmer has, the more likely it is to write a bug code. Keep distractions to a minimum so that no one else will be affected. Family life, for example, is an important aspect of our lives, though it can be quite cruel at times.

No matter who is evaluating the project’s budget, some extra time is needed to consider the programmer’s non work life. You can’t calculate the budget limits only based on the work experience of the project members, and you need to consider their status. In order to correctly estimate, you need to know whether there is a pregnant wife in the family, whether everyone is healthy, or whether or not you have recovered from the previously exhausted items.

To ignore life means to ignore the risk or opportunity.

Giving an energetic person a lot of boring tasks means you have missed an opportunity. A highly complicated task for a person who has a family misfortune adds to the risk.

If a programmer realizes that his life has been neglected for a long time, it can make him feel depressed and tired.

06 the power of threats

Threats are certainly not a good motivational strategy, but they are still widely used. “If you can’t stay up late to work, you don’t deserve to be a programmer, but you should be a gardener.” One of my colleagues once said so.

Threats can cause fear. In addition to the darkness, the fear of losing the foundation of survival is one of the strongest human fears.

If someone has to work in fear after a threat, he’s definitely the best candidate for burnout.

07 demand for no change

The project manager walks into the room, drops new requirements, and then leaves: This is the common scene of helicopter management. Like a helicopter landing, dusting and taking off again. Some people are good at this. Most of their needs were not carefully thought out and were changed without warning in the implementation of the project.

When the demand is not clear, the target will be lost and the task will never be over. Every meeting seemed absurd, and all the discussion was rubbish. Finally, the whole project is being questioned and the significance of what they do every day will be questioned.

08 greed

In modern society, if you can’t decide to live like a monk, you need money to survive.

In some cases, the company – well, we still say the management of the company – they try to extract every penny from the project and not look at the employees.

In 2012, a series of protest movements took place at the Foxconn China Corporation, which is a partner in the Apple Corp. The workers demand better working conditions.

In western countries, you may be forced to stay the most cheap hotel, take the cheap transport, and use the most cheap office equipment, even if you are responsible for the project was very successful and lucrative for the company.

It would probably be the worst mistake management has ever made to save the money that should have been spent on employees and prove how profitable the company is. I’ve seen so many people leaving the company.

09 other prejudices

I can write a whole book about the frustrating things for programmers, and we’ve already seen some of them in this chapter.

Here are a few more stereotypes you might have heard of.

Great programmers, for example

If you can write code in Y language, you can write code in X language. Problems can be solved quickly, most of which can be done in a minute. Unable to write defective code. There is no need to write test code. Like late at night, still writing code for clients. You can also debug code without a computer or in an office. Know everything about hardware, the latest IT trends, frameworks, and everything. Understand the customer’s meaning without communicating with the customer. Familiar with various operating systems, from bottom to top, including systems on each mobile device. You can write code that runs on each device and does not need to be recompiled, without device conversion, without additional effort. This list of prejudices can be said to be endless. We can’t educate people to stop believing such stories. Even an expert can not do it. Instead, we need to protect ourselves against prejudice based on our everyday norms.

1, with 1-5 working experience, the face of the current popular technology, I do not know where to start, need to break through the technical bottleneck can add groups.

2, stay in the company for a long time, easy to live, but job interview rebuffed. Need to study in a short time, job hopping, high wages can add groups.

3, if there is no work experience, but the foundation is very solid, the Java working mechanism, commonly used design ideas, commonly used java development framework master skilled, you can add groups.

4, I feel very cattle B, general demand can be done. But the knowledge is not systematic, it is difficult to continue to break through in the technical field, you can add groups.

Group 5., 537122286java, advanced development,

6. senior Ali Java Daniel live to explain the point of knowledge, share knowledge, above five topics are summarized and years of work experience of teachers combing with everyone comprehensively and scientifically establish the system and technology of their own cognitive!