knot

One of the things that always bothered me was why I felt inferior as a front-end engineer. The main reason, shameful but true, is “low confidence.”

For me, this knot arises from two things:

  1. The front end is difficult to create direct revenue for the company, and it is difficult to gain the recognition of the company
  2. There is little history of front-end engineering and a lack of a mature framework to guide us in how to organize code structure and how to layer architecture. Compared to the back end, the front end project is a little thin.

A framework should be something like Angular, which is not only a runtime library but also provides a good set of engineering paradigms.

Basic confidence

Everyone is unsure of themselves at some point, and often we build our confidence by imitating others.

As far as I’m concerned, the general thinness of front-end projects is my biggest problem. Therefore, I will imitate the back end, learn OOP, MVC hierarchy, IOC, AOP, and even the specifications in Alibaba Java Development Manual, learn from previous experience, gradually form my own understanding of front-end engineering, and build up basic confidence.

One shortcut: Learn the Angular paradigm directly!

Real confidence

However, blindly imitate others, not only can not bring transcendence, but will only let us live in the shadow of others.

In fact, in the field of technology is the same, if blindly imitate the back end, and forget what the front end should focus on, then it is very likely to fall into a kind of, know everything but no one can master the dilemma, this kind of confidence is vulnerable.

After the front end imitates the back end and forms its own engineering system, it should focus more on the field of “human-computer interaction”. We should know that this system of HTML+CSS+JS is not only used for making websites, but also for human-computer interaction, such as characters, graphics, audio, video, VR and voice recognition. These web-based human-computer interaction are all dependent on HTML5 specifications.

In the future, more and more fields will be connected to the Web ecosystem, such as Native, AI, IOT, VR and so on. The Web has infinite possibilities, and all of these are inseparable from HTML.

Therefore, as front-end engineers, we should really put a lot of energy into the research should be HTML5, CSS standards, specifications. It is the hard power of our front-end engineers to realize the ultimate human-computer interaction function on the browser-based human-computer interaction device.

Only hard power can bring real confidence.

Should we go big

My personal opinion is: look at your position.

No matter what kind of work, you need to have your own area of expertise. Like the professional backend, they will not only write engineering code, but also go deep into THE direction of OLTP and OLAP, and then become the core competitiveness of the company, which is difficult to be replaced. However, although the big front end has taken a part of the job of the client and the back end, its work content still stays at the level of writing engineering code, which is difficult to form its core competitiveness and is relatively strong.

  • If you want to work for a company that is rapidly iterating, and you want to do something yourself and be the leader of a project, learn Node and move to the big front end.

  • If you want to go to a company with mature products, just want to focus on a technical field, want to become a part of the core competitiveness of the company, then learn less Node, learn more about the various specifications and standards of Web ecology.