Talent pass
People are undoubtedly an important factor in software development, but there are few domestic Linux developers, especially those who really participate in open source projects. According to the interview experience in recent years, many awesome people claim on their resumes that they have n years of work experience and are proficient in n technologies, which makes me nervous before the interview, only to find that their level is really hard to compliment after the interview. Later, I said that experts would not come out to look for jobs (all job opportunities are for you), so I gave up and settled down to do talent training and team advice. Even if there is an opportunity to gather some experts together, as far as the characteristics of domestic enterprise documents and experts are concerned; It is not impossible for them to integrate into a team, at least it will take quite some time. On the other hand, the stability of team members. Linux mobile phone research and development has a relatively high threshold and high replacement cost. If the team is not cohesive, it will not succeed. In the previous company, I saw a curriculum module modified by four people, and the code was in a mess, extending to more than 3W lines. After two years of maintenance, hundreds of bugs have been reached, and no one dares to touch the whole module.
As time goes by
In software engineering, the metaphor of time is much more used than when a woman is pregnant. Women can have children when they are pregnant in October, but it is impossible for ten women to have children in one month. Like software projects, time is an essential factor, and a large population can only shorten the time within a certain range. In China, both individuals and companies are impetuous, and the research and development time of more than half a year is unacceptable. The normal project cycle of many parallel mobile phones is 45 days, which takes 3 to 5 years. I'm afraid no boss is willing to invest. As a result, everyone made the plan quite short. I have seen some funny plans, and I secretly >; For example, if they are good enough to finish in such a short time, I may have to change careers. The planning time was short, and the boss agreed to set up the project. Then take the progress as the goal, try to catch up with the work and put off the plan again and again. The pressure from the boss is increasing, and the so-called haste makes waste. The result can be imagined. I have seen a business card module, which took only two weeks from design to test submission. Results After debugging for more than two years, more than 600 bugs were found.
stability
A master once said that it is relatively easy to estimate how long it will take to add a new feature, but it is difficult to estimate how long it will take to modify the bug-filled code into the final product. In fact, almost all Linux mobile phones have done their functions, mostly at the expense of quality, and everything has come out. But no one can estimate the time to produce this product. I heard that several companies have made Linux mobile phones. After small batch production, we dare not produce again because the stability is too poor. It can be said that the cost of stabilizing such a large project through debugging and testing is higher than that of reinventing it. I once chatted with the sales director of a chip manufacturer. He was well informed and asked us about the stability of the project. He said that the big problem we are facing now is stability, especially Linux smartphones. If we can't solve this problem, everything will be in vain. We put a lot of energy into design and coding in the early stage. After two weeks of stress testing and modifying some bugs, the stability has reached a good level.
expansibility
My boss Lao Wei has a mantra that it is not easy to make a product, but you can do it with your eyes closed. It is a challenge to build a platform and build a product line on the platform. This statement also comes from a previous project of the company. Lao Wei is the actual person in charge of the project. It took more than two years to complete the project. When it comes to productization, it is actually very difficult to adjust several basic technologies such as screen size, horizontal screen and internationalization, because the design did not consider productization at all. Later, I wrote a new blog, which didn't cause any response, not even a comment. But what makes me very happy is that I received a letter from Mr. Huang Jingqun, a famous open source software master in Taiwan Province Province, saying that he wanted to quote that blog in his report. IT training found that there is really little consideration about this aspect in China. Part of the reason may be that many developers of Linux mobile phones are transferred from traditional embedded development (moving around is just the assembly of several W lines) and have not realized the difference between Linux smart phones and traditional embedded development.