Job Recruitment Website - Job information - "Is full stack development dead?"
"Is full stack development dead?"
Author | Joe Hongton
Translator | Crescent | Editor | Tu Min
The following is the translation:
The origin of the whole stack
With the advent of the new millennium, Web tools have developed very well, and everything needed to create a website can be set up through open source software. We can imitate the OSI network model and simply layer the various technologies of application development, and the technology set needed for the whole development is called stack.
LAMP stack is the first stack, which contains four layers: L stands for Linux operating system, A stands for Apache HTTP server, M stands for MySQL database server, and P stands for PHP scripting language. As time goes by, we see the advantages of the layered concept, and many other stacks are derived: WAMP, MAMP, XAMPP, LEMP, LEPP, MEAN, JAMStack and so on.
With these technology stack, we can get the key to the revival of software development for free. For those who are interested in creating a website, the threshold is lower now. As long as you have perseverance and desire to learn new tools, languages and protocols, it is enough. You don't need to use Microsoft, Oracle Bone Inscriptions, IBM or other commercial software. This is a fair field, which attracted many people's attention, so that the Internet bubble era appeared in the late 1990s.
Soon after, the browser (XMLHttpRequest) introduced AJAX, leading the Web 2.0 era and Web applications. However, developing these applications requires a lot of work, so developers can't meet the business needs alone.
Later, developers began to specialize in division of labor. Front-end developers handle HTML, CSS and JavaScript. Back-end developers handle the host operating system, HTTP server and database. Developers who are proficient in both front-end and back-end are called full-stack developers.
Full stack era
Specialization is a good thing. But it won't last forever. On the one hand, this means that teams can work in parallel to shorten the development cycle. On the other hand, it also means that we must make more efforts to convey the original requirements and changed specifications, otherwise we will lose the advantages brought by parallel work.
Therefore, it seems a good idea for the whole team to be full-stack developers, without distinguishing between front-end and back-end.
The most important benefit is that every developer on the team fully understands the consequences of every code change. Each of them can correctly evaluate the impact and risk, so that the management can clearly understand the cost and delay. In addition, whenever a staff member leaves, the team can be replaced immediately, and newcomers can get familiar with the work quickly. However, with the improvement of basic technology, this beautiful scene has lost its original charm. Technology stack is no longer limited to the first four layers: operating system, HTTP server, database and scripting language.
With the enhancement of development ability, we began to listen to users' opinions more closely:
In addition, the basic technologies that run through all these requirements are constantly developing:
The full stack era has not completely died out. With the rapid development of all levels of the technology stack, no one can become an expert in all aspects. The diversification and specialization of responsibilities is a natural result.
The glory of full-stack engineers has become a legend. In this new era, no one can master all the developed technologies.
2020 station
We have to think: do individuals with cross-level knowledge and technical ability still have advantages? How to deal with the diversity of project experience brought by full-stack developers? How does management meet these needs? How should recruiters screen candidates? How do job seekers highlight their technical strength?
We should reconsider the term "full stack".
I say this because I helped popularize this concept. I introduced this term as early as 2009. Sadly, by 20 19, this term has become a monument of the computer history museum.
Strangely, people are more and more curious about the word "full stack". The snapshot of Google's search term trend during 20/200919 shows that the search volume of the word "full stack" has increased sharply in the past five years, reaching a new high every year.
But if people are looking for the next trend, let's talk about it. Let's give it a name for the convenience of discussion.
I call it the 2020 stack. A new name for a new generation.
I think:
The characteristics of 2020 stack experts can be summarized as follows:
No one can master all the technologies, so the 2020 stack must be shared by a team. Not a group of people, but a real team. This means that when one person falls behind, another person will step forward. When a person has excellent technical ability, he can guide others through a mechanism. When the knowledge base of the team is insufficient, they will look for smarter team members.
Every 2020 stack team member must be an interdisciplinary expert. People who have only mastered the technology stack level 1 or 2 are not qualified members of the 2020 stack team. These people are expected to become members of the 2020 stack team in the future, but they may not. However, they can only be candidates for the 2020 stack team until they have mastered the in-depth knowledge of technical stacks at all levels.
The technologies brought to the project by the 2020 stack team members are not strictly classified. Different from the front-end/back-end classification we currently adopt, the classification of 2020 stack is varied. Members of the 2020 stack team may be familiar with technologies such as NoSQL, cloud configuration and continuous integration. At the same time, another 2020 stack team may have a similar member who is familiar with SQL database, Node.js server, container and container arrangement. If we collectively refer to them as the back-end development of the 2020 stack team, then we underestimate their technical strength.
Finally, the most critical component of this team: every communication should aim at making the best decision for the current problem. This means that members with the same technology should communicate with an open mind. Members should not only exchange the latest progress with each other, but also discuss it. This will make everyone smarter and prevent everyone from stepping into the whirlpool of specialization again. Team members grow together.
Hello, "2020 stack!"
Let's think about how to use the 2020 stack to better match the job requirements with the technical strength of job seekers. The job advertisements issued by project managers may include the following contents, and they hope to find talents suitable for the company culture:
Our company wants to recruit "2020 Stack" team members with deep background in testing, documentation and code management. This position requires at least two technical skills in the following fields: cloud configuration, containers, container choreography, CI/CD and server-side scripting.
Shape our future by helping us choose the best tools. Career development is part of every employee's job. Every Tuesday, we will hold an internal 2020 stack learning meeting.
Another job advertisement for the same position requires candidates to have different skills:
We hope to find a member of the "2020 Stack" team to be responsible for regression testing, API documentation, Github workflow management and development and operation.
If you have mastered the above technology, please contact us.
Job seekers can improve LinkedIn information in the following ways:
I have many years of working experience in the "2020 Stack" team, rich back-end development experience and the latest 2020 development and operation knowledge, including Gitlab, Kubernetes, Digital Ocean and so on.
I am a loyal supporter of open source and DRY, and I think the key to successful reuse lies in excellent documents.
Through the above description, we see a developer who has mastered both the field of code management and the technology of development and operation and maintenance. "2020 Stack" team members are more mature than agile teams.
Layering of 2020 stack
So, how should the 2020 stack be layered? Are the terms front-end and back-end enough to describe the characteristics of each layer? What about servers and Web, design and operation? Of course, these categories are broad enough.
At the same time, we can't ignore testers, because we know that without them, we can't deliver products with better quality than our competitors. Moreover, without marketing staff, we can't even find customers.
All these factors need to be considered. For the perfect 2020 stack in my mind, please refer to this article (/better-programming/2020-002-my-perfect-2020-stack-43be78df37dd). After all, the 2020 stack is cross-domain communication. I believe this is a brand-new revival.
Original:/better-programming/2020-001-full-stack-profounded-dead-355d778e733
This article is translated by CSDN, please indicate the source.
- Previous article:Can I apply for a college degree?
- Next article:Is Jiangmen Guangya Middle School public or private?
- Related articles
- What procedures does Guangxi Shenglong Metallurgical Co., Ltd. need to resign?
- Course introduction of marketing specialty
- How about linux system development and employment in Shenzhen?
- Where is Nanyang Yuxin Rongyu Academy?
- Bus route from Chengyang, Jia Jiayuan to Licun Shoes City
- How about Danyang Xinqiao Xunchi Factory?
- Is there any subsidy for enterprises to recruit veterans who return home sick?
- Can 58 cities send out recruitment information for free now?
- Is it easy for China Railway Fourth Bureau and Second Company to recruit people?
- How about Xinjiang Weitai Development and Construction (Group) Co., Ltd.