Recently, I have been in contact with many new businesses, and I have some feelings about understanding new businesses, which are summarized as follows

  1. Understanding the new business is more important than understanding the new business code, and even more important than understanding the new business is business awareness
  2. If it is business development, three years before graduation should pay more attention to technology and technical details, three to five years of technical business, after five years of business

Here are some tips on how to quickly learn a new business

Shanyue. tech/ Post/Busine…

tool

To do a good job, he must sharpen his tools.

Chrome multi-user mode

Easy to switch between multiple users (more than two) (administrator/user/various roles)

Service Database rights (production environment)

It is better to have access to online databases, with the most real data, people tend to reject unreasonable false data instinctively.

Databases are the fastest way to learn about your business

Logging System (or APM)

When you need to understand the details of a business, you can leverage a logging system

  1. Do page interaction at the front end to identify key requests
  2. Find out the key request requestId (sessionId/transactionId name/logId trackId etc)
  3. Find SQL/ Redis-command /requests (mainly SQL) in journaling system (or APM) based on requestId

For details on how to set up requestId on a full link, see my article: Marking a full link log with requestId

What if there is no requestId?

You have to take a closer look at the code

Code warehouse

Sun Tzu’s art of war said: The upper army will attack the city, the second one will attack jiao, the second one will attack the city, the lower one will attack the city.

When getting familiar with new business, the top one is to get familiar with the system, the second one is to communicate with others, the second one is to check SQL on the page, and the last one is to look at the code.

The code is mainly server-side code, quickly browse the following files:

  1. Router: Specific logic used to locate service details
  2. Business logic layer: According to the specific business logic after the router point is entered, it may need to be clicked dozens of times due to layer nesting. Understand the specific organizational structure of the code and delve into it when necessary
  3. Constant: Understands the types, status, state machines, and mapping between resources in services and fields in the database (the database store may be enum or INT). The data that it represents is more important than how the data is used in the code, and of course the two go hand in hand, right

For constant, it is best to use enum instead of numeric maintenance, as in my article: From database to front-end, using enum instead of constant number

Understand the business

Understand business types

Who are the users of your current business?

  • It may be for discrete, unrelated C – end users
  • It may also be a b-side user serving various enterprises (organizations/institutions).
  • It may also serve colleagues in the company, such as the operation and maintenance platform for operation and maintenance, CRM for sales, QA testing platform, MIS, OA and so on
  • It may also be user services, order services, data services, commodity services, etc

Different business types have different focus of work, such as toB solemn, toC lively, internal can look on the line…

How do you get the money for your current business

This is also a key issue

Understand the system

Understand the core systems involved in the business, depending on the business type. I fall into two simple categories

  • Front desk system: for users, toC for the majority of users, toB for enterprises and employees, toB for users
  • Background system: for the administrator, is often said background management system

Familiar with the main process of the system and practical operation

Understand the user’s high-frequency operation, the main way to point and do not understand the question. You can perform high-frequency operations that require the cooperation of the background administrator and various roles on the multi-user Chrome

  • For example, zhihu’s questions, answers, comments, likes to the background post management ban, etc
  • OA system process initiation, and approval of each role
  • CRM business opportunities, orders, work order operation

Understanding system boundaries

Due to the popularity of microservices, it is possible that all data for a new business will come from the underlying services. In the process of familiarizing yourself with the business, it is necessary to know which data is maintained by yourself and which is maintained by public services

  • Is user data maintained within the service or by the user service
  • Is the order data maintained within the business or by the order service
  • Such as this

Understanding boundary systems

The user service system or order service system mentioned above. Understand common tables and apply for database permissions if necessary

Understand users and rights (Users/administrators/roles/Enterprises)

Understand what permissions exist within the business and the roles that each of these permissions constitute.

It can be vaguely divided into the following tables, which need to be focused on

  1. Permission: permissions table
  2. Role: the character sheet
  3. User: the user table
  4. Organization: list of enterprises/organizations

In addition, it is necessary to know the user login and registration process, whether there is a third party login, and the access of toB’s own user system

Understand the data

More important than how to look up SQL is the data itself, which you can remember if necessary, such as

  1. Key customer ID and name
  2. Id and name of the depth user
  3. Id of primary resource/content
  4. Status/Type of main resources/contents (see enum/constant file)

Here are some common data and SQL operations that are targeted at constants and major businesses

-- Know the user base and remember when necessary...
select count(*) from users wehre is_deleted = false

-- Understand the fields of a business
\d business
select * from business order by id limit 1

-- Find out how much data the business has so far
select count(*) from business

Understand the states and distribution of a business
select status.count(*) from business group by status order by count desc

Understand the types and distribution of a business
select type.count(*) from business group by type order by count desc
Copy the code

Welcome to pay attention to my public number shanyuexixing, here records my technical growth, welcome to exchange