Let me use my expertise to explain the term “full stack engineer” in Baidu Encyclopedia:
The above definition is basically straightforward. Let’s give two more examples to make it clearer. If you are a web developer, if you can do both front-end (need to be familiar with HTML, CSS, JavaScript, H5 and various front-end frameworks such as Bootstrap, EasyUI, etc.) and back-end (need to be familiar with Java or ASP.net or php or Node.js or Go, there are too many options to list one by one), and can complete the development of a product like an e-commerce website alone, then you are a full-stack engineer. If you are an App developer who can develop Android applications (need to be familiar with Java and Android framework), iOS applications (need to be familiar with Objective-C or Swift and Cocoa for iOS), and the background required by the application (need to be familiar with Node.js or Java or Go or...), in short, you can develop an App that covers Android and iOS and has a business background by yourself, then you can be considered a full-stack engineer. Well, now we probably understand what a full stack engineer is. Let’s take a look at what you should know if you want to become a full stack engineer... such as how to become a full stack engineer, the pros and cons of full stack, and which technology stack to choose... Full Stack ABC Regarding full-stack engineers, there are some things you must know about them. Desire for your own products Note that what I put first is not the desire for technology, but the desire for my own product. Just like a man who longs to have a child of his own, 99% of the time he will choose to go the path of "dating, getting married, having sex, having a baby, and raising a baby." As an engineer, if your desire for a product is like those men or women who are so eager to have a child that they want to take the baby away, then you may be willing to become a full-stack engineer. A true full-stack engineer will discover problems in life, understand needs, design solutions and can't wait to realize products. In order to realize products, he is willing to learn knowledge and skills in any field. Note that they learn knowledge and skills in a certain field not to become experts in that field, but to achieve their goals. They have broad vision and lofty aspirations, and will not stick to technology. If they can wave their hands and products, designs, and developers will come to develop the products they want, then they don't mind throwing away all the technology. In other words, only when a person has an urgent desire for a product and no one helps him realize it, will he embark on the full-stack road. Therefore, the full stack is just a by-product in the process of achieving the goal, and the goal is the first priority. The times create a full stack As we said before, when a person wants to make his own product but no one helps him realize it, if he cannot let go of his burning desire, he may embark on the path of full-stack. This is actually forced by the situation. There is another similar situation that can also force a person to become a full-stack engineer. That is: [Joining a startup company that is short of people]. Large companies have plenty of staff, each with their own job, and everyone is a screw, so the probability of you handling everything by yourself is very small. Small companies and startups are different. They are often extremely short of staff, and one person has to do the work of several people. If you are a front-end developer, you have to do the work even if there is no one in the back-end. If you are an Android developer, you have to do the work even if there is no one in iOS, and you have to do the work even if there is no one in the back-end. In this way, you will soon become a full-stack engineer. Therefore, there is a kind of full-stack engineer who is trained by others. Thinking style and learning ability Some people can’t become full-stack engineers even if they are forced with a knife. Some people can become full-stack engineers even if they are thrown into a desert without electricity or internet. Some people… The difference lies in thinking style and learning ability. From a thinking perspective, if you want to be a full-stack engineer, you cannot set limits for yourself. Positioning yourself as a front-end engineer or an iOS engineer, no matter what the wind blows, you should stick to your goal and not let go. This won’t work. You should let your heart fly like a good cat soaring to the sky or a crane dancing on the white sand. In short, you should change with the times and the situation, learn what you need to use, if no one is doing the server, then I will do it, if no one is writing Android App, then I will write it... In this way, you will break the self-limitation and have the foundation to become a full-stack engineer. In addition to this self-limiting mindset, there is another mindset that needs to be broken, which is to master every technology. For people who love technology, mastering every technology is a strong temptation, even more attractive than the young lady walking by the door. This kind of thinking needs to be broken, because mastering every technology will inevitably take a long time and affect your ability to realize your own products. Therefore, as long as the part you have learned can help you achieve your goal smoothly, you can wave your sleeves and move on. Once you break the fixed mindset and have the foundation to become a full-stack engineer, if you have strong self-learning ability, you can really embark on the road to full-stack. If you have a poor learning ability and always have trouble finding a way to get started with new technologies, you may not be able to become a full-stack engineer, or you may have to work hard until you are old. The pros and cons of full stack The advantage of a full-stack engineer is that he has a wide range of technologies and can quickly develop a product prototype using the technologies he knows. Therefore, many full-stack engineers later embarked on the road of entrepreneurship and became entrepreneurs; or joined a startup company and became a technical partner. They have a broad vision, active thinking, and are very sensitive to technology and products. They are an indispensable core in the entrepreneurial period. However, because the skills of full-stack engineers are developed horizontally, they are more broad than deep, so they can talk for a long time about anything you mention, but if you ask about some basic knowledge points, they may not be able to answer. If a full-stack engineer does not start a business or join a startup company, but applies for a position in a certain technical direction, he will be at a disadvantage in the interview, because most of the technologies he uses, when asked in detail, may be considered to be understood but not in depth. Therefore, this may affect his job search. However, if you first specialize in one thing and then become versatile, and then consciously choose your target career, you can avoid this situation. Which technology stack to choose Well, actually, for full-stack engineers, there is often no choice. For example, if you are making an App and you want a full-stack, you basically have very little choice, Java and Objective-C are both required. Therefore, many times it is the product and the situation that choose you to be a full-stack, and you become a full-stack as you go along. It is not for the sake of full-stack. If you want to be a full-stack for the sake of full-stack, then you can choose it. For example, choose MEAN (MongoDB+Express+AngularJS+Node.js), such as J2SE + SSH + Android + Objective-C + Cocoa... If your goal is to become a full-stack engineer, you will find that there are so many things to learn, it's scary. If you want to make a product, for example, because you love stock trading, you want to make a simple stock app: track the stock market of your own choice, support custom reminders, the interface should be clean and refreshing, and the platform should support Android, iOS and Web. In the process of making such a product, you will be forced to become a full-stack engineer without realizing it. Because, you won't feel tired when doing what you like. Finally, for fun, here’s a joke from Twitter for the full stack er:
|
<<: Which of those infamous software bugs have left their mark in history?
>>: How to keep your programmers from getting bored with their work?
Current status of the global intelligent robot ma...
1. The application value of genetic testing in me...
According to the Wall Street Journal, total U.S. ...
As a heavy user of reading apps, the author succe...
The "White Paper on the Value of Bytedance S...
This year has entered the dog days The dog days w...
With the advent of well-known hotel brands, many ...
Yesterday a classmate asked me: "Why is the ...
2016 was a year of great changes for the entire m...
Aristotle created the persuasion triangle 2,000 y...
[[144520]] Often, for the purpose of learning or ...
The writing of push title copy requires not only ...
BYD is a global leader in the new energy market, ...
Some people say As long as the phone has power an...
The fish floss you feed your children may be a fa...