The growth path of an excellent Web front-end engineer and the development path of web Front-end
I have two front-end programmers:
First, I have been asking: How to learn the frontend?
In the second case, the front-end is very simple.
I have never heard of anyone asking:How to be an excellent or even excellent WEB front-end engineer.
What is: front-end engineers?
A front-end engineer is also called a Web Front-end development engineer. With the development of web, he is subdivided into different industries.
The Web Front-end development technology mainly includes three elements: HTML, CSS, and JavaScript!
It requires front-end development engineers not only to master the basicWeb Front-end development technology, website performance optimization, SEO, and server-side basic knowledge, and learn to use various tools for auxiliary development and theoretical knowledge, including code maintainability, component usability, hierarchical semantic templates, and browser hierarchical support.
With the abbreviation of Rich Internet Applications in the past two or three years, the Chinese meaning is: the popularity and popularization of Rich Internet Applications, such as Flash/Flex, silverlight, XML, and server-side languages (PHP, ASP. NET, JSP, Python) and other languages, front-end development engineers also need to master.
The front-end development entry threshold is actually very low. Compared with the learning curve of the server-side language that is slow first and then fast, the learning curve of the front-end development is fast first and then slow. Front-end UI framework that improves development efficiency by 500%
HTML is not even a language. It is just a simple markup language!
CSS is just a non-typed style modifier language. Of course, it can barely count as a weak language.
The basic part of Javascript is relatively difficult to start.
Because of this, there are many self-taught peers in the front-end development field, but most people are stuck in the use phase, because the learning curve behind is becoming steep, every step forward is hard.
The Web Front-end technology has some advantages and disadvantages, and the knowledge points are too trivial. The game of technical values is also difficult, that is, the knowledge structure of the global system is not systematic, these factors also objectively influence the accumulation of "Orthodox" front-end technology! In addition, all kinds of "tricks and tricks" are abused, and the inheritance of front-end technical knowledge is too extensive. New people are difficult to understand and grasp the primary and secondary issues. Therefore, in the front-end technology field, it is important to find a reliable senior engineer for yourself, covering projects, teams, companies, and even salaries.
On the other hand, as mentioned above, front-end development is a very new profession, and the research on some norms and best practices is in the exploratory stage.
There are always new inspirations and technologies that flash up from time to time, such as CSS sprite, negative margin layout, and grid layout;
Various JavaScript frameworks emerge one after another, which injects great vitality into the entire front-end development field;
Browser Wars are getting increasingly fierce, and cross-browser compatibility solutions are still varied.
To meet the "high maintainability" requirements, you need to have a deeper and more systematic understanding of the front-end knowledge so that you can create a good front-end architecture and ensure the quality of code.
With the rapid development of handheld devices, the rapid development of HTML5 industry standards has been promoted. The web technology has not been significantly updated for about 10 years!
At present, the market needs excellent and senior front-end engineers.
On the one hand, it is because this is a relatively new sub-industry, and most front-end programmers learn part of it by themselves, the knowledge structure is not systematic; on the other hand, there is no such course in the university, the most important thing is: there are no specialized front-end engineer training courses for training institutions such as Peking University qingbird !!
Wu Liang said in the preface to "Return of the JavaScript King": Most Programmers think that Javascript is too simple and only suitable for some fancy web pages, so they do not want to spend their energy learning, or think you can master it without learning.
In fact, whether a language is a scripting language is often determined by her design goals. simplicity and complexity are not the criteria for distinguishing scripting and non-scripting languages. Front-end UI framework that improves development efficiency by 500%
In fact, Javascript is a rather complex language in scripting. Its complexity is measured in non-scripting languages!
Javascript is not as complex as Perl and Python!
How to Learn front-end knowledge?
We live in a universe full of rules. Social Order runs according to rules. Almost all computer languages are a collection of rules. Computer predecessors define rules, rules constrain us, and we use rules to control data.Most of the time, reasonable control over data comes from your understanding of rules.
To learn HTML, CSS should follow the book carefully and carefully. Then we need to do a lot of exercises, and do a variety of regular, strange, and massive layout exercises to bundle and understand our own knowledge.
To learn Javascript, you must first know what the language can do, what it cannot do, what it is good at, and what it is not good!
If you only want to be a common front-end programmer, you only need to remember most Javascript Functions and do some exercises.
If you want to learn more about Javascript, you need to understand the principle and mechanism of Javascript. They need to know their origins and have a deep understanding of the object-based nature of Javascript.
You also need to have a deep understanding of the Javascript behavior and features under the browser host.
For historical reasons, Javascript has been ignored, a bit like it was adopted! Therefore, he has many disadvantages, such as inconsistent behavior in various host environments, memory overflow, and low execution efficiency.
As a good front-end engineer, you also need to have a deep understanding of and learn how to handle Javascript defects.
So what are the conditions for an excellent or even excellent front-end development engineer??
First, excellent Web front-end development engineers must have both breadth and depth in the Knowledge System! It is difficult to achieve these two points. Therefore, it is difficult for many large companies to recruit ideal front-end development engineers even with high salaries. Technology is neither black nor white, only right or wrong, and skill is wise.
In the past, a little Photoshop and Dreamweaver operations were performed to create webpages.
At present, it is far from enough to grasp this. In terms of development difficulty and development method, the current website page creation is closer to the traditional website background development. Therefore, it is no longer called Web page creation, but Web Front-end development.
Web Front-end development is becoming more and more important in product development, and professional front-end engineers are required to do well.
Web Front-end development is a special task. It covers a wide range of knowledge, including both specific technologies and abstract concepts. Simply put, its main function is to better present the website interface to users.
Second, excellent Web front-end development engineers should be able to learn quickly. Web is developing rapidly, and even these technologies are changing almost every day! Without the ability to quickly learn, you will not be able to keep up with the pace of Web development. Front-end engineers must constantly improve themselves and learn new technologies and models. They cannot adapt to the future simply by relying on today's knowledge. The future of the Web will be quite different from today, and the work of front-end engineers is to figure out how to reflect this earth-shaking change through their Web applications.
Speaking of this, I think of a saying from a master: for new users, new technologies are new technologies.
For a master, new technologies are just an extension of old technologies. Front-end UI framework that improves development efficiency by 500%
Furthermore, excellent front-end engineers must have good communication skills, because front-end engineers must meet the needs of at least four types of customers.
1,Product Manager. These are groups of people responsible for planning applications. They will come up with a lot of new, strange, or even impossible applications. Generally, product managers are pursuing a wide range of features.
2,UI Designer. These people are responsible for visual design and interactive simulation of the application. They care about what users are sensitive to, what interactions they have, and how they can be used as a whole. In general, the UI Designer Hou tends to be fluent, beautiful, but not easy to implement, and he is often dissatisfied with the front-end engineer's 1px error.
3,Project Manager. These people are responsible for running and maintaining the application. The main focus of project management is the normal running time, the time when the application is always available, the performance and the deadline. The goal of a project manager is to keep things as simple as possible and not introduce new problems when upgrading and updating.
4,End User. It refers to the main consumer of the application. Although front-end engineers do not often deal with end users, their feedback is crucial. What end users require most is personal functions and the functions of competitive products.
Nicholas C. Zakas, a yui development engineer at Yahoo, believes that:
Front-end engineers are the most complex jobs in the computer science field. The vast majority of traditional programming ideas are no longer applicable. In order to use them on multiple platforms, many technologies have borrowed a lot of soft science knowledge and ideas. The expertise required to become an excellent front-end engineer involves a broad and complex field, which will become more complex because of the involvement of all parties you must ultimately serve. Professional technology can lead you to become a front-end engineer. However, only Applications created using this technology and the ability to work with others can truly make you excellent.
------------
About books:
The books in HTML and CSS categories are all similar. Search for many recommendations on Dangdang and zhuoyue. If you feel like you have learned it, you can take a look at "CSS zen garden", which is very influential.
Javascript books are recommended to be written by foreigners. The authors of many domestic Javascript books do not have a thorough understanding of the Javascript language.
Several Javascript books are recommended here:
Beginner's books:
JavaScript Advanced Programming: A very complete and classic entry-level book, known as one of the JavaScript Bibles, details are very detailed, the latest version of the third edition has been released, it is recommended to purchase.
Return of the King of JavaScriptWritten by a Web Development Project Manager of Baidu, the entry-level tutorials for beginners are also good.
Intermediate books:
JavaScript authoritative guide: Another JavaScript Bible provides a detailed explanation. It is an intermediate reader and is recommended for purchase.
JavaScript. The. Good. Parts: Yahoo! It is strongly recommended to read.
High-performance JavaScript: Another masterpiece of Nicholas C. Zakas, author of JavaScript advanced programming.
Eloquent JavaScript: This book contains more than 200 pages. It is very short. It uses several classic examples (Aunt Emily's cat, miserable hermit, simulated ecosystem, and box pushing games) to introduce all aspects of JavaScript knowledge and application methods.
Advanced books:
JavaScript Patterns: The book introduces various classic models, such as constructor, Singleton, and factory. It is worth learning.
Pro. JavaScript. Design. Patterns: Apress published a book on the JavaScript design pattern, which is very good.
Developing JavaScript Web Applications: A good book for building rich applications, in-depth explanation of the MVC model, and some process libraries.
Developing Large Web Applications: Not only does the introduction of JavaScript, but also CSS and HTML, but the content of the introduction is very good. It really takes into account a large Web program, it is worth reading how to design the JavaScript architecture. Front-end UI framework that improves development efficiency by 500%
To be an excellent front-end engineer, we still need to continue our efforts:High-performance website construction guide, Yahoo engineer's website performance optimization suggestions, YSLOW performance optimization suggestions, website reconstruction, Web development agility, and jQuery library, front-end framework, HTML5, and CSS3"... This requires in-depth research!
Everything starts with hard! If you can go to this realm, you can continue the rest of the journey.
People often say that they do not want to be a tailor's driver. They are not good chefs.
If you simply want to learn the front-end programming language, but do not understand the back-end programming language (PHP, ASP. NET, JSP, Python), it cannot be regarded as a good front-end engineer.
The road to becoming an excellent front-end engineer is full of sweat and hard work..
How can we become an excellent Web front-end development engineer?
For your reference only. Yesterday, I took charge of Yahoo! During an interview organized by the company, I was deeply touched by the candidate's questions. I have to say that I am quite disappointed with most of the questions raised by the applicants. I want to hear some! Passionate work problems. Among the applicants yesterday, only one person thought the best. The person asked me, "How do you think you can become a good front-end engineer ?" I think it is necessary to discuss this question from the interview room. First, front-end engineers must master HTML, CSS, and JavaScript. You can only understand one or two of them. You must be familiar with these three languages. It doesn't mean that you must be proficient in these three languages, but you must at least be able to use them to complete most tasks without frequently asking for help from others. Excellent front-end engineers should be able to learn quickly. The technology that promotes Web development is not static, right? I can even say that these technologies are changing almost every day. Without the ability to learn quickly, you will not be able to keep up with the pace of Web development. You must constantly improve yourself and learn new technologies and models. You cannot adapt to the future by relying solely on today's knowledge. The future of the Web will be quite different from today, and your job is to figure out how to reflect this earth-shaking change through your Web applications. Many branches of computer science are actually nothing more than science. However, the front-end is not a science, but art. Artists must not only master the techniques for earning a living, but also know how to use them. The solution to the same problem applies in this case, and may not apply in another case. For the front-end of Web applications, there are often many solutions to the same problem. No solution is wrong, but some of them are more suitable. Good front-end engineers should know under what circumstances which solution is more appropriate, and under what circumstances should they reselect. Excellent front-end engineers must have good communication skills, because your work is closely related to the work of many people. In any case, front-end engineers must meet the requirements of at least four types of customers. Product managers-these are groups of people responsible for planning applications. They can imagine how to use applications to meet user needs and how to make money (hopefully) through their design model ). In general, these people are pursuing a wealth of features. UI designers-these people are responsible for visual design and interaction simulation of applications. They care about what users are sensitive to, what interactions they have, and how they can be used as a whole. They are keen on FLUENT and beautiful user interfaces that are not easy to implement. Project Manager-these people are responsible for running and maintaining applications. The main focus of project management is nothing more than the normal running time (uptime)-the time, performance, and deadline when the application is always available. The goal of a project manager is to keep things as simple as possible and not introduce new problems when upgrading and updating. End users-of course, they are the main consumers of applications. Although we don't often deal with end users, their feedback is crucial; applications that no one wants to use are worthless. What end users require most is personal functions and the functions of competitive products. So who should front-end engineers be most concerned about? The answer is all four groups of people. Good front-end engineers must know how to balance the needs and expectations of these four groups of people, and then come up with the best solution. As front-end engineers are at the intersection of the four groups of people, the importance of their communication capabilities is self-evident. If a really cool new feature affects front-end performance and must be simplified, how can you explain it to the product manager? For another example, if a design is not changed back to the original solution, it may have a negative impact on the application. How can you convince the UI Designer? As a front-end engineer, you must understand where each type of thinking comes from, and come up with solutions that all parties can accept. In a sense, a good front-end engineer is like an ambassador who needs to handle every day's work with the attitude of a diplomat. I warn new front-end engineers not to accept a task before making an assessment. You must always remember that you must first understand what others want you to do, and cannot simply accept such things as "this function has a problem ".
How to become a good web front-end engineer
The road to program design is far away from the session, Yu chenfeng and return. ---- Jeffrey James I met two front-end programmers: the first one is always asking: How to learn the front-end? In the second case, the front-end is very simple. I have never heard of anyone asking how to be an excellent or even excellent WEB front-end engineer. What is: front-end engineers? A front-end engineer is also called a Web Front-end development engineer. With the development of web, he is subdivided into different industries. The Web Front-end development technology mainly includes three elements: HTML, CSS, and JavaScript! It requires front-end development engineers not only to master the basic Web Front-end development technology, website performance optimization, SEO and basic knowledge on the server side, in addition, you must learn to use various tools to assist development and theoretical knowledge, including code maintainability, component usability, hierarchical semantic templates, and browser hierarchical support. With the abbreviation of Rich Internet Applications in the past two or three years, the Chinese meaning is: the popularity and popularization of Rich Internet Applications, such as Flash/Flex, silverlight, XML, and server-side languages (PHP, ASP. NET, JSP, Python) and other languages, front-end development engineers also need to master. The front-end development entry threshold is actually very low. Compared with the learning curve of the server-side language that is slow first and then fast, the learning curve of the front-end development is fast first and then slow. HTML is not even a language. It is just a simple markup language! CSS is just a non-typed style modifier language. Of course, it can barely count as a weak language. The basic part of Javascript is relatively difficult to start. Because of this, there are many self-taught peers in the front-end development field, but most people are stuck in the use phase, because the learning curve behind is becoming steep, every step forward is hard. The Web Front-end technology has some advantages and disadvantages, and the knowledge points are too trivial. The game of technical values is also difficult, that is, the knowledge structure of the global system is not systematic, these factors also objectively influence the accumulation of "Orthodox" front-end technology! In addition, all kinds of "tricks and tricks" are abused, and the inheritance of front-end technical knowledge is too extensive. New people are difficult to understand and grasp the primary and secondary issues. Therefore, in the front-end technology field, it is important to find a reliable senior for yourself, covering projects, teams, companies, and even salaries. On the other hand, as mentioned above, front-end development is a very new profession, and the research on some norms and best practices is in the exploratory stage. There are always new inspirations and technologies emerging from time to time, such as CSS sprite, negative margin layout, and raster layout. Various JavaScript frameworks emerge one after another, injecting great vitality into the front-end development field; browser Wars are getting increasingly fierce, and cross-browser compatibility solutions are still varied. To meet the "high maintainability" requirements, you need to have a deeper and more systematic understanding of the front-end knowledge so that you can create a good front-end architecture and ensure the quality of code. With the rapid development of handheld devices, the rapid development of HTML5 industry standards has been promoted. The web technology has not been significantly updated for about 10 years! At present, the market needs excellent and senior front-end engineers. On the one hand, it is because this is a relatively new sub-industry, and most front-end programmers learn part of it by themselves, the knowledge structure is not systematic; on the other hand, there is no such course in the university, the most important thing is: there are no specialized front-end engineer training courses for training institutions such as Peking University qingbird !! Wu Liang said in the preface to "Return of the JavaScript King": Most Programmers think that Javascript is too simple and only suitable for some fancy web pages, so they do not want to spend their energy learning, or think you can master it without learning. In fact, whether a language is a scripting language is often determined by her design goals. simplicity and complexity are not the criteria for distinguishing scripting and non-scripting languages. In fact, Javascript is a rather complex language in scripting. Its complexity is measured in non-scripting languages! Javascript is not as complex as Perl and Python! How to Learn front-end knowledge? We live in a universe full of rules. The social order runs according to the rules... the remaining full text>