My name is Zheng Qingxin, the former head of the front-end business unit of TAL LeapFE. LeapFE is the abbreviation of our team. Once upon a time, the common vision of our team was to become a well-known front-end team in the industry. This year, that vision is on hold due to the devastating impact of policies on the company, but for the vast majority of us, a better start has been or is about to begin.
In the past three years, every year before the Spring Festival holiday, I will write a year-end summary of the team latitude and send it out in the form of a weekly report within the company. This year was a little different, but it was the most worthwhile conclusion, both for the team and for me personally.
It took about three and a half years for LeapFE to go from 5 people at the beginning, to nearly 35 people, and then to 0 employees today. fast stage.
Sense of achievement in business development
Compared with "building wheels", what is more exciting may be that the products developed by yourself are used by more people and are relied on by more people. A senior programmer may not be moved by some high-sounding concepts, but there must be a few memorable products. We have experienced successful projects and failures; we have done useless work, and there are joys brought by working day and night. In the past three years, we have supported several business lines, teaching, marketing/traffic, data, customer service, etc., serving hundreds of thousands of students every year.
We have developed our own courseware system from zero to one, covering all campuses across the country, with zero accidents so far;
We made the "Annual Learning Report" which made everyone's circle of friends swipe the screen and parents cry;
During the epidemic, we were the first batch of products in the company to launch "online real-time interactive courseware";
We have built a unified content production platform, and output thousands of courseware and tens of thousands of interactive exercises;
We are the first batch of institutions to do fake live broadcasts, and "Mo Lixiu" has become the driving force for children to learn;
We created a way to convert from design draft to courseware package, and obtained a patent;
We supported the company's annual meeting lottery program for 7w people in our spare time;
We saw our products in CCTV news;
The bits and pieces form the memory lines of the team. This accumulation of experience is rare for me.
Technology Construction in Business Units
In more than three years, the team's technology has grown from "savage growth" to gradually standardized. In the beginning we were a small team of 5 people and really enjoyed the feeling of "development freedom". Later, as the size of the team became larger, we made a series of technical constructions.
As more and more projects have been taken over, we have encountered problems such as inconsistent technology stacks, inconsistent code styles, and inconsistent lint rules. At the same time, some project technology stacks are old and difficult to use. At the same time, based on React Hooks just released, There is no mature solution based on Hooks on the market, so we developed a development framework Luban .
Based on the premise of stability and performance assurance, and easier exception tracking, we have developed SDKs and data dashboards that integrate errors, performance, and behavior, and provide real-time weekly reports and exception alarms.
In order to solve the problem of improving the efficiency of interactive courseware development, we use graphical editors (No Code), templated (Low Code), and D2C (Design to Code) for different courseware scenarios.
In order to unify the middle and back-end design and interaction specifications, we encapsulated our own UI component library and created a public business component library.
In order to improve development efficiency, we built a private npm and created various public business components, such as jsBridge sdk, middle and back-end business components, applet business components, and courseware-related business components.
To unify the editor environment, we released our own vscode plugin package .
In order to reduce low-level problems, we standardized the release process and cr process, and added links such as performance and security review.
At the same time, I will also remind myself to be more pragmatic and to carry out construction with a real problem-solving attitude. I think technical construction should be different for each team. Excessive construction or deliberate processization is meaningless, and even gives The team brings a lot of burden.
In the past three years of Libu, I have also experienced several useless projects. My "technical outlook" has gradually matured, and I have lost a lot of "self-healing". I have gradually understood the truth that technology serves business, and began to pay more attention to it. Cost-effectiveness, availability, etc. Of course, sometimes we can't be completely rational, otherwise some innovations will be stifled, so we need to find a balance.
gentle management
For more than three years, as the number of team members landed, my mentality also had different stages. In the first half year, I positioned myself as a big-headed soldier, taking care of everything. The purpose was to adapt myself to work quickly and get more resources. On the other hand, for the previous seniors, I also tried my best to make everyone comfortable and integrate into everyone as much as possible, and everything went very smoothly.
Later, as the business expanded and the number of people increased, the big team was divided into several groups. At that time, I was confused about my position for a while, and I had no goals. I felt that I was far away from the code, and I had no sense of security.
I remember that this feeling lasted for nearly two months. I was a little overwhelmed. I forced myself to read some management books. At the same time, I also participated in various training courses provided by the company, such as Spark Training Camp, Gold Interview/Performance Officer, True North, situational leadership, and more. I started to write bi-monthly OKRs, plus debriefing at intervals, I gradually understood the focus of this stage of work. In addition to technology, I have to think more, plan, find direction, set goals, do splits, and more need to find Problems, the ability to find pain points.
I didn't expect that I would become the kind of person who "writes ppt" that I despised every day, only to know that this job is many times more difficult than writing code. Then I learned how to set goals, how to dismantle and divide labor, how to advance, how to balance business support and technical improvement, and understand the importance of quantitative indicators.
For team members, I am a moderate manager, this style is easy to create a relaxed and pleasant working atmosphere, and for some highly motivated partners, there is more room to play. At the same time, I am also well aware of my own shortcomings. Sometimes there are problems such as insufficient reward and punishment mechanism for the team and lack of urgency of the goal. So later, I realized that management needs to be different from person to person, and use different strategies for different types of partners, which can be roughly divided into: instruction, coaching, support, and authorization.
At the same time, over the past few years, I have become smoother.
I’ve never been a talkative person. When I first started working, I didn’t dare to talk to my boss. Sometimes I would blush when I spoke, let alone speak in front of hundreds of people. But over the past few years, these things have become less difficult for me. Compared with the pure development work, I have to face all kinds of partners, products, operations, teaching and research, teachers, customer service, parents, etc. I can communicate with different roles in different ways, but try to be sincere and consistent. mind.
i quit
I personally experienced the collapse of a building. I lost a lot this year, I also witnessed a lot, and thought a lot about it. I experienced 80% of the stock evaporated overnight, tens of thousands of colleagues swiped the screen together through thick and thin, saw countless students and parents cry because of the suspension of classes, and saw how firm the faith of a great entrepreneur is.
I have never felt unfortunate. On the contrary, it is very lucky for me to be able to catch up with the tide of the times and eat the dividends of the Internet.
The main reason why I chose to leave is because of the team, and the most reluctant thing is the team. Regarding layoffs, I couldn't make a choice. I was afraid that my choice would bring trouble to people's lives, and I couldn't watch the departure of familiar comrades one after another, so I ran away.
chat interview
Luckily for me, who is 31 years old, the job search process has been smooth.
There is not much face-to-face experience. In the past few years, I have interviewed many people. In addition to some basic hard indicators, such as some basic written test questions, algorithm questions, and eight-legged essays, I need to prepare more. The most important thing is to find a way to make The interviewer has a bright feeling, and the ideal is that you mention a point that he will not know, so as to stimulate him. So how to make him shine? On the one hand, the content of the resume must be listed in advance for each project highlight. For example, the cache scheme used in my project is relatively special, so during the interview, the key points must be highlighted, and the interviewer should be guided to ask here. On the other hand, it is necessary to prepare some relatively novel solutions in advance, but here may rely on the usual accumulation.
Another example, such as a question asking us how to prevent brushing on the lottery page? First of all, we need to determine what the interviewer is asking, here is how to uniquely identify the user? So at this time, if we answer directly to log in, or use a mobile phone number or something, it is definitely not the answer he wants. In fact, this question is an open-ended question, and sometimes the interviewer does not have a standard answer. So that presents an opportunity to shine for him, because there are so many directions for us to answer.
In response to this problem, we must first distinguish the scene, is there a login? In what container? WeChat or all browsers can access? If there is a login, or in WeChat, we use the account number, or UnionID/OpenId as the identification. What if there is no login and no container restrictions? Then we can use IP and cookies to assist in the restriction, besides these? Yes, we need to talk about an solution, we can also use 161f3524688ab1 Canvas fingerprint to identify the device.
So for the answer to this question, the interviewer may have two bright spots, one is that we distinguish the scene, and the other is the Canvas fingerprint scheme, although it may not work in the real scene, there may be compatibility problems, But this does not delay the interview.
We will have a good future
In 2021, we have witnessed too many major events. Some people say that the dividend of the Internet has passed. I think it is not so much that the dividend has passed. It is better to say that the entire industry is now calmer and everyone is more cautious. In the past few years, we have witnessed so many changes with our own eyes. In fact, they have only told us one truth, that is, it is better to run fast than to run steadily. In 2022, we can calm down and think about what we like to do, what we are capable of doing, and what we can do for a long time. Time is like a train, carrying us all the way. Looking back, there is always a place where we have stopped for a long time, and we will eventually have a good future.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。