Thoughts on reading the great God article in winter

Source: Internet
Author: User
Tags list of attributes

Recently, on the microblog saw a winter great god of an article, very recognition, so write down what they feel useful:

I think that the front-end development is mainly in two aspects, part is "ability", part is "knowledge". My personal point of view, capacity accounted for 80%, knowledge accounted for 20%.

The latest out of the angular, React, ES2015, in fact, all in the knowledge, knowledge is divided into two parts, part I call it standard, it is relatively stable, very few will appear a standard overturned things. Another part is the technology, like the JQ, react these frameworks, such as MVC, flux these architecture things, these things are dominated by various companies, change very fast, you see grunt development not long, gulp to challenge him, and then have browserify, Webpack these things.

And I think the ability to focus is very stable, I think the ability is three pieces: programming ability, architectural ability, engineering ability.

Programming ability, is the ability to solve problems with code, the more you have the ability to program, you can solve the more complex problems, subdivision and debugging, algorithm, data structure, OS principles and other support, you can solve all kinds of trouble problems.

Architectural ability, is to solve the problem of code size, when a system is complex enough, you will write each piece, can solve every problem, you can handle the entire system, which requires architectural capabilities, architectural capabilities include a number of awareness, such as decoupling, interface isolation, also contains the understanding of business building abstract model, there are some common patterns, such as the classic MVC, and design level, object-oriented, design patterns and so on.

The final engineering ability, is to solve the problem of collaboration, when the system is larger, light on a person, there is no way to complete, how to ensure that a few experts can cooperate well with each other? How to ensure that the lowest level of people in the project is not dragged down? This engineering construction, often across multiple business, to report the relationship on the team to do. Including front-end decoupling, modularity, quality assurance, code style, and more.

In fact, not ugly out, these three items, in fact, there are sequential, low-grade, small team, programming ability to deal with a, the more senior front-end, the larger the company and the team, the more the need for the skills behind.

Let's talk about the study of knowledge in detail.

For knowledge, I have always had a point of view, called Ningquewulan, so my goal of knowledge learning, understood as two points, one: accurate, two: comprehensive.

Learning knowledge, if you can do these two points, then you in the future to make technical decisions in business, when you face the interviewer technical issues, confidence and you only see the fur is completely different.

How to do all-round: to establish their own knowledge system.

The first step is to find clues.

You need to understand a knowledge, such as I want to learn the API of the Web platform, of course, you can find a book to see what others have written, but I do not like to do so.

I am in college, learn the front-end, in order to find an ID and name of the difference, had to borrow more than 10 books, compared to see, at that time, is really no one told me, what book is better. So I summarize good knowledge to others, the first reaction is to question, do not believe. So I recommend, find some more accurate. For the Web Platform API, I use reflection:

The list of attributes given in the browser is not deceptive, and with this as a clue, I am confident.

It is also possible to make the data more suitable , as well as some appendices to the standard documentation, and a structure definition in the source code.

The second step is to establish a connection.

For example, look at the following DOM properties:

Here, the left column is the operation of node, the right column is the operation element, it has a certain correspondence.

The third step is the classification.

The fourth step is to trace the trace.

When I have the concept of a knowledge system, I need to confirm its accuracy, a lot of knowledge, in the community, there will be a lot of controversy, who should believe, this is a problem. And my answer is to go back and find the initial discussion and definition.

So this retrospective process can help us really understand the right and wrong.

In addition to the combination of wiki-google academic search, there are a number of mailing lists and GitHub submission histories that are well suited to verifying the history of some concepts and techniques.

Finally, the process of building a knowledge system, which I am talking about, is to constantly accept new knowledge, challenge and question the original system, overthrow redevelopment, and every cycle, your knowledge system becomes stronger and stronger.

Part of the share below is about capacity development.

Capacity-building is actually very important, but in fact, there are few things to say about it. Only two points: teaching materials, training.

Knowledge learning, I am advocating the establishment of their own system, do not believe the book, but the ability to train, my views on the contrary, I think the system of ability, it is difficult to build their own, the need for teaching materials to guide. This is determined by the complexity and pace of change.

To cultivate the ability, we need to find classical textbooks to learn, like the introduction of algorithms, the C + + programming language These classics, decades are not outdated.

Notice I used the textbook instead of the book.

The biggest difference between textbooks and books is that there are no exercises.

In my opinion, the content of the book can be difficult to read two books a week, but the textbook must not be, the textbook must take a few months, while reading and doing exercises.

So I talked about training.

In fact, there is a fact that, after work, only a few people can still do training, such as my own programming ability, I consciously work 7, 8 years, almost no progress.

Training should be systematic (need teaching material), active, these two characteristics indispensable, some people will feel, I really work very hard, every day to overtime, but in fact, any passive pain, can not bring progress, your pain is likely to bring more income to the boss.

If you're in trouble, you can choose to train yourself to improve yourself, but for most people, you might be more likely to choose a workaround: Get into a habit and make your work more challenging.

This thing actually has a lot of theories, the more famous is the psychological comfort area, the study area and the panic area that Noel Tichy put forward. Choose a job that is challenging for you and solve the problem squarely.

The technology circle is a joke, saying a person, working for three years, but only a year of experience, because the next two years are repeating the first year of work.

So what we have to do is never repeat the work, when you feel the job now, more and more comfortable, more and more lack of risk, it should arouse vigilance.

Although training is a very difficult thing, in fact, we do not have to worry too much, although all the "10,000-hour training" of the speech, now the major companies of the recruitment threshold, in my opinion should be stuck in the hundreds of-hour training level. So I want to say, 10,000 hours too long, seize. Hope to see everyone become a better front-end, to do better themselves.

Original address:

http://mp.weixin.qq.com/s?__biz=MzIzMzEzODYwOA==&mid=416695997&idx=1&sn= F57f073bcb3a9559f0575d0a7584a246&scene=2&srcid=0322wnbbxrlm1j1txpnszmx2&location=35

It's very good, study hard.

Thoughts on reading the great God article in winter

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.