As one of the hottest topics for developers, the discussions have never stopped. On LinkedIn and Facebook, lots of people put their job title as a full stack developer. Besides, it seems that the “Full Stack” topic has already become a new job trend. An article on Medium has discussed the full stack designer getting both praise and blame. Some people think that the full stack is just a title, what he/she should focus on is the real personal ability and technology.

Essentially, I think the discussion about the full stack is also a kind of argument relating to the all-rounder and expert in the IT industry, and debate on the depth and breadth of development skills.

You can’t have your cake and eat it too. While the full stack developers and full-stack designers seem like they are challenging this possibility. Because their horizontal skills tree gives them the ability to both have and eat the cake. There is another saying is that jack of all trades, but master of none. So it’s necessary to think about how to become a real full stack developer but not an empty title

1. What is a full stack developer?.
Simply put, a full-stack developer is a kind of people who master a variety of skills and use these skills to complete a product independently. A top voted answer on Quora explained that what is a full-stack developer:

A full-stack developer is an engineer who can handle all the work of databases, servers, systems engineering, and clients. Depending on the project, what customers need may be a mobile stack, a Web stack, or a native application stack.

In fact, “full-stack” refers to the collection of a series of technologies needed to complete a project. “Stack” refers to a collection of sub-modules. These software sub-modules or components combined together to achieve the established function while without the need for other modules.

2. Why has the full stack developer been controversially discussed?
As mentioned above, the discussion about the full-stack developer is actually the debate on the depth and breadth of skills. Especially at the OSCON conference, a Facebook engineer said they only hired a “full stack developer.” This topic came as a result of a heated discussion about the strengths and weaknesses of being a full stack developer.

Advantages: The full stack developers involved in a horizontal technical requirement, so that he/she can make a prototype design for a product very rapidly with his wide range of techniques. With the full stackability, they have a broader angle of views and a more active mindset. Moreover, they will be more sensitive to techniques and products. So, this kind of person can always have his/her opinions towards the product or design.

From another aspect, he/she can provide help to everyone in the team and greatly reduce the time and technical costs of team communication, technology docking. So many of them become entrepreneurs or as technical partners in start-up companies.

Disadvantages: It is precisely because of horizontal technology development, some of the full-stack developers cannot be experts in one skill. Most of them who claim to be “full stacks developer” are only know a little about the multiple skills. As for how to make the architecture more suitable for modular development, that’s a question.

3. What does a full-stack course contain?
Programing languages
Use development frameworks and third-party libraries
Front-end technology
Database and Cashe

4. Basic Design Ability