This is a creation in Article, where the information may have evolved or changed.
Author
This article is written in the light of the three viewpoints of the engineer.
Often hear the business programmers complain that they do not have the business meaning, learn things, not to use new technology, is also the technology of tossing and turning, can not grow. Many programmers experience this process, many can not adjust and leave, perhaps to a new technical excitement, some may be a new business to continue the cycle. That's what we programmers should do when they encounter this kind of thing, which direction they should go.
Now the third view of the programmer (technology, product and data) is already covered, and what is the concept of business.
The best experience of business development is from a business from start to the rapid development of business stable development-> ... Process, and the ability to clearly position the role of the developer in the business in different business processes can support the business from a technical point of view.
First, the three views of the programmer
1. Technical View
Technology is the core of the programmer to compete, what is a good technical view.
A good concept of technology should be not to exclude new technologies, not to exclude the technology that they do not know deeply. Many new people, even a lot of two or three years of work developers will fall into a misunderstanding, a language of extreme love, and some other languages extremely despise, become a religious member of a language; As programmers are often as academic, they need to constantly explore new areas, and some technologies need to be mastered in depth, A lot of technology needs to know what the principle is, what the characteristics are, and how to better choose the technology when a business needs it.
Different technologies are often able to broaden the horizons of technology, taking programming language as an example, on the issue of concurrent implementations:
· Java uses threads and thread pools to implement
· Golang is implemented using goroutine and channels mechanisms
· Clojure uses the STM (software transactional memory) model to achieve
Different ways have their own advantages and disadvantages, in practical applications, we can use these as a reference to solve our practical problems, such as recently we have adopted the channel model in the KTV booking process to abstract and achieve business.
2. Product View
Technical personnel in the realization of product requirements, the first jump into the mind is to achieve the technical cost of the product, such as the implementation of the product will have an impact on existing projects, how much trouble to develop and so on. It is necessary to consider these costs, and these cost considerations can be a better measure of the value of these requirements. But if we just stop here, it's not a good product concept.
As programmers not only understand the product implementation details, we also need to know the product's motivation, positioning and defense, know the product for whom and why.
For example, in the discussion of the engineer's three-view article about the user login product is a good example:
For example, every online system has a password reset function--let's see, what is the convention for password reset?
· After a user sends a password reset request, the system sends a reset message to the requested mailbox
· There is a one-time link in the reset message that expires within a specified period, and the user taps into the password reset page
· After the user sets the password, you can log in with the new password
· However, with such a simple function, someone would make it this way:
· After the user sends a password reset request, the system sets a random password for the account that corresponds to the requested mailbox, and a random password is sent to a message.
· User login with this random password
3. Data View
Data is a projection of the real world on the product (projection). A good engineer should also be a data-sensitive engineer. Learn startup teaches us: the cycle of Build–measure–learn, which is not so much a product approach as the way we learn everything.
So the first step in Data view is to know what to measure. To know what to measure, you need to know what KPI is the most important for a product. For example, we are doing in the KTV booking, the most important is the number of bookings, followed by the booking success rate, and then refined to the booking system within the booking channel booking success rate.
Measurement is just the first step, followed by analysis and interpretation of the data. The ability to analyze and interpret data is an important part of the engineer's view of data.
Data analysis and interpretation of data, need to form appropriate measures, if there is a defect in the business or need to optimize the place, it is necessary to form a product demand, to promote business and product development, which may be everyone is a product manager of the meaning of it.
Second, the concept of business
Business view is a higher and broader perspective, whether it is technology, products or data analysis for the better business development, if the business better development, which requires a better business outlook. The right technical view, product view and Data View are the foundation of the support business, but a business not only has these three aspects. Do a business need to know the business process, the necessary business details.
Business needs to have products, these products about how to promote, how the sales process, each link technology how to provide help, from a business perspective, the current product and technology is reasonable, whether to provide a better business model.
1, communication with the business people
Many developers hate to communicate with business people (sales, push people, operators, etc.) because they always feel that they are no longer on a channel. In fact, many times the business staff is blocked in the real user's last layer, this layer more understanding of real user needs, than real users can make a certain demand summary. Listening to business people saying that the product is not in place, often can find defects in the system and products.
2, the technology perspective to see the business
Compared to business people, technical staff have the technical advantages, can be better from the technical perspective of the business needs of the abstract. Most of the ideas or needs that business people put forward, usually within a short period of time, can basically determine the feasibility of the technology to achieve the solution.
Learn Java students pay attention to!!!
If you encounter any problems in the learning process or want to acquire learning resources, please join the Java Learning Exchange Group 346942462, we learn java! together