This is a creation in Article, where the information may have evolved or changed.
Inspired by the great God of Socrates, I am also going to talk about the whole stack.
Zen Master: To be a full-stack engineer, this question equals how to become a versatile, is it possible
Yard farming: It is possible, but the likelihood is relatively low, because Leonardo da Vinci such people are after all hundred years of the wizards. However, because I love this industry, there is a certain talent, so just do the software full stack, I think it is possible
Zen Master: Have you ever played kingdoms this game?
Code farmer: I have also developed
Zen Master: What kind of generals do you like, Zhuge Liang?
Yard farming: Yes, although he has only 20 of the force, but the intelligence has 100, but the game is not a single fight, I can give him armed force 100, the intelligence of 20 of the BU, in the battlefield invincible
Zen Master: What do you do with a military commander of 65, intelligence 65?
Yard farmer: chop the head or let him wild, wasting rations and gold
Zen Master: But he is comprehensive, the two abilities are 130 points, higher than Zhuge Liang and Bu's comprehensive score.
Yard farming: But he's too mediocre to Dudangyimian
Zen Master: How about Zhao Yun
Yard farming: This is one of my favorite generals, armed Force 97, intelligence 80, there is also a Jiang Wei, Force 91, Intelligence 91, which is the standard of my mind all-rounder
Zen Master: First of all, please develop a capacity to 90, if you still have the capacity to develop another ability to 90, and then call yourself full stack, otherwise you are only a comprehensive development and the overall mediocre waste material.
Code Farmer: I understand, I think Facebook and Google advertised the full stack, and certainly not a c++,java,ios,php,blabla will only write Hello world's full stack.
Reference: http://www.zhihu.com/question/22420900
-----------------------------------------------------------------
If the study is passive, then life will be passive.
-----------------------------------------------------------------
I prefer the two words, one is: " breadth is to try to study by-products ," Another sentence: "The second to kill the general is skills, the second kill skills is knowledgeable." ”
The whole stack is not an end in itself, but a passing result, and when your career is about the same, it's natural, or not, to be indifferent.
Being an all-stack engineer is not a goal, but when you are alone, you need to be creative in your mind to become a product, and you will have to learn all-stack technology. The purpose of doing this may be to realize the value of life, maybe just a hobby.
Very agree with a few brick house upstairs words,Fullstack actually does not want your knowledge to have how broad, but you want to keep in touch with new things mentality. in the need to urgently solve a problem, willing to first contact with the unknown technology, information, solve the problem must be solved, and then accumulate to become experience, and experience can reduce your learning costs, allowing you to absorb the understanding of the unknown technology faster.
Interest and entrepreneurship will stimulate you. I am a indie game producer, I have been engaged in the game industry for more than 10 years, before in the domestic very famous game company Main procedure, can write a 3D engine from zero, later own in North America issued a independent game, the income is very lucrative resigned. I will C++,c#,java, the art aspect I will hand-painted, 3D modelling, the map, the animation. Each game brings me the profit worth to do the study and the development .... I enjoy a low-key daily life of freedom. The secret of being a full-stack engineer is to do what you want to do, and all the needs will motivate you to learn. If it is forced, then it is meaningless.
The whole stack may not need a career to measure, more can be understood as a problem-solving global thinking and targeted learning ability. Assuming you are a skilled person and are primarily responsible for the front-end tasks, whatever skills you use, ultimately you need to be concerned whether you or your team are doing the job well. then whether you clear the current products are accurate positioning, the current use of the front-end UI and UE is consistent with the use of object interaction habits, whether to consider the use of more mobile-compatible front-end framework, user data and background docking is safe and effective, Given the background scripting language and database used in the current project, is it necessary to optimize the current code structure to facilitate later maintenance, and if the engineer has a clear and comprehensive understanding of the breadth and depth of the technology, this is the advantage that full stack engineers have in solving these problems. If you choose to start a business, then the problem is changed, the original may be placed in front of you the problem is how to optimize their own projects, now the biggest problem is how to make your company survive well, in order to achieve this goal you have to continue to learn the knowledge that has not been contacted , At this time if you are a certain entrepreneurial experience and social experience accumulation of people, perhaps you will take a lot of detours, this is often said to have a strong sense of smell and bigger picture,Facebook like to recruit full stack engineer should also and its unique startup culture , The person who can solve the problem in haste is not as good as the person who can solve the problem thoroughly, but the person who can solve the specific problem thoroughly, or cannot anticipate the problem and effectively eliminate the problem.
The whole stack, I think is a kind of learning spirit it. As for the CN, so impetuous big environment, full stack = Tiger Balm Bar
Not for the whole stack but the whole stack, but to solve the problem more, the whole knowledge system after the establishment, can handle all kinds of problems.
I have created a company, complete experience to get the project, project analysis, and then development, data analysis, Rushdemo, on-line, overnight overtime, extended client, testing, operation, pull investment, open company, recruit, kick people, kicked, project to take money, tax avoidance, chase money, chase money success, after the failure of debt collection .... (A lot of hard things), the last two times after the start-up no matter what to do, in fact, all feel the same calm ...
The existing answer has explained that it is obviously difficult to achieve top-level mastery at every level of full stack, with a normal person's energy and learning speed. But can't you do that without the full stack developer (FSD)? In fact, I hope that Members will pay attention to the last sentence of the English text quoted by the main question: A genuine interest in all software technology. ( a genuine interest in all software technologies).
I think for FSD, especiallyfor those who want to be FSD, this attitude is the most important thing. Even if it is FSD, each person's skills will certainly be different, someone in the front-end better at some, someone at the server level more experienced ... But in fact there is no hard threshold, the need is to solveAny QuestionsCapacity and willingness to do so. All you have to do is not stand on the same field. If you encounter problems, go to research, not because the problem is not in your comfort zone to give up or push to others. Even if the solution at the beginning is awkward, it doesn't matter,just learn whatever it takes to do it work.For example, I want to make a website, I have some things not touched, but I have enough interest and motivation to get a sorta. (The ability to learn is very important here, and a good mentor can also help a lot.) Once you have experienced this process, you will have the confidence to understand something more complex and to further digest, refine, and learn more on a previous basis.
In addition, I personally thinkThis process should be driven by practical problems, not aimless to see what is popular or to think very NB to learn. @ Zhuangsheng's answer mentions that most of the sites are not live or can never reach the level of 10k users online, that situation to see what is the meaning of high scalability things? Learn to solve or improve the actual problems encountered, so that your entire knowledge system coverage and focus will be more reasonable. An analogy is that your skill points are limited, so add a plan to have a theme, everywhere the word is wasted.
back to the beginning, the whole stack of engineers is not for the work itself, is to facilitate the realization of their dreams. If not a business, my value may also be a 2w multi-wage architect or technical manager, this price is far from my 13 years of pay. A true all-stack engineer with only one goal: entrepreneurship.
-----------------------------------------------------------------
A true full Stack Engineer, he discovers problems from life, insights into needs, he designs solutions, and develops the initial version of the product. He is willing to learn skills and knowledge in any field in order to achieve his goals. At the same time he does not pursue a person to complete all the work, if someone can do a better job in some way, they will be very enthusiastic to invite them to join.
Eventually his position may no longer be Engineer, he no longer designs the UI, and no longer writes the code ... His work is no longer design and building an app or product because he has bigger and more important tasks to do-design and building a team or a company which builds great Products.
at this time, society gave them another name-the entrepreneur. Although the people have forgotten their Engineer identity, but in their bones, deep inside, they are always a Engineer. When they need to start over again, they do not hesitate to start from the design and development of products. Nikola tesla,ferdinand porsche,henry ford,jack dorsey,mark zuckerberg,elon Musk ... To count the entrepreneurs who have changed or are changing the world, most of them are Engineer backgrounds and passionate about design creation. They learn skills and knowledge not to be experts in a field, but because they are needed to accomplish their goals.
-----------------------------------------------------------------
I want to focus on a few languages:
1. Delphi, FREEPASCAL/VCL/FMX (most elegant, fast, powerful, balanced)
2. C++/QT (cross-platform, class-Library is full, and has spent so much time using it)
3. Windows API/MFC (Driver programming, network programming, core programming, SDK programming, MFC programming, COM programming)
I want to focus on several industries:
1. Cloud storage/backup/Internet (try not to do web development)
2. Ic/eda
3. Graphic image/Dynamic curve
I want to focus on several aspects (open source projects):
1. Freedos/dosbox
2. freepascal
3. Heroes Invincible 2
Medium involved:
1. Assembly/hardware (deep into the bottom to really understand the computer)
2. Golang (server management itself is a work, but also can exercise different language thinking, after all, C + + and Pascal are very similar things, as for the scripting language is not optimistic)
3. Algorithm (basic, exercise thinking)
A small number involves:
1. C#/SL (there is a little bit of the following, for 3 reasons: 1. General work 2. And Delphi is a dad, easy to learn 3. Powerful)
2. Php/html/js (which is the last thing to do, but for my business, and the cost of the web business is really low, anyone can be a direct customer)
3. Ios/android (at present the salary is higher, moreover this time ... )