appetizers

During interviews, candidates are often asked, “Why do you want to pursue a front-end career?” “Especially if your resume has been in a different position, or even a different industry, and then moved to a front end role, it makes the interviewer curious. I’ve been asked this question, and I’ve been asked this question. Most of the answers can be summarized as: “interest”, but also a small part of the students will have the following answers: “the front end is better than other positions to enter”, “the front end is very hot now, make a lot of money” and so on…

Of course, if other conditions are basically the same and HC is limited, I will give priority to students who are interested in it, because they will have more continuous motivation to continue their study.

But why do interviewers ask such questions?

Well, it depends on which side you’re asked the question on, so the first side is probably satisfying your curiosity for the most part, and the later on, for the most part, The interviewer may want to hear about your career plan or understanding. The answer will be varied. Of course, most of the time it will still be “interested” 😝😝😝

Tell me about myself (gossip)

In my internship, I did on-site implementation (partial technical operation and maintenance), became a regular employee of Java development, and then worked as a front-end engineer until now. Because of such “physique”, I have virtually acquired the passive skills of “why do I switch to the front-end”.

It has been nearly four years since I moved to the front end. My understanding of the front end has changed a lot from being ignorant at the beginning to now, and MY career plan is becoming clearer and clearer (marry Bai Fumei and walk towards the peak of life!). .

When I was in college, I was more interested in things with visual impact. Later, I felt that writing things realized by HTML + CSS + JS could bring me a sense of achievement more than writing shell, SQL and Java. Then, after 1.5 years of Java, I moved to the front end without turning back with my incomplete front end knowledge system. From then on, I really appreciated the charm of the front end and got in touch with the formal front end engineering. Since then, I have been unable to extricated myself (although compared with The Big god, I grew slowly)

The first two years of career planning is not planning (unconscious), is the front-end system of knowledge, a variety of sound, of course, this thing is still going on, and then there are the obsession with engineering, began to feel very mysterious, unattainable, when the knowledge accumulation to a certain case, write some “toys” nature of the tool, also had some of their own cognitive slowly, Later, I designed a set of front-end engineering program pandolajs, which aims to provide an immersive development experience for front-end students. This is what I will always maintain and practice my theory in my spare time at present and in the future.

At the beginning, Pandolajs wanted to build engineering around React, but many things were practiced in the company’s project. However, as I only maintained them in my spare time, mainly because I was lazy, I abstracted them from the actual project and opened source, so the progress of react engineering was relatively slow.

Later, the company started to develop wechat applets. In order to provide a set of efficient applets development workflow, we implemented pandolajs based applets scaffolding pandola-Boilerplate-wechat. If you are interested, you can have a look at my other article, which is a small and beautiful applets scaffolding. Let you more smooth development of small program due to the company practice for a long time, so it is more smooth to use, is now I think a better work.

In the practice of Pandolajs, I have a deeper understanding of engineering (later collation), and I have a clearer plan for my career development. Of course, I have also found many shortcomings in the initial design of Pandolajs. So currently all packages in this package are in 0.x. Recently, after referring to other open source solutions, we are working on the design of 1.0 solution to completely rebuild the previous architecture (strictly speaking, there is no architecture in 0.x) to make Pandolajs more scalable and do things that were not done thoroughly before. Of course, scaffolding in 0.x will also provide a convenient compatibility solution.

My plan

Running away (advertising warm-up), back to continue to talk about planning, in practice, let me more clear about my career planning.

I have always believed in the following creed: So the original intention of Pandolajs is to improve the development efficiency, to support the business with lower cost and faster pace. At the beginning, I just wanted to build an “assembly line”, but now I want to build an ecosystem around this “assembly line”. Because just is a “line” can not complete low cost efficient support business, but these two things have completely is not an order of magnitude, “line” may be experienced engineers can finish, but an ecological, you need to have a “powerful” heart (kernel), at least make extensibility, That is, perfect API for secondary development. Some schemes on the market at present provide plug-in capability or middleware capability. To achieve reasonable design, it is not only rich experience, but also need more professional design capability and more perfect knowledge system.

To achieve the above Level, the first step I need to do is to establish a more perfect and lower-level knowledge system, so the plan for the next two years is as follows:

  1. Learn more about compilation principles
  2. Enhance data structure and algorithm capabilities

To be clear, do not stick to the upper DSL learning, as much as possible to cultivate their own “internal skills”. I will update my study plan in the github warehouse, Daily. I will summarize this week and plan next week on Sunday.

Whether it’s engineering or ecosphere, the goal is low cost, fast pace. Low cost is to provide a self-sustaining platform for the operation of the business, in other words, to make yourself unemployed, fast pace is to enrich the materials in the platform (components, function modules, apis, etc.).

This can be achieved simply by using existing upper-layer applications (high-level languages, frameworks…). Is not enough, we must have the ability to invent the upper application, compiler principle provides the possibility and inspiration, in-depth study can make it possible.

Complex underlying implementation, without deep data structure and algorithm foundation can not achieve efficient and usable system, this needless to say.

In order to achieve these goals and participate in their construction, these skills have to be handy skills