In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-19 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/02 Report--
Why did you think of writing this article? Through the analysis and interpretation of the engineer's thinking, the author wants to enable the engineer to correctly deal with some points and things that seem to have nothing to do with his position in real work, but have a great impact on team effectiveness.
Cdn.com/845305a2cac89fc0955f6235ca05b528b95ae1bc.png ">
Simplicity: Alibaba, a senior technical expert, is an important participant and promoter of the group's Service Mesh direction. He has published the book "Professional embedded Software Development-- moving towards High-quality and efficient programming in an all-round way", firmly believes and advocates that software design is the foundation of software quality, and has a deep understanding of the complex nature of software development. I have my own unique opinions and methods on how to implement software development with high quality and efficiency.
Under the background of social division of labor, the group of engineers in the software industry is divided into development, testing, products and many other positions to achieve value creation in a collaborative way. The Internet industry, which is highly dependent on software, is improving people's lives in a new way, and at the same time, it puts forward higher requirements for the efficiency of value creation on the road of improvement. behind it is a higher demand for the effectiveness of individual and team cooperation.
The biggest challenge faced by the dedicated post cooperation mode in further improving the team's collaboration effectiveness is the "post wall", that is, there will inevitably be some fuzzy areas in the connection between posts, and these fuzzy areas are easy to ignore each other. It leads to the loss of attention and greatly reduces the team effectiveness. For example, the development engineer will think that ensuring quality is the unilateral responsibility of the test engineer; the development engineer does not focus on the user experience but only on the implementation requirements, and so on. In addition, this cooperation model will also solidify the individual's thinking and mental model, and frame the individual's thinking and mind within the position, so that the content outside the post can not be well understood. As a result, individuals will lack empathy and systematicness in the whole collaborative activities, thus affecting work well-being.
I believe that these real work scenarios are no stranger to readers:
Development engineers may think that the requirements for user experience put forward by product engineers are too picky.
Product engineers put forward wild and unapproachable requirements because they do not understand the implementation principle of technology (we will not discuss the special case of innovation here)
The test engineer turned his work into manual work because he did not understand the meaning of engineering efficiency.
The development engineer is not aware of his responsibility for the quality of the software, but leaves the trivial work that he has done well to the test engineer.
Hard-working features that users complain about being difficult to use.
The end result of these problems must be the low efficiency of teamwork. So in the absence of a better cooperation model than full-time posts, how can we exert the power of individuals to improve the effectiveness of team cooperation? The author believes that the starting point of improvement is to comprehensively sort out the thinking of engineers and help individual engineers to establish a more comprehensive thinking and vision in the workplace and career development. in order to promote each engineer to maximize individual ability to improve the effectiveness of team cooperation in the process of cooperation.
The author divides the engineer's thinking into three major thinking: product, technology and engineering. The main focus of each dimension is expressed by several keywords, as shown in the following figure. The following is to explain each word that needs to be paid attention to in the order from top to bottom in the picture. Since the explanation is based on key words, the cohesion between paragraphs may be blunt. Please forgive me.
Product thinking
The origin of product thinking is user (or customer) value. User value is to solve users' pain points or bring refreshing points through technical means in the form of products or services. There is no doubt that engineers should always pay attention to and clarify the relationship between their work and user (or customer) value in their daily work, and should prioritize their work and allocate their energy by focusing on user value.
When the user value is enough, whether the product can gain a foothold in the market and really gain benefits, the first test is the user experience of the product. A good user experience must be from the user's point of view, based on the user's mind to shape the concept, because the concept has the cost of understanding and interpretation, so the concept should be light enough, less and easy to grasp. Once the concept is shaped, the relationship between the concepts is also determined, which basically determines the interaction process between the product and the user. Good products are embodied in the word "easy to use", the ultimate of which is to cater to the instinctive reactions of users and conform to all kinds of life or professional common sense.
All products have the process of evolution, and the user value created is constantly being excavated and explored. At that time, different refined values need to be distinguished and expressed through product characteristics. The feature is also an embodiment of product differentiation, and it also indirectly determines the functional module boundary of the software implementation level. As a development engineer, we also need to have a very thorough understanding of product features, and be able to abstract and transform them into functional modules at the software implementation level. Features need to be considered through the sale of license and other forms of turn on or off to achieve sales, which is necessary for 2B products.
In order to better evolve the product, it is necessary to test the effect of creating user value in the form of data closed loop, so that the product development, operation and marketing work can be targeted. On the road of product value creation, the most afraid thing is to bow your head and do addition, doing more but no one cares about the results. Through the form of data closed loop, we can not only make the whole product team focus on the core value, but also help the team to make rational subtraction on the road of exploring user value. In most cases, subtraction is far more difficult than addition.
Technical thinking
The source of technical thinking is demand. Demand can be divided into different levels, such as market demand, system demand, characteristic demand and so on, which answers the question of "what to do" at the technical level. Obviously, clearly expressed needs and a precise understanding of the requirements ensure that things are done right. There is no doubt that the waste caused by demand deviation is very serious, and that is why engineers attach great importance to the quality of demand.
Once the requirement is established, it will be divided into several functional modules based on the idea of modularization to reduce the local complexity of the implementation, and finally all the functional modules will be "spliced" together to achieve the overall requirements. Each functional module will be assigned to a person or a team, because the functional module is the product of the decomposition of requirements, it is easy to cause engineers to see only "trees" and forget "forest" in the process of implementation.
Performance is something that engineers have to pay attention to when implementing a functional module, especially when the functional module is used in high-frequency, timeliness-sensitive and limited computing situations. In reality, sometimes engineers are willing to pursue the extreme of performance to reflect their technical strength, and even slip into the misunderstanding of over-design by pursuing performance prematurely.
There is no doubt that for a regular team, the development of functional modules will be delivered in a project-based and multi-iterative way. Many engineers will have a misunderstanding here, forgetting that the purpose of the project plan advocated by Agile thinking is to adapt to change, but regard "delivery on time" as their bounden duty. when all kinds of workers climb to the finish line, they are not surprised to see the scene of "chicken feathers on the ground".
On the way to the fourth industrial revolution, artificial intelligence, big data, machine learning, Kubernetes, Istio, Knative, Go, Dart, Flutter and other new technologies continue to impact the skills already mastered by engineers. Keeping up with the iterative pace of technology quickly is one of the manifestations of every aspiring engineer's continuous improvement of his or her professionalism. In the heart of engineers, there must be no lack of pursuit of new technology, looking forward to the technology they have mastered has a certain advanced nature.
Engineering thinking
The starting point of engineering thinking is the process. Behind the process is science, with established steps, phased input / output to complete value creation, through process control to ensure that the final results are satisfactory. As the process involves the work quality and efficiency of each engineer, its meaning is not only definition, instrumentalization, inspection, etc., but should be based on the engineer's daily work habits, seamless integration of the process with the engineer's working environment. "seamless" reflected in the concept of the process is consistent with the professional common sense established by the group of engineers, does not add a worthless burden, is still to ensure ease of use.
The meaning of the mechanism is to solve similar problems in a mode through the analysis of the problems that need to be solved. The mechanism should reflect a certain degree of systematicness, rather than "headache treating the head and foot pain treating the foot". Systematicness can not be seen from the beginning, but may be gradually discovered and improved in the process of evolution, so engineers need to review and put it into practice from time to time in the process of work. For engineers, the mechanism is achieved through systematic software design.
It can be said that product quality directly determines the engineer's work and life well-being. A product of unreliable quality will certainly bring trouble to users and engineers themselves, and even cause irreparable economic losses and negative social impact. For engineers, it is bound to disrupt the rhythm of individual work and life. In order to make the quality of products reliable, unit testing, static analysis, dynamic analysis and other means to ensure engineering quality should become the basic work of engineers. Through the integration of these means with CI (Continuous Integration) process to continuously build confidence in the quality of software products.
In the Internet industry, in addition to the reliable quality of software products, risk control is another content that can not be ignored. Risk control is based on systematic mechanism and reliable quality. The more so for server-side software. The risk often occurs in the extreme scenario of the use of resources. when the influx of too many transactions from the outside far exceeds the processing capacity of the software product, there needs to be a mechanism to enable the whole product to deal with it relatively smoothly. or expand resources, or limit the flow of incoming transactions.
The machine cost of software is a topic easy to ignore. Software cost is not only related to software performance, but also related to software dependence, technical solutions and other factors. When a software needs to be exported from within the company, neglecting to pay attention to the cost will expose the cost problem. For example, in order to run a software requires a large number of computing resources, the resulting financial overhead is likely to be unacceptable to the customer.
At this point, a general introduction of their own understanding of the engineer's thinking.
Extend
The value of understanding engineer thinking is that individual engineers need to gradually establish product, technology and engineering thinking in their work in order to look at the difficulties and puzzles faced in daily work from a more comprehensive perspective. It may feel unreasonable to look at the problems from a single point of view, but the conclusion from the three major levels of thinking may be completely opposite. From the perspective of teamwork, only when there are more individuals in the team to think from multiple dimensions, it is easy to find the grey areas where there is no interest in the connection between posts, and then give greater play to the effectiveness of the team through filling positions and assists.
Obviously, engineers with different positions and responsibilities have different requirements for the depth of these three major thinking, but thinking from multiple dimensions should be the accomplishment that every engineer should have.
Readers are welcome to share if they have any feelings after reading this article. You are also welcome to leave a message to tell me other workplace issues you are concerned about, and the author will share his thoughts through follow-up articles as appropriate. Finally, it also leaves some questions for readers, and you are also expected to share your thoughts through your comments.
Question1: why is the Internet industry more demanding for team effectiveness? Is there any inevitable reason behind it?
Question 2: some Internet companies explore the integration of production, research and testing (product, R & D and testing). What is the nature of integration? How to show that industrial research and testing has achieved real integration?
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.