This article is from the 100offer team original, part of the content translated from: Why can ' t we find Front End developers?
The lack of front-end engineers has almost spread to the entire Internet industry, from start-ups to listed companies and even giants, the problem exists. Yes, excellent front-end engineers are almost as rare as pandas.
Every day, the 100offer HR group is not a reliable front-end engineer in the Spit slot. To be honest with these needs, 100offer is powerless: in the short-supply front-end recruitment market, excellent front-end engineer is the right side of the voice.
In foreign countries, the front-end engineers like the demand is strong, in short supply of fragrant bobo.
For example, the position of the thousands of sites crawled by http:// indeed.com shows that the current front-end hot jobs-"html5" is the fastest-growing development position, ranking first in all development positions , MongoDB and IOS followed closely to the second and third.
HTML5 can be said to be the hottest front-end post, with two bursts of growth in 2010 and the end of 2014, and now requires even more jobs in the US than iOS.
Excellent front-end engineers on the market are relatively missing, is a worldwide problem.
reason one: The front end is a relatively new area, and today's web requirements require more engineers to supply
Many people may think of front-end development and web development as similar, and web development has a history of more than more than 20 years, so the front end is not a new area. However, the concept of front-end engineers "Interface technology implementation and user experience as a professional work area", is undoubtedly very new. About a few years ago, the technology of front-end development grew rapidly, as shown in:
Visual growth trends for front-end engineers in the past few years by Google Trends
At least 15 years ago, the resources required for visual design and technology implementation of the Web were evenly distributed. With the development of the website-not only is the website a landing page, the demand for engineering resources is becoming more and more obvious. People began to specialize in website-specific JS, backend technology, UX, database, and even system design.
Today, a WEB application, like Airbnb/facebook/quora, invests much more engineering resources than design resources . In other words, the visual design of Web pages today is faster than technology implementations, so today's web requirements require more engineers to supply.
Now, a qualified front-end engineer must be interested in visual design (or be happy to be a masochist).
Obviously, to handle a large number of WEB application requirements, technical tasks need to be categorized so that multiple people can simultaneously process site requests. In fact, it is impossible to solve all the technical details quickly.
Now there is a class of people who are dealing with all the problems of a WEB application on their own, the "full stack engineer", but the excellent all-stack engineers are as rare as the giant pandas.
Now, a start-up company wants to succeed by covering almost all the technical aspects of a WEB application: Front end, back office, DBA, operations, and so on. Although there are already some services that allow enterprises to purchase the front-end modules and components of landing pages, if you want to create some real Web applications, there is no other way than to help front-end engineers, just as you want to create a brand you can not go around and ask a designer.
Two reasons: The front end, there is widespread misunderstanding, in fact, the front end is not simple
Most people think that front-end development is a "simpler technology than other technologies", and the front-end engineers in their minds work like this:
- Put Photoshop files, pictures, or wireframe into a Web page;
- Occasionally design Photoshop files, pictures, or wireframe;
- With JS programming, for the Web page animation, transition effect;
- Programming with HTML and CSS to determine the content and form of a Web page.
In fact, the front-end engineers are doing:
- Create a visual language between designers and engineers;
- A visual design that defines a set of components that represent content, branding, and functionality;
- Set the bottom line for conventions, frameworks, requirements, visual languages and specifications for WEB applications;
- Defines the scope of a WEB application's device, browser, screen, animation;
- Develop a quality assurance guide to ensure brand loyalty, code quality, product standards;
- Set the appropriate line spacing, font, title, icon, margin, padding, and so on for the WEB application;
- Set up multiple resolution images for WEB applications, device-based entity models, while maintaining design guidelines;
- Tag Web applications with account semantics, accessibility, SEO, schemas, microformats;
- Connect APIs with a friendly, low-consumption, device-and client-aware way to get content;
- Develop client-side code to display smooth animations, transitions, lazy loads, interactions, application workflows, and most of the time to consider progressive and backward-compatible standards;
- Secure back-end connections, take cross-site resource sharing (CORS) programs into consideration, and prevent cross-Web scripting (XSS) and cross-site request forgery (CSRF);
- Most importantly, despite strict deadlines, stakeholder requirements, and equipment constraints, it is always "customer first", both now and in the future.
To achieve these goals, front-end engineers use a variety of tools, from visualization to programming, sometimes to take care of the market, UX, content, and more.
reason three: The presence of a lot of bad front-end engineers disrupts the market
This is perhaps the most obvious reason why it is difficult to recruit excellent front-end engineers. Because the front-end engineer's entry threshold is very low, JS, CSS, HTML is not difficult to get started with the language, it seems that just a little time, regardless of who, can be online tutorials or books to get started. Right, the front-end engineer market is being ruined by these little guys.
Poor front-end engineer:
- javascript class library is messed up, doesn't know JavaScript by itself, and everywhere uses jQuery;
- abuse JavaScript plugin, look at the other people's Code to use, for example;
- Don't look at the requirements, do not compare and test, put CSS The framework is added to the project, but only 5% of the features are used,
- If you add a CSS framework, the site can become "responsive", Or the response is like some small seasoning, and can be added to a Web application,
-
- The CSS you write does not have any specification standards, no preprocessor, and no best practices. The CSS code is filled with overly-used selectors, IDs, magical numbers, and!important,
- No concern for code performance and memory leaks (what is really The memory leak of the is unclear), and the code is not tested for performance;
- There is no metric for the product, or "on my Computer/browser/ The mobile device can work "as the indicator;
-
You know, getting started is easy to master, and the basics of computers and software are important for you to use JS or browser programming. The web is probably one of the most influential platforms and environments where the programs that are executed must be treated with care. a good front-end engineer not only considers web technology and language, but also understands all the different components, systems, and concepts .
Top-level front-end engineers need the experience and best practices ( This is the market's most needed front end ):
- Understand DNS resolution, make full use of CDN, use multiple domain names to complete resource requests to shorten load time;
- Set HTTP Headers (Expires, Cache-control, if-modified-since);
- Follow all the rules given by Steve Souders (High performance Websites)
- Know how to solve all the problems displayed by Pagespeed, YSlow, Chrome dev Tools Audit, chrome dev tools Timeline;
- Know what tasks should be placed on the server side, what tasks should be placed on the client;
- Know how to use caching, DNS prefetching and resource preload techniques;
- Proficient in JavaScript, know when to write their own frame or code, the pros and cons to distinguish;
- Proficient in using modern MVC JavaScript frameworks (such as AngularJS emberjs React, etc.), graphics libraries (D3, snapsvg, etc.), DOM Operations class libraries (JQuery, Zepto, etc.), lazy loading or module management libraries (e.g. Require JS, CommonJS, etc.), task invocation tools (such as Grunt Gulp, etc.), package management tools (Bower Componentjs), and test tools (protractor, Selenium, etc.);
- Master the image format, the advantages of each format, the applicable scene; know the picture optimization techniques and loading strategies (sprite, lazy loading, cache refresh, and PNG interleaving);
- Familiar with CSS standard, the latest conversion tool Active strategy specification (such as BEM, SMACSS, OOCSS, etc.);
- JavaScript's computer Science (memory management, single-process features, garbage collection algorithms, timers, scopes, elevation, and design patterns).
In other words, if you are proficient in html+css+js, understand backend knowledge, only 60 points of qualified front-end; then to become a popular, high-paying 80 excellent front end, to the business needs and, architecture design has a real use, and 100 points of the top end, you must be able to take into account the technology and design, Closer to the "front-end development-oriented full stack engineer" .
the market is not a lack of front end, but the lack of excellent front-end engineers
Now, front-end engineers have finally taken a place in the web. With the evolution of multiple devices, browsers and web standards, the front-end is becoming a comprehensive position that takes into account logic, performance, interaction, and experience .
Although there is a general lack of front-end engineers in the Internet industry, we believe more and more people will join the front-line army. Not only because most front-end jobs offer the best salary and office environment, but also because front-end programming in the web becomes increasingly challenging and meaningful.
Finally, to share a set of 2015 3 ~ April job-hopping peak 100offer auction data, to the front-end drum cheer:
The front-end engineers harvested 8.2 Interview opportunities per capita, and the average salary gainfor the pre-39% was up to a few. Among them, the front-end offer of the king a total of 47 offer, the highest offer salary 38k*16, open from a local tyrants e-commerce.
Come on, front end!
Is there a shortage of front-end engineers throughout the internet industry?