The growth of the front end students has always been a topic of concern to many people. In the next few issues of the growth series, the stories of the team students will be presented. This issue is the personal growth path of zi Qian, the head of the experience technology team, and I hope to share with you.

Hello, everyone. My name is Ziqian in Ali. Now I am in charge of the Experience Technology Department of the business platform. Fusion, ARMS/Retcode front-end monitoring, BizCharts data visualization chart scheme, Node mirroring and some Node middleware, etc. I would like to share with you my past experience:

! [](https://pic4.zhimg.com/80/v2-072f917aec1b51fc6c02f2789647716b_1440w.jpg)

As this roadmap shows, I didn’t really start out as a front-end, but as a full stack in today’s terms. After work, I have been engaged in.net development and C++, of which C++ can be regarded as having 5-6 years of development experience, but the whole process was accompanied by the development of business front-end. Until 2012, I was engaged in front-end development due to business requirements. In the whole process, there are a lot of experiences, growth is actually accompanied by the whole process of accumulation bit by bit, carefully recall, can be divided into several stages. In these stages, there are also some things that play a decisive role or turn in my development.

enthusiasm

From 2003 to 2007, I go to university in dalian, joined a computer society, maintaining the school campus network and the other a campus website, although before they come into contact with the HTML development, made a personal home page (personal homepage is very popular at the time, and generally called (home), but the club is the first time contact to dynamic web pages, Just know the website actually has the management background, before thought is a page a page to copy out, is also so obsessed with web development, from the campus website content editor start, and then slowly self-study ASP development, after the end of the first year can be independently responsible for the technical development of a site.

Coincidence, sophomore year when the first school of physics laboratory is going to make a registration system, in the long encouragement, I go to pick up the project development, with a few weeks time completely developed by a person to complete, shortly into the school operation, remember every Tuesday noon lab is open next week’s experiment course, because of limited resources, everyone together to rob the course, At that time with ASP+Access (yes, it is Access when the database) on a server to support more than a thousand concurrent, although slow but the service did not crash, also did not appear oversold problems. Now that I think about it, that’s what it is. Do to be successful, this project was also know quite a lot of teachers, through the project behind this also directly led to undertake more larger projects, one of the most important project is the ministry of communications content distribution system, is also a person spent two months time to complete, at the corporate office often write code to write one night, when the young, I’m not tired. I’m not tired.

During the four years of college, I spent my spare time in continuous development and various practical projects. When I graduated from university, I made a rough statistics, and the code quantity of various projects was about 10W lines. It was also due to these practical project experience that I applied for a job in my senior year. Many of the questions asked by the interviewer were basically those I had encountered in the actual project. Therefore, I successfully got the offer from a famous Domestic Internet company, which was also the first company I worked for.

Break the rules and communicate positively

After graduation, I went straight to my first company, where I was called Bubbles. Maybe because we made too many OA systems, we were directly assigned to the IT Department of the enterprise, which is equivalent to the enterprise Intelligence Division of Ali now. For graduates, the main work is to develop various approval processes.

As you develop more and more processes, you discover that some approval flows have almost identical code, requiring only partial changes in class names and key information. I have been developing many projects in the university in the past, and I still have a habit that I can’t bear to do one page after another. If there is repetitive work, I will try to use tools, improve architecture, automation and other means to let the machine do it. So when found that many code is repeated, it want to change the repetitive coding work in particular, is the first batch replacement, then found a code automatic generation tool, as responsible for the system architecture is more and more familiar with, gradually change the project structure, everyday is also in research project architecture and write their own demo to verify, By the end of the year, similar processes can be done with a simple configuration.

Himself is happy with the results when considered themselves break the routine, not only can finish the work is also able to take the initiative to change the existing development mode, but the life in the first assessment is “improvement”, equivalent to 3.25 of ali, the mystery, after talked with my supervisor to find yourself a few serious problems, such as the goal is just to finish the work, They do not care about business and users, nor do they care about user experience. Even one expression uses multiple forms of interaction. For example, they do not care about the quality of service, and even modify the bugs online directly. Finally, the most serious problem is complaining too much about problems, such as bugs in the components they rely on, unstable infrastructure, etc., and why the scheme is always changing. A word can be summed up as “student thinking”.

This performance is still considered as A turning point. Since then, I basically stopped complaining, and took the initiative to open my heart to accept the current situation, communicate with others, communicate my ideas with others, and put forward my own improvement plan. The next assessment was an A, equivalent to 3.5+ or 3.75-. Now I am glad that I met a responsible supervisor at that time. If it means to protect graduates’ performance, I may not be able to change my way of thinking after half a year.

Bubble produced, must be a boutique

A year and a half later, I transferred to the business department, mainly C++, so I completely changed my job. Net technology stack switch to C++. I still broke conventions and actively communicated, and completed one project after another in the busy frontline business. One advantage of the business department was that I could tell friends and relatives, “I did this function”, so I paid special attention to the business and user experience. And the company’s R&D process at that time was as follows: Before submitting the test, it is necessary to transfer the experience, which is to ask the product manager to experience whether the project developed by the r&d staff is what they want, whether there are any missing functions, whether the experience is good and so on.

Then one day, something happened that I think had a profound impact on me. Once as usual, I received a reply from the product manager, which probably meant that the experience was so great that what bubbles did could be labeled as “bubbles produced”. This sentence, may be the product manager a compliment, although the product manager often compliment programmers, but the person said inadvertently listen to intentional, this is not what I have always expected, through my hands of the project, is good quality experience, bubble this name is the brand.

Since then, my requirements for myself have been to submit zero bugs after testing, and the user experience has been excellent, and the user experience has been “this is what I want”. Therefore, their use environment simulation self-test every line of code and exception handling, and deal with every interaction details, such as for animation delay, continue to test 100 milliseconds, 200 milliseconds, 300 milliseconds, delay parameters such as 400 milliseconds, finally found 300 milliseconds is the most natural effect, so the total delay are adjusted to 300 milliseconds, It has been achieved that all the same interactive expression of the site has a uniform performance. Sustained effort there will always be the result, then department expects promote research and development process of time-consuming and save test time, on a trial basis for a simple function or development of high quality students can be free, and I was the first to be approved in order to avoid test release, I’m online program can directly release don’t need to test, because really in the data display, I haven’t been bugged for a long time.

Of course, behind this also pay a lot, in addition to have the heart to ask for their own, skills also need to accumulate bit by bit, there is no shortcut, computer is a practical science, is to write more code. When I left the company in 2014, I was at the top of my team in code contributions, and two years after I left, someone told me my name was still at the top.

Personal experience to organizational and product capabilities

Personal career another turning point came in 2012, is a c + + is the front and at the same time do before in, to 2012, with the rise of mobile devices, video play transition from the traditional flash to it, and pay more attention to experience and to liquidate ability, so the focus of the business began to tilt to play experience, advertising, etc, So I began to work full-time in the front end, mainly engaged in HTML5 as the core of mobile video and advertising playback.

HTML5 playback is not simply solved by using the video tag, which involves such factors as playback compatibility, playback quality tracking, definition switching, anti-piracy, CDN, patch advertising, post-playback recommendation and so on. It is far from being solved by simply setting a video tag and SRC as written in various tutorials. Therefore, many technical details were worked out in the actual project.

But video is one of the most basic demand of the Internet, more and more business also need embedded video, also need to fit a variety of mobile devices, more and more people are to come to consult, I found that over half of the time I help players call various business to solve the problem, and began to write a mobile broadcast a white paper, shows how to implement the mobile broadcast. Although the document can solve part of the problems consulted, there are still a variety of new problems to consult. Later, I thought, why don’t I package these call processes into a JSSDK? After communicating my idea with my supervisor, I got strong support. It can automatically adapt to the platform rendering player only by passing in a few simple parameters, which was initially quoted by the company’s news App, and then by several apps with massive access of the company. Until I left the company, this SDK became one of the core work of the front-end group at that time, with more than 100 million calls per day.

After looking back the experience for many years, just know virtually did something we call “personal experience to the product capability”, is the expert experience accumulated in the long-term business, become a technical product in the thinking of the transition, let the people who do not have the corresponding experience also can use the ready-made ability, low threshold to experience replicable, more business services.

Arrived in 2014 when alibaba Shared business division, which is now belongs to my business platforms group’s predecessor, carrying the ali economies electricity core, building alibaba business operating system, although now support a large number of electrical business, ali economies but took over at that time very much for business, and many business PC, A lot of pages rely on Ajax interfaces to return results that render correctly, but we don’t know how stable the interfaces are. The most embarrassing thing about the front end is that all the mistakes are shown in the front end. The intuitive feeling is that the front end is not effective, which affects the business and users. So need the interface stability monitoring, the past is personal experience in this respect, but finding the existing system can meet the demands of the ali so active joint middleware team launched the first edition of early retcode monitoring platform (that is, now ali cloud front-end monitoring product very different), at the same time with a few new business online, the effect is very obvious, We directly found many online problems, and the business side was also very recognized, and directly recommended us to other teams, so students from other teams gradually began to get involved.

Therefore, for Retcode, we were also faced with a choice at that time, which was whether we could only devote a small amount of energy to meet our own needs, or open it up for other business teams to use. Because we didn’t have so much manpower and server budget at that time, and the amount of data to deal with was getting bigger and bigger as the quantity changed to the quality. The technical scheme to be invested will also change fundamentally, and the stability of the system itself will be higher. As we all know, we chose to open it up for everyone to access. The reasons for our consideration are:

1. If there are businesses that want to access, this demand is real, and Retcode’s data monitoring method based on real experience on the user side is also recognized by everyone;

2. Since the demand exists, even if we do not open up to the outside world, other businesses will do it by themselves, so it will be even more wasteful if we include the cost of manpower and machinery invested repeatedly. However, after opening up to the outside world, the cost of scale effect will be easier to control. Open, is not actually the beginning road, start the service is not stable, often not enough capacity, the data is not accurate, losing data, you also need to solve the access control, etc., as well as various business also will put forward a lot of demand and function also need to constantly improve, the entire process is also very pain, at that time to team asked also insist on for one year, there must be a good result. A year later, we not only polished a good product, but also trained a number of talents in the field of front-end APM, and saw them in many technology sharing conferences across the country.

By 2016, our business pattern is the development of a large number of ToB and ToE systems, which need to adapt to the design styles of multiple BU. In terms of technical system, React trend is also on the rise, so we are in urgent need of a UI domain research and development system that combines design with front-end implementation. After a series of research and cooperation, I photographed the intention of cooperation with ICBU front-end team, and incubated the Fusion system with the designers of international UED at that time. In fact, the whole process is to upgrade the excellent experience of many experts from organizational ability to product ability through technical productization by combining the long-term design decomposition experience of many designers and front-end technology abstraction experience in the project. As more and more business scenarios are supported by Fusion, the requirements and usage of the upper business are gradually deposited. For example, the configuration platform and documents are all in Chinese and the capability of internationalization is not achieved until lazada business is supported. At the beginning, I did not have the information barrier-free ability, which was also due to the legal requirements of international business. At the beginning, I did not have much experience in this field. Some students had personal experience in business and then transformed their experience into product.

Take the initiative to fill, do not set limits for themselves

Because of the past project experience, itself is a full stack experience, so I always believe that the front end is not because we use JavaScript, but because we stand at the front end of the business to solve the problems of the business side, so we are the front end. This idea has always been one of the bases for me to make decisions in front positions. As long as it is related to the end and affects the users, it is our responsibility or we should promote the solution. The more a war team creates a new battlefield, the less clear its responsibilities become.

What impressed me most was lazada Voyager project. Because it was opening a new battlefield and the time was tight and the task was heavy, many people were selected from other teams and formed temporarily. In fact, there were a lot of uncertain responsibilities, neither saying it was your responsibility nor not. Encounter this kind of thing, the only basis for judgment is, to influence does this by end users, if it is, it is his duty, what remains is punches have means to resist, it is good to surmount every difficulty to solve the problem, for example in the project of the client not enough manpower, so considering the business progress, take the initiative to fill a can use first Weex H5 or the top first, For example, the burying point is also a gray area, and the product manager is also very busy, so take the initiative to directly pull the product manager to comb together. On the surface, there is no short-term reward for doing extra work, and even a lot of extra work, but altruism is the biggest advantage, and the whole team received very positive comments after the project was released.

With regard to the present and future, the main work at present is as follows:

  • Ali e-commerce operating system front-end solution;
  • Construction of design system in middle Stage — a design system that serves thousands of ali designers and thousands of front end designers to improve design efficiency and promote collaboration;
  • Responsible for the development and maintenance of Node middleware and Node image in the group;
  • Front-end University — Talent development direction of Alibaba Economic Front-end Committee;

In fact, among these tasks, only the first one is my kPI target, while others, such as the second design platform, I personally think it is a matter of strong cooperation in the construction of commercial OPERATING system UI domain solutions. Due to my past experience in international UED, I also have a relatively understanding of the pain points of designers. I also believe that solving the collaborative efficiency of thousands of designers and thousands of front ends and changing the R&D mode of UI domain will definitely bring a leap in efficiency to the group and even the industry. This is also what I believe for a long time. Since I also feel valuable and related to my main KPI, I will do it. The other things are basically Not in my KPI, but they are also the words “Not Me, Who”. I think they are valuable and need to be done, so do it well. I didn’t set limits for myself.

conclusion

  • Interest is the best teacher. To do something, first of all, you should have enthusiasm. If it is just a job, it is difficult to put your heart into it.
  • Work seriously can finish things, work attentively can do things well;
  • Altruism is the greatest advantage;
  • The front end is not because we use JavaScript, but because we are at the front end of the business, solving problems on the business side, so we are the front end;
  • Computer is a practical science, more hands-on is king, know what you know why;
  • Synergy is a matter of two people, but synergy success is a matter of one person. In order to achieve ultimate success, one must put aside boundaries and take a step towards each other.
  • No one can put limits on you but you.
  • Do what you think is right and stick to it.

The above is my experience and perception of this position in the front of the industry. Thank you for reading and encouraging each other.