According to authoritative statistics in China, the total demand for information talents in China will be as high as150,000-20 million in the next five years. Among them, the shortage of talents in "software development" and "network engineering" is the most prominent. Taking software development as an example, the demand for software talents in China is increasing at the rate of 20% every year, with nearly one million new people every year.
This is also the reason why many non-professional students began to learn programming in order to catch the express train of the Internet. But which subject should be chosen first has brought great trouble to many students.
In the communication with classmates, we found that the concept of "front-end, back-end and full stack" is still very vague. As the saying goes, "sharpening a knife does not mistake a woodcutter." Knowing the definition, function and skill requirements of the Internet can make you learn more efficiently and in a planned way, thus moving towards the goal of Internet management.
First, the direction ahead
The "front end" of the website is the part that directly interacts with users, including all the visual content you come into contact with when browsing the webpage-from fonts to colors, as well as drop-down menus and sidebars. These visual contents are presented by the browser after parsing, processing and rendering the related HTML, CSS and Javascript files.
The front-end development of skills and tools is to create code behind the user-oriented part of the website mentioned above, and build an immersive user experience by establishing a framework. In order to achieve this goal, development needs to be proficient in the following languages, frameworks and tool libraries:
Three languages: HTML, CSS, Javascript;; In addition, it is also important to master tool libraries such as jQuery, which can help developers code in a more efficient way. Many front-end development positions also require experience in Ajax methods, which can help you use Javascript to pull data from the server in the background and help realize the dynamic loading of pages.
For example, front-end developers focus on "house" decoration, and back-end developers are responsible for building houses.
Front-end developers work closely with designers/user experience analysts through some special tools to help build prototypes or wireframes and participate in the whole process from product development to release.
Some front-end developers can even accurately locate specific problems that affect the user experience, and give suggestions or code solutions, which have a positive impact on product design.
In addition to professional ability, it is also very important to cooperate with other teams to understand specific goals, needs, opportunities and efficient implementation.
It sounds like a lot of work, but it's also worth it. "I am a technician and a designer. It is a natural and interesting experience to use markup language and code to modify visual elements and interact with them on the digital platform, "said MikeyIlagan, who has eight years of front-end development experience. "This allows me to directly influence the user experience and manipulate the elements that users see and interact with in applications and websites, which is great!"
In short, the front-end developers should carry out internal design and decoration work for the "house" built by the back-end developers. The decoration style is specified by the owner of the house. GregMatranga, head of product marketing at Apptix, said: "Front-end developers are sometimes more likely to be excited about their work because they have more room to exert their creativity."
Salary Reference The following are the first four information about job benefits that appear after a mainstream Internet industry recruitment website searches for "front-end" experience limited to "3 years or less". Below, the screenshot conditions of backend and full stack salary information are the same.
Second, the back-end direction.
What is the front end of the website supported by? Where is the data stored? This involves the back-end content. The back end of the website includes servers, applications and databases. Back-end developers build and maintain these components to provide various support for the website.
Skills and Tools In order for servers, applications and databases to interact with each other, back-end engineers need the following skills:
Server-side languages for application construction: PHP, Ruby, Python, Java,. Net, etc. Data-related tools: MySQL,
Oracle, SQLServer, etc. PHP framework: Zend,
Symfony, CakePHP, etc. Version control tools: SVN, CVS, Git, etc. You should also be proficient in using Linux as a development and deployment environment.
Back-end developers use these tools to write clean, portable and well-documented code to create or update Web applications. But before writing code, they need to communicate with customers, understand their actual needs and turn them into technical goals, and formulate the most effective and streamlined solutions to achieve these goals.
"I love back-end development because I like manipulating data," said JPToto, a senior back-end developer working at Wildbit. "Now * * * has become a necessary channel for mobile devices, websites and other Internet systems to exchange data with private APIs. Creating an API that is useful to everyone is a very inspiring part of my work. "
Salary reference
Third, the whole stack _
Sometimes there is no clear boundary between the front end and the back end. "Front-end developers usually need to learn additional back-end skills, and vice versa, especially in some market conditions." Matellan Jia said: "Developers need cross-disciplinary knowledge, and sometimes they even need to be generalists."
Full stack engineering was originally a concept put forward by Facebook more than six years ago. The core of the whole stack means that these developers can undertake all functional development tasks, including front-end and back-end, and they have a skill family.
"Being able to work on both the server side and the client side will bring you more opportunities," said FedericoUlfo, a full-stack engineer at Grovo. "Of course, this means more challenges. Taking cooking as an analogy, it takes time and experience to master cooking and baking, and it takes more energy to master both. Anyone can follow the recipe. What I'm talking about here is the ability to make something really delicious. "
Full-stack developers of skills and tools usually do programming work on the server side, but they are proficient in front-end languages and can manipulate the user-oriented part of the website. Basically, they are knowledgeable people.
The following figure illustrates the increasing complexity of full-stack development, which is a comparison between past and current technical requirements:
The specific tools depend on the needs of the project and customers. Full-stack developers need to know enough about every aspect of the Web architecture: building and configuring Linux servers, writing server-side APIs, using client-side Javascript codes to drive applications, and transforming design-level things into actual CSS codes.
While mastering and using a large number of tools, full-stack developers need to assign tasks of server and client, provide solutions, and compare the advantages and disadvantages of different solutions.
Salary reference
After reading these, do you have a clearer understanding of your future choices?
The above is what Bian Xiao shared for you today about the front-end, back-end and full stack. What is the salary situation? I hope this article can help friends who work in the front end of the web. Want to know more about web front-end knowledge, remember to pay attention to official website of Beida Jade Bird web Training. Finally, I wish my friends good luck in their work!
This article is transferred from IT industry observation.