Home >Web Front-end >JS Tutorial >The path to becoming a great JavaScript programmer
The growth path of a great JavaScript programmer
I think back to when I was still young, my interests and hobbies spanned various unrelated fields. I love mathematics as much as I love history. My goal is to be like the multi-talented greats of the Renaissance - excelling in multiple areas. It was a tall order—suddenly I found myself in danger of “jack of all trades and sparse of none.”
I began to consider delving into certain fields, so that at least I could become a person who is "proficient in certain fields". So what can I do to specialize in one area while still learning a lot about software development?
This article mainly outlines the techniques and resources I use to become a good JavaScript developer based on my 5 years of work experience.
Most web developers today face a common problem: they have to stay ahead of others in many different areas - from databases, to back-end architecture, to front-end user interfaces, to using good CSS knowledge to correct the user interface.
First and most important, you have to put in the effort to stand out. Although you can also pick up bits and pieces unintentionally, for example, by reading a few blog posts from time to time, and honestly, since the initial investment of time and energy required by this method is much lower, it's simpler. Such a learning model will obviously take more time than your dedicated and deliberate learning process. The solution to this dilemma is simple: read books.
Books are the ladder of human progress. Words are the tools by which we pass knowledge from generation to generation in condensed form. One of the problems with becoming a web technologist is that you have to learn when to step away from the web itself. The Internet is inherently confusing and distracting, so the first tip I would give is to read books on the subject.
For JavaScript, you can start with the following books: "JavaScript the Good Parts" is like the "Bible" in JavaScript. Although this book is a bit old, it is still the best place to start. JavaScript: the Definitive Guide is also a must-have, although you may think of it as a reference book. "Secrets of the JavaScript Ninja" by jQuery founder John Resig is also worthy of attention. In addition, you can also read e-books, which is very convenient. Many online e-books are free. In addition, although JavaScript Guide is not a book, it is deeply trusted and favored by Mozilla developers.
The next most important step is to understand the script library. Books teach you how to read the language, and libraries teach you how to apply it. There are two important things you need to do with script libraries: use them and read their source code.
For the use of libraries, you need to know the following key libraries: jQuery, Backbone, underscore, and one of React, Angular, and Ember. This doesn't mean you have to use these libraries, but any decent JavaScript developer should have at least some experience (good or bad) with these libraries.
The second most important thing to do to improve your JavaScript skills is to read the source code of these libraries. I highly recommend reading the source code of Backbone and underscore as they are very beautifully written. Reading and understanding underscore can improve your functional programming skills. Another library worth reading the source code and recommended to me by other developers is mootols (I personally don't use mootools and haven't read its source code.)
The rest of the libraries like React and Ember, etc., may be difficult to understand, but well worth it. You should also browse the source code of other libraries to see how they structure the code base and try to explore some new patterns. Other well-known libraries whose source code can be used and read include D3, highcharts, and moment.js.
The key step to becoming a good JavaScript developer is to practice, lots and lots of practice. Ideally, the focus of the exercise is not on the DOM but on the language, so be sure to have a testing tool that can run node.js. Do various trivial and extensive node.js exercises. Study coding techniques and experience different ways of using JavaScript: closures, prototypes, extended arrays (map, filter), etc. While doing the exercises, start to form the basic ideas of JavaScript in your mind.
A friend of mine, Armagan, is an excellent JavaScriptprogrammer and is also a teacher who uses "Pro JavaScript Design Patterns" for lectures , so this book is worth reading.
While learning, try to answer some questions, such as: How does prototype inheritance work? What is the definition of closure? How does the keyword meaning change? How to use apply/bind/map/filter/call? Collect a series of common source points that JavaScript developers need to face and try to explain them in your own words. Explaining these concepts to another person in written or oral form can greatly improve your skills. As you practice, try to think about “what if that were the case?” scenarios. For example, "If I use bind twice, what does "this" mean? How does jQuery ensure that this keyword points to the jQuery object instead of the global object? How does this library complete certain functions?" etc., these are Common questions you should always ask yourself.
The next thing you need to know is the EcmaScript standard. Study the latest copy of the EcmaScript standard. Also, try to learn about upcoming features in JavaScript, such as ES6 and ES7. Recently, new features such as promises, modules, generators, and comprehensions have appeared. Read the standards carefully, and you can also read professional books, such as "Understanding EcmaScript 6" by Nicholas Zakas or "Exploring JS" by Dr. Axel Rauschmayer, which may be helpful. . Learning standards from primary sources and exploring new languages is the way to go on the path to specialization.
I mentioned before that it is dangerous to use the network to understand the network, but what I want to propose now is that we can also use the network to obtain the best resources. Hacker News is a good source, but continuous tracking usually takes more time because the proportion of truly useful information is very low. Instead, just aim for a weekly digest like JavaScript weekly. Over time, you will naturally understand which libraries or technologies become more and more attractive. You can find influential JavaScript developers on Twitter. Other online resources include blogs such as Toptal Blogs, Rebecca Murphey’s blog, and Nicholas Zakas’ blog.
Another very important online resource is video conferencing and educational videos. When it comes to conferences, the quality of the JSConf series is very high. As for educational videos, I highly recommend Pluralsight because of their army of developers with experience writing high-quality courses.
Reading books contains the essence of information.
Learn about basic libraries such as jQuery, underscore, and Backbone, and read the source code.
Exercise, try to explain common JavaScript concepts, such as inheritance, in your own words. Give presentations and lectures on the above topics.
Read through the new version of the standard, using the latest added language.
Take advantage of web resources, view abstracts and blogs, as well as video conferencing and educational videos.
Repeating the above steps and participating in a large number of projects will help you quickly improve your JavaScript skills. But always keep in mind that only by paying will you be rewarded and will you be expected to become a professional. I consider myself a good JavaScript programmer, but I still have a long way to go before I can become a professional, and I still need to continue to learn and master knowledge and technology.
Finally, I wish you a happy study and hope to encourage you together!
The above is the detailed content of The path to becoming a great JavaScript programmer. For more information, please follow other related articles on the PHP Chinese website!