Sorry, the question may be difficult to understand. But don't worry, the content will be easier. Since everyone likes to tell stories and listen to stories, let me also compile a story.
It was said that a long time ago, when mathematics was not invented, God handed over the difficult problem of mathematics invention to a brother. The two brothers worked together to finally invent numbers 0, 1 to 9, but fought for who is bigger than who is. The younger brother insisted that 2 is bigger than 1, and the younger brother insisted that 1 is bigger than 2. The two finally went to God to make a conclusion.
God wants to say: Well, 1 can be bigger than 2. My brother was very happy, but God said: however, 2 can be bigger than 1.
Both of them were very unhappy. They said, "You are a God. Why have you not heard of yourself? The views of the two of us are totally different. If my views are correct, his views are the opposite. Of course, they are wrong. How can they both be like this!
God smiled and said, in fact, your views can coexist! When 1 and 2 are treated as the base, 2 is bigger than 1. When 1 and 2 are treated as the ordinal number, 1 is bigger than 2.
This story illustrates a problem: many seemingly totally opposite questions may actually be true of all kinds of opinions.
Back to the topic, the experts in the garden have discussed the importance of technology over the past few days, including the importance of the entrepreneurial team, the importance of user needs, and many other issues. If you want me to answer the question, I will say:
Technology is very important!
User needs are very important!
Anything other than technology in a startup team is very important!
It seems that everything is very important. Isn't it important?
I want to change my mind. If I tell you that my height is 1 meter 80, could you tell me that my height is not high?
That's right. I'm higher than 1 m 75, shorter than 1 m 85. The conclusion that it is important to compare it with other reference objects. Therefore, we cannot simply say that technology is important and technology is not.
Take a start-up team for example. If the team does not pay much attention to technology and technical flaws, it may be a piece of paper when it explores the market and develops business and thinks about the profit model, for such a team, technology is very important, and it cannot bring about a short barrel effect.
However, if the team is built by a group of technical elites, the original intention of the team may be to see a bright future and a bright future, on the contrary, they have not considered the market adaptability, people's ability to accept, and whether they can make profits to ensure the operation of enterprises, it may be better to consider the reality.
OK. Now we have solved the question of "whether". The next question is, What should we pursue in software development?
First, from a personal perspective, let's assume that we develop a software by ourselves, and that we don't have to worry about it, and we don't need it to make money. You just need to develop it by interest-in this case, what kind of software do you want to develop? I think mostProgramMembers may think about developing this program to perfection: Powerful and complete functions; clear and bright architecture; exquisite and meticulous technology; elegant interface ;...... You have noticed that you have not considered many things: cost, duration, and customer requirements.
Because you are a person, you are doing free development. But what if you are an enterprise?
You must consider the cost-in the current information society, it is not uncommon to lose tens of millions if a software is not ready. Second, you need to consider the balance between the construction period and the product quality-we understand that you are in a good mood for this software, but within two months as requested by the customer, you can do the functions required by the customer well. Where can you give it time to add some fancy functions such as skin replacement and Windows themes? In addition, in many cases, you may have different opinions from customers-you think a radiobutton should be used here, but customers insist on a dropdownlist-yes, you bet on your computer experience when you were wearing a pair of slack pants. The customer representative is definitely a pig who doesn't know the computer-but even if he is really a pig, this software is not for your use, but for the use of this pig, so there is no way, you must meet the needs of a pig, because you do not meet him, he will find another company-the competition in the world is fierce, man. So I firmly believe that,A software company that can meet the needs of a pig is a company that can satisfy customers..
So is there another conflict? A program development enterprise is composed of programmers, and the pursuit of the enterprise and the programmer is different --
Yes, companies and employees have different goals, not only in the software industry, but also in all industries. However, why don't we pursue an exception? For example, you are thinking about what you just wroteCodeCan I change the pattern? For example, visitor pattern.※See the following for details, as it seems that it will be easier to expand in the future. At this time, your head may come and pat you on the shoulder, hi, Jerry, this piece of code is already very good! Hurry up and write the next module!
At this time, you may complain-this piece of code is just usable! I also want to keep it organized to make its structure clearer. In the future, it will become easier for both secondary development and plug-ins! However, you have to consider it for your boss-his boss may have just said to him: Hey, Tom, the customer will come to accept it next Friday, but your team's progress will only be 40%!
What should we do? We are not immersed in the thinking of our artists. We must realize that we are not playing. We are doing a practical job in an enterprise. We do need to complete our work more beautifully, but within a limited time! Is there a bug in the program? Not perfect? That's right! There is no perfect thing in the world, and so is the program! Programs without the same functionality are just as immortal as Venus with a broken arm!
If you learn how to think this way, you can go further. Don't wait until your boss shoots you on the shoulder to realize this, but at the very beginning of the project, you can stand at the same level as a project manager-or even think about problems above his height; when designing a software system, you are highly aware of the schedule, the user's environment, requirements, and conditions. In this way, you will find that you are not only familiar with writing programs.
Note: As everyone is eager to win, this article is a special joke. If you have different opinions, do not go into details. Do not be surprised :)