A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
There have been such things around my friends around me:
Story 1:A June in Beijing engaged in Java development for many years, germination of the idea of entrepreneurship, want to form a development team want to do a good job. But slowly, it's not easy to build a team with a fighting force. The technical team was later set up initially, but the technical lines were very difficult to agree on. Toss to toss to go, put a bit on the road of technical personnel are tossing a job. It costs a huge amount of money to make an architect, is to use the SSH framework to build a development environment, data volume is small, the business is still good, but when the rapid growth of the business, the speed can not meet the need. is to re-come or on the basis of SSH continue to toss, very difficult to choose!
Story 2:Jenny from England back to Qingdao for half a year, very much like Qingdao this seaside city, the air is very good, the surrounding plants is also very cordial, this is why the back of one of the reasons. However,Jenny has been struggling with the product management thing. In addition to the high cost of development, software level has been relatively low. Product team management, but also to consider skill level, division of labor, role positions, pay, personality characteristics, and so on, all the time spent a lot. Due to the lack of large-scale stress testing, a lot of time to make products, but can not adapt to the massive data of large concurrent access. Want to find some master, in the software industry is not developed in the second-tier cities are not too realistic; leave the two-tier city to a level of urban development, and can not afford high operating costs and human resources costs, where the road is really a problem!
Story 3: After six months of preparation, Chan's technical team was finally set up. However, the flow of people is always a lingering topic. Change people, technical solutions will change, with the maintenance of the problem is also let people burn! Chan frustrated, how can he not understand why the new people do not want to continue in the old people left the system for maintenance and redevelopment? What if we can build up a big, iron-plate camp?
Similar stories abound. Summarize the problem in the following areas:
1. the pace of personnel training is slow. from the Human resources team's point of view, more consideration of people's professional ethics is consistent with corporate culture and values. Software development project managers are more concerned with the ability of new members to contribute to software development projects and to meet the project culture and values. If your software development team is not built by yourself, how can you ensure that the Software development team works the way you want it to? Candidates through a variety of certification, only representatives have a basic knowledge system and theoretical basis. But no certification can really reflect the ability of everyone to learn and apply knowledge, and these two points are the most concerned about the software development project skills. In particular, to become a good software architect, often need to have more than ten years of software development experience, the threshold for entry is very high, especially when the Internet is becoming more important, a software architect often need to master a number of skills, he needs a wide range of knowledge, Need to process more time to learn and hone.
2. inefficient development of personnel. a product often requires the cooperation of multiple departments, the effectiveness of communication between departments directly affect the quality of products and product progress. If the technology developers do not have good communication skills, it can seriously hinder the promotion of the project. In particular, small team development, lack of communication often leads to the members of the task content, requirements and responsibilities of the wrong understanding, resulting in inefficient development, and even caused contradictions among members. If a developer fails to articulate the work plan, the difficulties encountered, and the support it needs, the project leader will not be able to keep track of the progress of the project and allocate resources appropriately. At work, people often do not know how to express their opinions when they are consulted, but they feel that they have not been respected after being assigned a specific job, which creates a sense of frustration. Most of the technical personnel thinking ability is stronger than communication and communication skills, most of the personality tends to introverted, like to do more than talk. How to improve their ability to communicate and communicate is a big problem in front of many developers.
3. There is no continuity in the technical architecture. as designers, we need to ensure the reality of product functions, the sustainability of product functions, the stability of products and the availability of products. These requirements of the product depend on the architect's planning of the product technology. After the architect receives the business demand, the most important job is to translate it into technical requirements. The completion of this process is inseparable from the architect's ability to abstract thought. Like the Tiny Framework Project, the first idea that the main architect flashed was that the system had to have a long-term consistency. The architects responsible for each of the Tiny framework functions need to be further abstracted. These are often not available to the SME team. Due to the lack of excellent architects, resulting in the team in the actual product planning without their own clear goals and specific feasibility of the implementation plan, lack of unified continuity, resulting in late to meet the product upgrade, revision needs.
4. performance does not meet operational requirements. all day only know big talk about "cloud computing,SaaS" These things of the team, destined not to develop a good product. This kind of problem is very common in the new development team, because it can confuse more customers. However, while the new technology is good, it takes time for programmers to accept and retrain, and to take into account system compatibility issues. Therefore, the rhetoric of the terminology experts, often die more miserable. Especially in the case of large concurrency data testing, the products are often difficult to meet operational requirements.
5. The cost of building a development framework is too high to withstand. nowadays, the development of various software systems is more and more complex, especially the framework software, which involves many problems and too much knowledge. When the website becomes large, it is inevitable to split the application to service, in order to improve the development efficiency, tuning performance, saving the key competitive resources and so on. As the service becomes more and more, the URL address information of the service explodes, configuration management becomes very difficult, and the single point of pressure of theF5 hardware load balancer increases. When further development, inter-service dependencies become more complex, even confusing which application to start before which application, architects can not fully describe the application's architectural relationship. Then, the service is more and more calls, the capacity of the service problem is exposed, how much machine support this service needs? When should I add a machine? Wait a minute...... In the face of these problems, development costs tend to grow at a rapid rate, even to the small and medium-sized enterprise team can not support.
The use of frameworks is a good choice if you want to reduce development effort or shorten time and reduce costs. In particular, the use of good quality and continuity of the open source framework is becoming mainstream!
1. Save team time and effort. The framework saves us a lot of time and makes scaling easier. With a complete ecosystem, and an active community atmosphere, the team is more capable of fighting! Because the framework enforces the use of public conventions, it can effectively solve some common problems. The framework allows for more coherence and avoids the need to write a whole bunch of custom modules to achieve some performance, and all we have to do is put these common modules into the framework. Take tiny framework as an example, a year of development will need to submit thousands of commits The solves countless incurable diseases. In addition, from a document maintenance perspective, a year 900 multi-page document content can also help the development team solve many challenges.
2. Technical support is more secure. Excellent open source framework, often with high cohesion, low coupling, high-quality code, dedicated team, can keep the project continuous progress. Or take tiny frame for example, tiny main project Total 621 issues , there are requirements, and improvements, with bug . As a result of good knowledge accumulation system, make use tiny frame people more use stronger, more use more cool! The equivalent of having a strong backup team in service for your project. These advantages are numerous. When a June at the seaside of Qingdao leisurely drinking coffee, do not worry about the customer's tracking phone.
3. lower cost and higher added value. in an excellent open-source framework, all software participants avoid duplication of effort because the top-level design avoids repetitive work. Especially for individuals or small businesses, it is clear that ssh/i alone is not enough to make your solution look tall, nor enough to support scenarios where the volume of business data is larger, and not enough to support high software development implementation costs. In the excellent open source framework development team, the entire team configuration is often more reasonable, high and low level of the respective roles, making operating costs lower, more value-added. Take Tiny as an example, the Tiny ecosystem that is being built, hundreds of UI components and process components are enough for your daily use, and there will be more to be added, these are all premium services!
In short, the use of good quality and continuity of the open source framework, based on the open source framework for application is the future development of small and medium-sized software companies, you will get more value in return!
"Open source framework that thing 13": Application based on open source framework is the future development of small and medium-sized software companies
Start building with 50+ products and up to 12 months usage for Elastic Compute Service