Content Dry | Product Manager To learn about technical knowledge

Previous chapter we talked "product managers should not understand the underlying logic of technology", have never seen students can read it first, and then come back to see that this chapter content may understand more profound.

Due to the reason, the last chapter does not explain the specific content of the technology, this chapter will be aroundThinking collision, workflow, basic technology, technical terms, communication skillsAll the dimensions are explained, all the content is the Internet content, strive to describe the technical content in a simple language, so that non-technical products can be easily understood and learned.

I understand the product thinking is the root cause of the analysis and the root cause of analysis and whether it needs to be resolved, and then proposes a specific solution and the process of standardization and product chemical;

Just like the title of writing, the proppal may be a problem, a phenomenon, a feeling, an emotion, even a result, we have to understand his true intention, find effective arguments and arguments Solution, you can argue from multiple angles, and we are required to do it when arguing:

  1. There are opinions and positions: could not appear uneven, meaningless content
  2. Is an overall: unrelated content
  3. Strict and logic, self-contained content

The entire process is a layer-by-layer process and there is an uncertainty. The problem of analyzing may be wrong, and the proposed solution may not solve the problem, because the outbuness of the result is only considered the solution. Sex, can solve the user’s problem, and how to improve the probability of successful solutions, not think too much to implement the way.

Technical thinking

Technical thinking is a kindProgram implementationThe way of thinking, based on the data that has been confirmed and determined, and fromThree variables such as influence face, encoding complexity, investment costAssess the process of realizing difficulty;

It is a bit like a solution of solution. In known mathematical formulas, there are many solutions, but there is only one solution, but the answer will only be solved and don’t solve the two results. If you don’t find the answer, or the title is It is wrong;

When thinking collides, most arguments are contradictory and logic before and after product logic, so that it is necessary to develop their own brain tonic logic, which has a great uncertainty in the development of their hearts, technical thinking is not good at solving uncertainty Therefore, it will be constantly questionable to fix confirmation. As the product manager, we should try to eliminate this uncertainty when advancing.

Then, due to the lack of thinking in the realization, it was found that the realization of excessive decline was discovered after the evaluation, and the development of the instinct, and questioned whether the topic was correct. At this time, we need to throw demand value (opinion and position) to strengthen The purpose of demand, the production ratio of high demand, so that the development can feel the meaning of completion, so that the corresponding plan is proposed to reduce the difficulty in reducing the implementation according to the demand purpose;

The product manager can not talk about "why you want to do this" at the beginning, but it must be a prompt to answer in a timely, with professional attitude make the demand complete, echo before and after;

When doing demand, some feelings may have obstacles, first do advance communication, pre-judgment in advance, coding complexity, investment costs, and do full logic thinking, or properly modify yourself Solution to meet the optimal solution of the product, this is a certain technical thinking.

Post division of labor and responsibilities

  • UI design: design for software human-computer interaction design, responsible for page beauty view, cutting
  • Front end: The design of the design is converted into the software interface or HTML page that can be operated, responsible for product interface and interaction
  • Back end: Provide database, platform and interface design, responsible for functional logic implementation and data storage processing
  • Test: The product developed by the acceptance is consistent with expectations, responsible for the quality
  • DBA: Responsible for the management and operation of the database, guarantee the stability, safety, completeness, and high performance of the database
  • Operation and Maintenance: Operation and maintenance of various phases of the network, server, system environment, service cycle, reaching an uniform acceptable state in cost, stability and efficiency

Product development process

A complete development process is as follows:

-03-Basic Technical Content Web Basic Technology

  • URL:Unified resource locator, used to access web pages, pictures, videos, etc., all resources on the Internet have a unique URL, starting with HTTP, can be IP or domain name, actually a path
  • TCP / IP:Refers to the protocol cluster capable of implementing information transmission between multiple different networks, which is the most basic communication protocol in the use of the network.
  • HTTP:Global hypertext transmission protocol, based on TCP, is the basic protocol of the Internet, all WWW services must comply with the HTTP protocol to ensure communication between clients and servers
  • SSL:Secret sex transmission can be provided on the Internet, and communication between users / server applications is not to be eavesdropped by attackers, and always authenticate the server, which is generally used for systems with high security requirements, such as network payment.

Front-end technology

  • SDK:
  • POST / GET:It is two common HTTP request methods. GET is used to get data from the server, while POST is used to deliver data to the server; GET data is placed in the URL, visible to the user, POST passes the parameters through the request body, for the user Invisible;
  • Ajax:Using asynchronous data transfer, web applications can quickly rendering the incremental update on the user interface without the need to overload (refresh) the entire page, which makes the program to respond to the user faster, which is more friendly in the user. (Refreshing page will appear on the visuality, let the user lose the focus);
  • Cookie / session:Two session storage technologies, mostly used for user identification or status storage, cookies are stored locally (modified views in the browser), and the session is safer;
  • TOKEN:A string generated by the server to make a request for the client, generally used as a user login to determine the identity, no need to enter the account password again, just like we take the card instead of the key unlocking;
  • Native development:It refers to the development of the officially provided development language, development library, and development tools on the Android, IOS and other mobile platforms. The advantage is that the experience is good, good performance; the disadvantage is that different mobile phone systems should be developed twice, the development cycle is long, cost high;
  • Mixed development:Developed using native + HTML5, then packaged into different platforms, the advantage is that the development is fast, the UI expression is consistent; the disadvantage is that the performance and the native gap, some can not be implemented;
  • Applets:It is an application that does not need to download and install, the user is running, does not care about whether it is installed too many applications; the small program development threshold is low, can meet most business needs, it is also very convenient, by WeChat 16 The first time, now almost all super apps have a built-in applied.

Backend technology

  • Short connection:Each time the client and server perform an HTTP operation, set up a connection, the task ends interrupts, most of the web services are short connections, comparing resource;
  • Long connection:After establishing a connection, the client and server, it has been connected, mostly the frequent operation, and the message, such as the game, chatting instantly;
  • Synchronize:In order to execute, call a thing is that the call party is waiting for this call back the result to continue, such as the ATM machine to pay the money, take one to the next;
  • asynchronous:The call party will not immediately get the result, but after the call is sent, the caller can use the continuation to perform subsequent operations, the caller is notified by the caller, or handle this call by the callback function; for example, order, wait next to it, wait next to it Episcal, the next one continues to order, and use the speaker to pay for a meal after eating;
  • queue:It can be understood as the queue in real life, the team headshade head, that is, "advanced first out", often used in spike or group purchase activities, prevent and transmit the service downtime;
  • Stack:Also called the stack, use "backward first" rules, such as entering and exiting the elevator, after being in the door, you must go out first;

API interface

It is a protocol for data transfer and interaction between the client and the server. It is a way to synchronize data between two systems. It is generally composed of error code, error message, and data content, can be JSON, XML, or string and other forms. Returns, written by the server, and provide interface documentation to facilitate front-end use.

The interface has greatly reduced dependence, improves the security of data access, and the technician often said.Rear end separationIt is to let the front and rear ends focused on their business logic, and data docking through standard interfaces.

It should be noted that in order to let the user experience more friendly, try to use non-professional text to describe the error message, do not display the error code on the page.

Industry noun

  • server:Provide computing or application services for other clients in the network, our code is deployed on the server, similar to our computer host, but it is faster than the computer, each server can assign a public IP, Access service is available outside;
  • system:Generally referring to the operating system that is running on the server, the application needs to run on the operating system, and the common server system has Windows, Linux (open source);
  • database:To organize, store and manage data, store, and manage data; Directive databases (eg mysql, sqlserver) and non-relational databases (such as: mongodb); similar to the reputation, the shelf corresponds to the data sheet, the shelf Each product is similar to a data sheet data;
  • Cache:Refers to a memory that can be exchanged for high-speed data, which exchanges data with the CPU, so the rate is very fast, the role of the cache does not directly access the database, preventing access to the database, improve the access efficiency of our data; Memory Cache Redis, Memcache;
  • Timing task:Perform a piece of code every other period of time to obtain a result of a result, usually use crontab, usually put some time-consuming, such as data statistics, is performed timed when the number of visits is small in the morning, generates data tables, send email;

Use of tools

  • IDE:It is an application for providing a program development environment, which generally includes tools such as code editor, compiler, debugger, and graphical user interface (men’s toolbox, all), the appearance of IDE makes the development process simple, Convenient, development has its own favorite IDE, but also to form your unique habits through continuous optimization and configuration, it is the weapon of the soldiers;
  • Postman:It is an interface test tool that is equivalent to a client, which can simulate various types of HTTP requests initiated by the user. Send the request data to the server, obtain the corresponding response result, and the result data in the verification response matches the expected value;
  • FIREBUG:Also called developer tools, it is integrated with HTML view and editing, JavaScript console, network status monitor, is the front-end development effect tool, which can be touched directly in the browser; it is an extension of Firefox browser, due to It is very convenient for the front-end development and commissioning, and the current browser has supported;

Equipment:Develop production and product operating environments.

  • Development Environment: New employees will be entered the first day, they must first build their own development environment. The IDE, operation, and debugging software needed, will also configure IDE according to their own habits, and improve development efficiency;
  • Operating environment: After product development, you need to put it on the server so that users can use and access, they need to build a server environment. The same is also some columns of software, plug-ins, and more time you need to optimize the configuration of the operating system. Just like you optimize your computer settings;
  • Environment Classification: Operational Environment is also distinguishing between DEV (Development), Test (Test), Product (Production) and other environments; Some pre-released environments (using production environment data, but the code has not been issued to the production environment ), Grayscale environment (small population can be seen) environment, etc.
Construction form:Depending on the business logic needs, design the database table structure, used to store data, mainly the work development of the backend, or may be the work of DBA;

Write death:

  • It is referring to the parameters or configuration content, representing these contents, to write in the code, modify the re-release code; The time to build a table and write interface;
  • The advantage of writing death is that the development efficiency is high. The bad is inconvenient to modify and need to re-release the version;

What information has been developed?

  1. The existing technology cannot be achieved, that is, often said more than the technical boundary, such as the download speed reaches 10g / s
  2. Surgregated by the company R & D capabilities and technology stack restrictions, beyond the ability of the ability, such as the requirements for making a small procedure to do artificial intelligence development
  3. Platform or ecology limitations, do not support this approach, or no open corresponding interface, such as WeChat does not open an interface to get a list of friends list
  4. The existing technical architecture does not support, if it is necessary to do cost, you need to rewrite the underlying code, time, task, not cost-effective
  5. The implementation method is more complicated, there is no way to implement, and it is impossible to meet the requirements for short-term implementation.
  6. I feel that the value of the demand mentioned is not big, there is no significance, and there is no motivation to do.
  7. Simple, don’t want to do
  8. Bother you

What kind of case is made clear that it can be effectively judged and solved. ?

-05- and develop friendly communication coordination

The development estimate is mainly mainly controlled by the technical supervisor in the team. They have a responsibility to assist the estimate, control the progress, coordinate the task;

Therefore, the method herein is not to let the product manager instead of the development estimate, but we can take the strategy we can take when it is expected to be expected;

Judgment Estrange First Step: Let’s see the total time, find out the time node of the people who have long-long, see if it is the mission arrangement is unreasonable (more people’s task), or the order is problematic (time vacuum) There are still other tasks;

Judgment an estimate of the second step: solving individual people too long, some people may have normal task, complexity and others are almost, but it is more than others;

  • First evaluate personal capabilities and whether the assigned task matches
  • Then inquire about the reason, you may find information asymmetry (if you are wrong, understand the code library, you don’t know some technology, etc.), the product manager can guide it to find the corresponding person to solve, or directly to solve it. Symmetrist
  • Finally, this person may not say why, there is no wish to solve the problem of long-term long, the product manager must make the development of his own task to disassemble, can disassemble the day according to the development steps, the number of interfaces, logical points to the sky Until until disassembly
  • Some people may say, I don’t have this power, I can’t do it for development and me in detail the task. Many people don’t have, but the problem is still solved, you can say good words, you can ask for others, anyway, all want to do everything Solve

Judging the third step in the estimation: After the first two steps, it is found that the length is still super, then there are only some less important needs, and the delivery is more valuable than the perfect online.

Task is more difficult to determine

Look at logic:

  • The logic itself is simple, there is not a lot of judgment (such as adding deletion of deduction), the function is also independent, basically assessing 1 to 2 days is reasonable, and the hands and feet may be fixed for a long time.
  • If knowledge is purely show, pull the data from a few tables, add some simple judgment, complexity of the front end and the interaction between the rear end, and basically in the day.
  • If you just replace text content, pictures, simple style (color, size, etc.), even if you are more, you can do it in batches, it may be cumbersome but not complicated, you can do it in a short time, belonging to your hand

See information:

  • Generally there are ready-made interface documents and SDK, it is also simpler, and can be used under time study.
  • There is a general purpose component, and the previous function is implemented. If the change is not large, you can use it directly.

General complexity:

  • Compatibility problems will be complicated, especially some of the problems of non-usage models, sometimes it is not good to position problems.
  • Performance problems are often difficult, need a little point to analyze to find performance bottlenecks, and test optimization
  • The core function will be more complicated, especially to provide a number of functions used in many modules.
  • When research is usually time consuming, the product manager is doing a need for demand, if you find that you may need to use new technologies, you can say hello in advance and develop, let them study, put the time-consuming question previously solved

Communication and ask questions

Master a knowledge, not to compare others, but let yourself do things more articles and efficiency;

I can understand that there is a bottom gas when I communicate, and I will not be asked, and I can ask a reasonable problem according to the answer to the other party. Most things can be solved by face-to-face;

We have to communicate "More recognition, less ironic", Try to do equality dialogue, some straight-white languages, change to another discourse, will exchange unexpected effects:

Put "Why can’t you do it?", Replaced "I want to know the specific reason?" Or "Is there any other method to achieve?"

Take "this simple need, is it so long?", Replaced "I think this time is a bit for a long time, can you speed up?"

Put "X, there is bug", change it to "here, don’t you operate, see if there is a problem with you?"

It is not easy to give up, do not accept the ambiguous answers, the content of the development should continue to ask until the answer to you;

The product manager is responsible for the final result of the product, encountering problems, no one will continue to solve it for you, do not expect problems to automatically disappear, solve problems, only you can solve problems, understand technology is just means, not purpose;

Drums, overbearing, high mountains.