Over the past decade, the front end has grown rapidly, with new technologies and standards emerging every year. “If you are not growing, then you are dying.” To maintain the status quo is the beginning of backwardness, continuous learning is the required course.

Then again, how do you learn so many skills when you have limited time and energy? In fact, the essence of technology is basic design patterns and programming ideas. Only to lay a good foundation, learning new technology will not be difficult, to “do not mistakenly cut wood”.

A quick way to advance

First, “open source projects” and “build the wheel” are my personal recommendations.

To contribute to an open source project, you must be a user of the project and have encountered problems in the process. That way, you’ll have a chance to contribute to open source projects. When a bug is encountered, not only issue, but also modify the code and submit a PR. When the PR is accepted, the contribution is complete.

In order to achieve this goal, you have to read the code of these projects. As a user of this project, it is easiest to read the code clearly and integrate it with the business. In this process, you will absorb advanced writing methods and ideas and improve quickly. After the PR is submitted, project members review your code and suggest changes, which is a very meaningful process. So how do you find a Bug in an existing open source project, or create a feature that makes sense? It still needs some background. Therefore, participating in open source project contributions is not suitable for beginners to improve their technical skills.

Let’s talk about building a wheel. This is also a good choice, but built wheels are rarely used in a production environment unless your wheels are truly unique — because “stability” is the number one priority for a project. Except for your technical Leader, no one is likely to pay attention to what advanced technologies and ideas are being used in the project.

If your company has an infrastructure department, don’t hesitate to go there. That’s where the wheels are built — and it’s mostly using native technology. Every wheel here has the potential to become an open source project. Here, the technology will be greatly improved. However, it is also a problem how to enter basic sectors if their skills are not so good. So there you have it.

What about beginners?

For Web front-end engineers, the front end consists of two things: “presentation” and “business.”

For present, the main is HTML, CSS, now everybody’s browser in parsing documents basically don’t have too big difference, so few native front-end developers to focus on the browser compatibility, here have to do is memory, don’t remember all the requirements, but at least you know what are their characteristics, They don’t panic too much when there’s a need.

For business, Javascript (ECMAScript) is used primarily. Since it is programming, you need to understand data structures, algorithms, design patterns and common programming paradigms in addition to basic syntax. These are the basic skills for “rising tall”.

My advice is to consider using frameworks and class libraries after you can simply implement your business in native languages. Because once we know the basics, using frameworks and libraries will give you an idea of what’s going on, so that when you change frameworks or libraries of the same type, you can use the same analogy. It all starts with fundamentals. So, sink your heart to cultivate the foundation is the most important.

methodology

In fact, for any “technology”, whether it is programming or repairing excavator, beginner and advanced mode are the same.

1. First understand the industry and master basic knowledge

Understanding what programming does, data structures, algorithms, design patterns, common programming paradigms, these are all things that need to be mastered. It’s a cliche, but laying the foundation is the most important thing on the way up

2. Test the cat

Try a virtual project for yourself, play it for yourself, and you’ll learn something.

3. Hands-on practice

Enter formal projects and experience real project training.

4. Sum up your experience

Step 3 and Step 4 are a circular process, and when you have enough experience, you can proceed to the next step.

5. Preach, impart knowledge and clear up doubts

When you have accumulated a certain amount of experience, don’t forget to “export”, the way is unlimited, you can share with others, you can communicate with peers. Output is the most effective way to consolidate knowledge. Writing a program is to lead an apprentice to be a Leader, to make open source contributions and play with an open source project.

6. Great doubt and confusion

Understand the rules of all the operation of the industry, think about its principle and core, put forward questions.

“Why?” “What would be better?”

7. The creator

At this stage, all the skills are up to you, and of course, at a higher level.

For programmers, perhaps a new version of the language standard?

With your mutual encouragement.

An egg

“Tao begets one, life begets two, two begets three, and three begets all things.”

This website is the one.

MDN Web Docs