At the front

In 2009, when I applied for the college entrance examination, I chose to major in computer science. My relatives who graduated from Zhuhai also majored in computer science. At that time, the financial crisis and the DEPRESSION of IT industry made me lose my job after graduation, so I was forced to choose the mechanical major.

After graduation, entered a factory, as a process engineer, usually do touch tools to see the production line, the salary is not high to do for three years only 6K, really hungry.

I worked the night shift for one year out of three years. The night shift was the most leisurely. As long as the production line did not break down, the time was yours. In the evening of January 1, 2015, I had a telephone conversation with a high school classmate who had not been in contact for many years, and I learned that he was engaged in the position of front-end engineer. He told me that it was easy to get started in front-end and recommended the learning website Miaowei Classroom to me.

I became a member of Miaowei class for one year and spent 99RMB to start my front end. Remember when you used Notepad to write HTML and CSS syntax. Learn the front end by changing the file name suffix of Notepad to.html,.js,.css, and then dragging the.html file into your browser. It’s been four years now.

After I was familiar with HTML5, CSS3 and JQ syntax, I called my classmate and asked if I could find a job in this way. He just gave me a PSD map and said that if he could make a page of his company, he could find a job. It took two days to make this PSD into a static page and send the code to students. The students read it and said it was ok. Originally is to call classmate inside push, but he has no post over there, had to oneself come out to look for a job.

I joined my first company

After March 16, 2016, I submitted my resignation and came to Fuzhou to find a job. At that time naively thought that looking for a job is very easy, in the interview process is not written test pass, is not through the machine operation. At the last company, the interview went badly, and when the interviewer told me to go back and wait for news, I mysteriously said, “Can I stay? I don’t need any salary.” So I joined this company, and the boss offered me an internship salary of 1.8K. On June 7, 2016, it was raining but sunny in my eyes. After three months, I finally found a job.

It was developed in JSP mode, and I was mainly responsible for providing static pages. This company is specialized in making production systems for State Grid. Many of the computers of State Grid are operating on XP system, so they need to be compatible with IE6 browser, which is nothing more than the compatibility problems of the layout. After 2 months, because of their excellent performance, the boss was not a black heart, and directly gave them a full-time job with a salary of 4.5K. Write static pages like this for a year.

In July 2017, the company received a project, which required the establishment of a wechat public account, which contains some simple functions of purchase, sale and storage, mainly for sales staff to use. I had been in the company for more than a year at that time, and I proposed to the manager to use Vue framework for development. The manager asked if he was confident that the project could be completed on time with the Vue framework. At that time, I was not sure, so I said, “Yes, I promise to finish the project on time.” The result is that it gets stuck when it comes to cross domains between the front and back ends. At that time, the back end directly said that it was the front end to solve the problem, so they had to baidu to find out the problem and begged the back end to cooperate with the configuration to solve it. Now in retrospect, the back end at that time was really unfriendly.

After a month, I worked overtime every night and weekends at home, and finally completed the project as scheduled. I expected the manager would praise me, but I was denied. I don’t blame the manager, 7 pages for 1 month, efficiency is not good. In the process of development encountered a lot of pits, no one consulted, their Baidu slowly pit filling, and back to the back end to provide static page days.

However, from the project of wechat official account, I started the stage of using Vue framework and front and back end interaction, which was a step forward in my front-end career. Since then, I began to learn THE Vue API whenever I was free, and kept looking for cases to develop. Since I only had one project experience, I could only memorize the Vue API constantly. Prepare for the interview. During this period, I changed other projects of the company to Vue development. I invited a backend to have dinner for several times and asked him to help provide interfaces, so as to forge several projects.

I began to secretly go for interviews in January 2018, when the Vue framework was still in demand in the market. I found a good job in February 2018, which was still a listed company, although it was just on the New Third Board. So after the end of the year, with the boss put forward to leave, falsely said to return home development. I joined the second company in March 2018.

To advance in your career, take the initiative to create or pursue opportunities instead of waiting for them to come your way.

Joined the second company

This company is mainly to do background management system, just entered, is to do a mall background management system, this system is developed with PHP, front-end page is developed with Vue framework mixed in the inside, also confirmed that Vue is a progressive JavaScript framework concept.

There is a drawback in the development of this system, hot update is very slow, every time to change a thing, have to refresh the page, very affect the development efficiency. Take a look at the architecture of the project and discover that each page is in PHP code where the Vue project compiles packaged JS and CSS files. Therefore, the page is divided into modules according to functions. Each module builds a Vue project independently, and changes the path assetsPublicPath of static resources to the corresponding path of the page after compilation and packaging. For example, www.xxx.com/home, then assetsPublicPath is set to /home/. Then copy and paste the code that introduces JS and CSS files into the HTML file generated by compiling and packaging into the PHP code corresponding to the page. In this way, after the front-end code separation, the hot update speed becomes faster, greatly improving the development efficiency.

I took this opportunity to apply to my supervisor for an early transfer, and the result was a month and a half in advance, with a salary of 6.5K.

Instead of complaining about productivity issues in development, take the initiative to address them. This is an opportunity to show your value.

In the following days, I worked with my supervisor to build two background management systems. During the development, I took the initiative to study the codes written by my supervisor and learned how to deal with menu function permissions, how to build the external framework of the system, how to configure routing and how to encapsulate AXIOS, etc. When a new project comes, take the initiative to tell the supervisor that I want to be independently responsible for the development of a background management system. After independently developing a background management system, I have been proficient in Vue, VUE-Router and Vuex.

Instead of working on your own code, use your free time to study code written by your colleagues and use the company’s resources to improve yourself.

A year later, I have completed the development of 4 sets of background system management. At the beginning of 2019, I saw that the company was going to develop a set of its own products, which included a series of requirements such as live video broadcasting, map application and large data screen. I recall that the 4 sets of background management systems made before were all simple functions of adding, deleting, modifying and checking. Only complex forms are difficult to deal with. So he said to his supervisor, “I want to participate in the development of a new project.” Supervisor response: “you are not also responsible for 4 sets of background management system maintenance, busy come over?” “No problem, I am familiar with those four systems, and I will work overtime to complete them when there is new demand.”

I joined the development of that platform, which has a lot of content, and learned a lot during the development process, such as: How to reasonably divide a page into components, how to reasonably interact data among sibling components, how to request and splice a large amount of track data to display on the map with the idea of async, how to broadcast multiple videos, how to develop a large data screen and so on.

Take the initiative to pursue projects at work that will help advance your career.

With the launch of that platform, I also returned to the maintenance of the original 4 sets of background management systems. It was very leisurely during this period, and there were not many new demands. When chatting with colleagues, I found that some back-end systems were developed in the development of other background management systems, even the front-end part. Although the code was not good enough, the functions basically met the business needs. At that time there was a very serious sense of crisis, the current content of the backend can be completed, then the company also needs front-end why. And listen to others say: “do the front end of the background management system, are generally to the direction of the development of the full stack.” Then I had to learn Java. I was lost for a long time.

During that time, I had no interest in work, so I spent my spare time wandering on the Internet. An Avue front-end framework came into my vision, and I found form generator, form generator and data large screen generator in it, and found that the front-end could be played in this way. Therefore, an idea came into being. Since the functions of the pages that are added, deleted, changed and examined in the background management system of the company are almost the same, why not encapsulate these pages into a component and render the page through the JSON data returned by the back end. In the JSON data, the data that the front-end page needs to render with those components is defined. You can also define the keys that the front end passes to the back end of the data and use these keys as binding values for each form item v-Model in the encapsulated component, eliminating the need to interface with the back end.

I spent three months in my spare time to develop the components. I also wrote detailed demo and usage documents. I reported these materials to my supervisor and asked him to take a project for trial use. Results The supervisor replied that there was no suitable project at present. Well, that’s pretty much rejected, and we’ll have to Mock out the data request with mock.js to continue refining the component.

At the end of 2019, I came up with a project to build a background management system for the company, with only 12 pages. I used Mock. Js to simulate data during the weekend and completed this system. I reported to the supervisor again on Monday, and the supervisor finally agreed.

Finally this set of components successfully used in the company’s project, in dealing with some simple background management system, can use this set of components for rapid development. Learn how to use Vue CLI3 to build Vue component framework, how to use NPM to publish components, slot slots, Rovide/inject these uncommon Vue API. And here are two columns from the Nuggets:

  • Vue CLI3 builds component library and releases actual combat operation with NPM
  • Vue CLI3 builds component library and implements actual combat operation as needed

If something is going to be great for your career, stick to it, even if it’s not currently recognized.

At the beginning of 2020, when the epidemic eased off, I came to the company to work and found that the director had left quietly, so I was appointed by the director as the leader of the front end. Due to the epidemic, several partners in the front group were from other places, so they directly applied for resignation, leaving only three of them. I completed the front-end work handover with the supervisor through wechat. I spent a month sorting out all the front-end projects of the company and found it was really very simple.

The next job is to be responsible for the interview recruitment, lead new people familiar with the project. At that time, due to the impact of the epidemic, the quality of new recruits was really not high. However, I still try my best to teach them, and in the process of teaching, I also comb and review the knowledge points I have mastered.

In the front post, there is no phenomenon of the church apprentice starving to death. Although the front entry is simple, it is more difficult to advance to the back. The time saved by teaching a person and sharing your work is his own, and time is the most precious.

After teaching the new staff, I arranged the project of background management system for them to maintain, and I was responsible for maintaining the complex project of the company. In the process of maintaining this project, I found that the loading speed of the first screen is very slow, which affects the user experience very much. In the optimization process, I learned to configure the Webpack. The specific optimization means can be seen in my column 🚩 how to say Vue project performance optimization (ten thousand words long).

Also publish 5 webpack columns on the Nuggets. As follows:

  • 🚩 four years front end brings you to understand the principle of lazy load routing
  • How to use externals for Webpack
  • SplitChunks for Webpack
  • Webpack loader configuration details
  • The minicsexTractPlugin for Webpack is explained in detail

Because the company’s projects are relatively simple, and they are all b-end user projects, I want to change to a C-end user company, and suddenly I want to jump ship. And because I think everyone can Vue in the interview now, so I want to use the knowledge of Vue source to increase their advantages. Therefore, in the following time, in addition to maintaining the company’s project, the rest of the time was studying Vue source code, preparing for the interview, and sharing the research results on Nuggets, such as the following 10 columns.

  • 🚩Vue source code – How do templates and data render into the final DOM
  • 🚩Vue source code – How do components render into the final DOM
  • 🚩Vue source code – How are components registered and used
  • 🚩Vue source code – How to use asynchronous components
  • 🚩Vue source – How to monitor data changes
  • 🚩Vue source code – collection of subscribers
  • 🚩Vue source code – Subscriber response
  • 🚩Vue source code – nextTick implementation principle
  • 🚩Vue source code – Collecting performance issues caused by subscribers
  • ✍Vue source code – Learn how to determine data types

Of course, during the interview, I also went out for an interview. During the interview, I found that the interviewer liked to ask you to write some common grammar. So I went back to studying this knowledge and sharing the results on nuggets, as in the following three columns.

  • “Interview confidence” – implement a deep copy
  • “Interview confidence” — handwritten call, apply, bind
  • “Interview confidence” — Fulfill a Promise

After many interviews, I have also understood the current market requirements for the front-end with more than 4 years of work experience, and I feel confident to get the offer. So he submitted his resignation to the company. Some people may ask why he resigned before the end of the year. Wait for the end of the year to resign, here can only tell you that it is better to talk about salary before looking for a job.

Joined the third company

The resignation process did not go well. After many interviews, the company also offered a large salary increase to retain me. However, the current platform could not meet the requirements of career development, so I still decided to quit. At the company last month, spent three weeks of the last week l hang your resume on zhaopin, the day has more than 40 invitation, spent a night time selection, chose eight, spent three days to the interview, received seven offers, eventually choose a company to develop products for the end user C, Although the salary offered by this company is not the highest, the product for C-terminal users has a high level of front-end, and I hope to further improve my front-end through this platform.

Outlook 2021,

At the end of 2020, I succeeded in job-hopping and joined the new company with a substantial increase in salary. 2020 May be a successful year, but it’s time to redouble your efforts in 2021. Set yourself a goal here:

  • Continue with the “Vue Source Code” series.
  • Continue the “Interview Confidence” series.
  • Open source a set of UI component library, and output corresponding columns.
  • Using Canvas technology to achieve a set of online mind mapping API, and output corresponding columns.
  • Build your own scaffolding with Webpack and Node.js and output the corresponding column.

Denver annual essay | 2020 technical way with me The campaign is under way…