Recently, I have read Yu Guo’s “Self-Cultivation of Web Full Stack Engineers” for two times. I have a lot of feelings and would like to share them with you.

Is also the first time I read it in school, had just learn front soon, like many beginners front-end classmate, thinking about the way to go after the whole development of stack, to learn the skills of front-end, but also to master database, the server-side development skills, and even will point design and testing, is equal to a person to do the whole development of the web project. In the continuous study and work, more and more feel that the full stack is feasible, but do not easily try. Mastering the front-end skills required is already a difficult task for a beginner to intermediate front-end.

The second is the recent look at the, at present work for four months, mainly engaged in the React technology stack of project development, is limited to familiar with the React + Antd API, also understand the life cycle of operation mechanism, and don’t know why, but for the commonly used data structure and algorithm are limited to the interview, design pattern. ES6 is the foundation of each framework and Node. I have read it several times and still feel that I don’t understand it deeply enough. The current situation is that I am eager to learn a lot of knowledge, but I have not really learned it. Of course, my state is probably also the problem that many front-end students are facing now.

Back to the point, the emphasis is also different.

In my opinion, the content of the book is divided into four parts, one is what is the full stack; The second is students and wild programmers, the third is some full stack of knowledge, and the fourth is good habits and growth.

When I first read it, I mainly read the first two parts. From then on, I learned about the full stack, and I had the idea of becoming a full stack engineer. Second on look at is the third, four parts is really benefit a lot, as a rookie of entering the workplace, no tutor led, can oneself of seasoning, no one to guide the good habits of code and growth path, slowly grope for themselves always feel confused, when I settled down to look in the fourth part really think these for me is very need to perform.

Let’s talk about this topic again:

1. What is full stack

2. What kind of person or stage can do full stack

3, suitable for their own growth methodology

I hope you can take these questions to see the article, after reading you can review what you have gained.

What is full stack

It has been said that a full stack engineer is an engineer who can handle all the work of the database, server, system engineering, and client. Depending on the project, the customer may want a mobile stack, a Web stack, or a native application stack. That is to say, one person is equivalent to a team, you have to know the front end, back end, also have to know the design and testing, and finally have to be able to operate online. You need to have a clear understanding of the web development process. Those who have not been exposed to the whole process may think it should be easier to master, but it is not that every direction is difficult to learn.

He understands the inner workings and implementation of everything from computers to programming languages to embedded devices and servers. Tools and languages are just different ways they solve problems. To say that they are full stack is not to say that they are versatile, need is solid basic knowledge and good work accomplishment.

The book also says that most of us are ordinary people who follow the 10,000-hour rule to master the essence of a certain industry, from ordinary to extraordinary. So how do you grow from a rookie to a full-stack engineer? The book recommends the use of “first fine after wide, a special how long”, I am also very agree with this learning method. Here’s how to become a full stack (if not a full stack, then at least on the way)

Two, how to do the full stack

Full stack engineer does not mean that you are only responsible for the whole project. It just means that you hope to have a global thinking to examine problems. Remember a good sentence, the higher the perspective of observing the website, the more effectively problems can be located and solved. Speaking of ‘first fine after wide, a special how long’, we should also understand the meaning, a direction first carefully study, depth of development, after expanding the width, learning other technologies. Full stack thinking is a basic accomplishment. Even if the current technical level is not up to standard, the perspective of viewing problems will be broader. For example, little E is a front-end that not only can write front-end code, but also needs to focus on business goals and user experience. Focusing on business goals means to pay attention to product quality and have ideas about the market and business; Focus on user experience means that from the user’s point of view, as a developer, if you are not willing to use the product you develop, how can users like it? More design concepts, rather than simple realization of requirements.

To sum up, you need to focus on business goals and focus on user experience

Third, growth methodology

This is more touching, everyone needs to find a way to grow their own, you can not use the experience of others. As the author said in the chapter of efficient Engineers, it is not recommended to work overtime inefficiently. If you do not solve the problem within 8 hours, it is that your efficiency is too low or your schedule is too tight. There are the following ways can improve work efficiency, especially for those of us who have just entered the workplace, did not get good guidance, so many need to explore their own, the early stage of the workplace to develop good behavior habits, will also benefit for life.

Time management

Everyone has only 24 hours in a day, and a large part of the reason why you procrastinate late into the night when someone else could be doing their job efficiently is that productivity is low during business hours. So time management is very important. The four Quadrant of time management is a very advocated time management method at present, reasonable arrangement will improve your work efficiency. You can do what you like in your spare time. It is important to live more than just work.

English

As a software development engineer, the latest technical documents I contact are all in English, and github, the world’s largest gay dating website, is also a foreign website. If I can’t speak English, I can only read others’ translated documents

The documents in Chinese culture are added with the subjective thoughts of the translator, which cannot be guaranteed to be the author’s meaning. As a person who took the cet-4 exam for the fourth time, my English is also very poor, so I have a deeper sense of the importance of English. Firstly, there are more technical materials in English and they are more cutting-edge. Secondly, Google is more able to solve problems (I believe developers are more aware of it).

How to learn English, quite feeling is github.com/byoungd/Eng… I have read this article twice and feel it is very good. Therefore, we recommend you to use English in daily development and search, go to Github to see the project and source code, do not understand it does not matter, a word a word first to understand, recommend a Google plug-in, you can cross word translation. You can reply to chrome in the background of the public account to get Google god plug-in.

Focus on user experience and design optimization

Boss has always stressed that we need to focus on the user experience, do understand a point the front end of the design engineer, don’t need to learn to design, is to know some design idea and principles, in the figure, the prototype can be used the perspective, to make optimization, because front is closest to the user the developer, can will do better products. The principles of design are simple, four basic theories: intimacy, contrast, repetition and alignment. With these ideas in mind, you can revisit the prototype.

Recommend some design sites: ANTd, Mini program, Behance, Dribbble, UI8, Stand cool, Petal, Pinterest. You can see a little bit.

Communication, feedback and output

Some people think that all developers have to do is write code and not talk too much, but that’s not the case. Communication skills are really important. Many people always want to express their ideas correctly and make others feel comfortable. Programmers communicate most with the product, testing, corresponding developers and their superiors. It is not communication with the product and testing, but basically hatred. How can I convince them? And the corresponding development needs to adjust the interface, that is, the need to communicate well, according to the interface document, if the modification is timely feedback to the document, when necessary, you can take a little bit of computer interface, nothing is not solved.

Programmers often do project, after completion of a project there will always be harvested, so the need for timely feedback output, I have a good habit, every day, work notes, not hard to persist, is the morning open a computer, you will naturally think about what needs to be done today, where progress need, then I will be listed, Review it before you leave work and jot down any problems and solutions you encountered today. When a project is complete, I will organize it into a document documenting my experiences and learning. Now do a public number, I will output the final results and share with you.

Note taking tools to recommend youdao cloud notes, it is recommended to use the web version, I heard that in the client even encrypted documents, but also according to the file path to find and read, but the web version will not, you can rest assured to use.

“The end”

The following types of people exist and abound:

1, still in school or just working, even JS implementation mechanism, prototype have not understood

2, each encounter array, character method also need baidu

3. Only doing business, familiar with framework API, but not knowing why

Check whether you are a developer of the above type. If you are, give up the idea of full stack for the time being and concentrate on your professional direction. First do one thing and do many things, that is, first have depth and then expand width.

This article is not advised you don’t go the whole stack, just talk about some views, to walk the whole stack of friends, I think you should first dig their own potential, lay a solid foundation, don’t try so hard, will study the front-end to a deeper level, at least to understand the prototype of JS, execution mechanism, closures, etc., do a few projects, there is a certain understanding of the web development process. I hope you can find your own growth methodology.