preface

The final height of a person is often not the starting point, but the inflection point.

By chance, I joined my current company. Although it is not big, I have relatively free choice of technology stack. At the beginning, I also value node.js business here.

However, it has been a rough journey since I joined the company. The following figure shows the amount of code I submitted in one year, including 2 Nest projects, but the most is front-end code, which is often tens of thousands of lines:

There are no statistics for old projects, and there are no statistics for the code typed with the book and the Demo written by myself, but the problem can only be found when the code is typed out. It’s like learning to swim, no matter how many videos you watch, you can’t get out of the pool.

As Ma Zhe said: Practice is the basis of knowledge (practice determines consciousness), practice is the only source of knowledge, practice is the power of the development of knowledge, practice is the only standard to test the truth of knowledge, practice is the purpose and end-result of knowledge.

I hope that after you read the secret book, to personally knock, enhance understanding.

Below share the guidance of the seniors and the whole stack of this year’s experience, if there is wrong, please give me your advice.

The front part

[1] refined gas phase

This is an important stage to test if your roots are right for the role or industry. I have seen a lot of “no soul root” tao friends struggling in this realm, also saw a lot of halfway tao friends, training by leaps and bounds, straight to the yuan Infant period.

If just write a static page to hold in for a long time, early can understand, but more than 1 year of experience of tao friends, it is “with Hongfu, and qingfu no chance”, or advise you to return to secular……

This stage, there is no gorgeous moves, to lay the foundation, it is recognized to learn HTML, CSS, JavaScript three board axes, as well as internal force training.

Achievement method book

  • The Definitive Guide to CSS (4th Edition)
    • Compared with the third edition, this book has a lot of content, so that it is divided into two volumes. It is not required to understand all of the early stage, but to learn the basic layout and common attributes.
  • The Definitive JavaScript Guide (6th edition)
    • Famous rhinoceros books, O’Reilly’s animal book series, cover is a rhinoceros, translated by the front end team of Taobao. The book is very thick and introduces a lot of API, but actually it is more like a reference book. It is boring and difficult to read, so you can only chew slowly.
  • JavaScript Advanced Programming (Version 3)
    • Also known as the “Little Red Book,” the universally recognized primer series (don’t say “advanced”) is worth reading again and again. The tao of each realm can read new thoughts from it.
  • Clean Code: A Professional Programmer
    • This is a “refining god” class secret book, write code must be standard, clean, readable, good habits to form from the beginning, or colleagues may be carrying 40 meters of broadsword after you.

Although it is a three board axe, but the secret book does not list HTML, this is why?

From my experience, reading books is too demanding. Especially for beginners, it is easy to lose interest. So my personal advice is as follows:

  1. Open taobao, JINGdong and other large e-commerce sites, directly clickF12Open the browser debugging tool.
  2. chooseElementsTAB, or select the mouse selector in the upper left corner of the “Tools Panel”, select the module you are interested in, and then view its HTML code and CSS styles.

  1. Combined with W3School, I wrote a similar layout by imitating it.
  2. It might be too complicated to write directly to the PC, so switch to the mobile touch version, clickElementsThe icon next to the label is ok, and you can learn it by the wayflexLayout:

[2] to build the base period

At this stage, you should start to learn how to use various methods (frameworks), such as Vue, React, Angular, etc., with various materials (UI library) quenching, such as Element UI, Vant, Ant Design, etc., to improve the upgrade efficiency.

Here is no special recommended books, it depends on your opinion, because the framework update quickly, suggest directly read the official documentation, Nuggets also have a lot of “from 0 to 1” actual combat series, small volume, B station, YouTobe also have a lot of video tutorials, but pay attention to the update time.

One of the three frames of the institute, the market price how to also get more than 10K (first-tier city).

[3] and Dan

The foundation period will only use the framework, but in the jiedan period, it is necessary to study the principle and improve the mode of thinking, otherwise it is difficult to condense yuan Ying, many people can only wander in this realm all their lives, and the road.

Achievement method book

  • JavaScript You Don’t Know
    • The book is divided into three volumes, in-depth analysis of some JavaScript principles and features, performance optimization in the middle volume and ES6 analysis in the next volume, can make your move more gorgeous.
  • Deep Understanding of ES6
    • The cover shows one hand holding the map and the other pointing to the treasure. The book is as it sounds, and even though it’s ES10 now, many people don’t even understand ES6.
  • Data Structures and Algorithms – JavaScript Description
    • O’Reilly’s series of animal books featuring a hedgehog on the cover, also known as the hedgehog Books. How many of you remember data structures from college? Data structures are the foundation of the algorithm, the skill that determines the upper bound, and the magic of LeetCode. The most intuitive feeling after reading this book is that you don’t have to think twice about dealing with the messy data structures returned from the back end.
  • Mastering Regular Expressions (3rd Edition)
    • O’Reilly’s animal book series with an owl on the cover. Learn regular expression, can help solve many problems in the work, such as parameter verification, string replacement and so on, but systematic learning is not an easy thing, this book can take you step by step into the world of regular.
  • The Definitive GUIDE to HTTP
    • O’Reilly’s animal book series featuring a striped weasel on the cover. As a front-end to the Web, HTTP is a required course, and the words “definitive guide” suggest that this book is more of a reference manual for anyone who wants to understand HTTP and the underlying architecture of the Web. It involves a lot of interview questions, like asking bad cache questions. After reading this book, the back end of half a bucket of water will no longer be able to fool around and throw the pot to you.
  • Introduction to JavaScript ES6 Functional Programming
    • This book is recommended for a certain amount of code based friends to read, mainly explains how to use ES6 to achieve currization, partial functions, higher-order functions and Monad, etc., is a deep understanding of JavaScript functions, is the “icing on the cake” class secrets.
  • JavaScript Design Patterns and Development Practices
    • Tencent bigwigs – tseng tan edited (the author is also a fitness coach…) We’ve all used design patterns at work, more or less, without even knowing it, but this book covers 16 design patterns from shallow to deep, and once you’ve learned them, it’s worth it (and it’s worth it). But beginners need to be aware of the use of design patterns and remember the hammer theory: “When we have a hammer, everything is a nail.”
  • JavaScript Ninja Secrets (2nd Edition)
    • Co-authored by John Resig, the father of jQuery, this book features a more in-depth exploration of JavaScript and covers the territory of cross-browser programming.
  • JavaScript Framework Design
    • Seto Zhengmei (eds.) explains in detail what you need to know to design a frame, a must-read for building a wheel. (Some time ago, I heard that the author passed away, and I was filled with regrets.)
  • English Grammar
    • Edited by Zhang Daozhen, it is divided into two volumes, the first one about [morphology], the second one about [syntax]. Very classic edition, only this kind of book is the most down to earth, full of dry stuff, compared to the market that kind of fancy English books, it is a clear stream.
  • The Roots of English Words and their Interpretation
    • Li Pingwu, the recent hot word root memorization method, in fact, in 1982, someone has studied the study of root, just like we learn pinyin, seriously gnawing down, not 100%, at least 80% of the words, you have not memorized, just look, you can guess the general meaning.

Since the native language of programming is English, it is inevitable that we will learn. This is not worshipping foreign things, a lot of primary data are from foreign countries, including a lot of original works, such as domestic translation, has passed a period of time. Vocabulary determines the lower limit, grammar determines the upper limit, not fluency, just need to understand the text.

In fact, foreigners write tutorials, there will not be too many advanced vocabulary and grammar, or very easy to understand, NestJS is my English website bit by bit chew down.

The books listed above are classics, and of course there are many other high-scoring books, but according to the “80-20 rule”, we only need to master 20% of the core, and we can solve 80% of the problems at work. Leave the other 20% to Google and StackOverflow…

Tao friends in this realm may use different technology stacks in different xiusen schools (companies), such as wechat mini program, RN, Electron, etc., but all the changes remain the same, with JavaScript and HTTP as the core. They just read documents and tread holes.

Is the so-called: “flying flowers pick leaves can hurt people, vegetation, bamboo and stone can be a sword”.

But now take a look at Flutter, Google’s all-of-the-above solution to the problem. Dart is expected to be a must-have job interview skill in the next few years.

[4] yuan infant stage

Those who can reach this level are believed to be able to solve business problems easily. In small companies, they may also become the technical Leader of a group. At this level, they should not only go deep into the bottom layer, but also dabble in other fields, which is commonly known as “T-shaped talents”.

If you feel that it is impossible to become a god, you can dabish back-end knowledge in this realm and write a program in your spare time to put it into the application market. If it becomes popular and you make a lot of money, you can buy a house to collect rent or invest in other projects with a lot of passive income to achieve financial freedom and not be afraid of being laid off at the age of 35.

Achievement method book

  • Programming Abas
    • This book contains some very low-level coding techniques, but it also contains quite a few pearls of software craftsmanship. If you’re not lucky enough to sit next to a master programmer and work together for about a year, programming Abecas is the next best thing.
  • The Training of an Effective Programmer
    • Being a successful programmer often has nothing to do with technical ability. This book covers a lot of issues beyond programming, and is worth reading if you want to start a business or build your own product.
  • Computer Network
    • Xie Xiren, university textbooks, a more comprehensive and systematic introduction to the development of computer network and the principle of the system structure, if the university did not study hard, or learned but do not understand the students, you can read it again, I believe that there will be new understanding.
  • “TCP/IP Details (original book 2nd Edition)”
    • Computer science series, in 3 volumes:
      • Volume 1: Protocols;
      • Volume 2: Implementation;
      • Volume 3: TCP transaction protocol, HTTP, NNTP, and UNIX domain protocol.
    • Since it is Web development, of course, can not leave the network protocol, this book is very in-depth introduction of TCP/IP principle, I think, as the front end, after reading volume 1, you can basically beat the interviewer in this area, the following two volumes, energetic friends can continue to practice.

[5] god period

The tao friends in this realm are basically the leaders above Ali P8 and Tencent T3.2. They are the captains of frontline operations, providing decisions downward and effective information upward. Simply put, there are three things you need to do: figure out a model, build a team, and build a business.

At this stage, technology is no longer the main training point, but how to lead the team to fight is what the company wants to see.

Achievement method book

  • “Mao Xuan”
    • Don’t explain
  • Prisoner’s Fitness
    • Without a healthy body, no matter how high the DPS is, the output cannot be sustained. Not all companies have gyms, and if they do, they don’t always have a lot of time for exercise. Instead of expensive gym equipment, the book relies on self-weight training, a yoga mat, a wall, a basketball and a pull-up bar.
  • Nonviolent Communication
    • It’s easier to change yourself than it is to change the world.
  • McKinsey Work Act
    • The secret to being productive is also the secret to managing up. Remember, “Your time is worth a lot.”
  • Murphy’s Law
    • This book introduces a lot of classic life laws, rules, effects, and with cases, after reading, will find that life encountered a lot of things have rules to follow, good use, there will be 40 to dial a thousand catties effect.

The secret book recommended by this realm, in fact, any realm can see, but only the personal experience of the workplace, will have a sense of enlightenment.

There are also some management and psychological books, which are not recommended here one by one. The more famous ones are self-control, Weakness of Human Nature, advantages of Human Nature and so on. These can be dabbed appropriately according to their own needs.

The backend part

There are many back-end languages, such as C++, Java, PHP, Python and Go, which are very popular in recent years. However, if you switch from the front-end to the full stack, node.js is definitely the first choice. After all, for the front-end of 2-3 years, it is almost zero cost transition.

Because of asynchrony, JavaScript works wonders in dealing with high concurrency scenarios, and in fact, for most companies, there is no front end to write the back end. Java, PHP, etc., usually handle the core business.

Node, then, is more of a middle-tier forwarding presence. The front end can be here, the non-standard data integration, into the format you want, directly back to the page, isn’t it beautiful?

[1] refined gas phase

If you start, it is recommended to directly find the kind of “from zero to one” tutorial, only their own written interface, and successful call, in order to more intuitive feel the charm of the backend. With perceptual knowledge, and then find books to read, enhance rational knowledge, this is our front of the way of cultivation.

There are several backend frameworks out there, including Express, Koa2, and Egg, but I recommend getting started with Nest, which uses TypeScript as the writing language. When writing the back end, we should pay attention to rigor. When writing the front end, we more or less left some bad habits. It is not a bad thing to use TS to regulate a wave. Moreover, the framework adopts the MVC design pattern, which is almost seamless in thinking mode when it comes to transferring to fields like Java.

My column has written NestJS actual combat tutorial, complete from 0 to 1, but also includes some back-end development processes, such as creating a log system, permission authentication, enough to get started, welcome you.

As for the database, here is the recommended MySQL training route, of course, MongoDB is also a popular database, but most companies, based on historical reasons, or use SQL more, if you do your own project, try MongoDB is not impossible.

Achievement method book

  • NodeJS in Plain English
    • You can know the ins and outs of Node.js, and also introduce the operating principle and practical cases. It is a good book for both beginners and experienced Taoist friends.
  • SQL Learning Guide
    • O’Reilly’s series of animal books featuring an Andean marsupial tree frog on the cover. Learn back-end, and how can leave the database, SQL as a relational database language, with this book entry again appropriate.

[2] to build the base period

After getting started, you have to start to work on performance. Although many backend servers have been working for two or three years, they are still only able to talk, learn, play, and sing… Oh, no, add, delete, change, search, but even these four, there is a lot to explore.

Then there are the high concurrency scenarios that Redis would be a good choice to supplement.

Achievement method book

  • High Performance MySQL
    • O’Reilly’s animal book series, with a sparrowhawk on the cover, a thick book. True to its name, the book digs deep into THE features of SQL and pushes performance limits. By the end of this intensive reading, you are your own Database Administrator.
  • Redis Getting Started (2nd edition)
    • Written by Li Zihua, this book is a comprehensive and step-by-step introduction, perfect for getting started with Redis.

Redis on several data structures, so the previous recommended data structure books will come in handy, but for the early stage do not need to master much proficient, learn to save/take, but how to save/take is the key, there is a website, you can quickly check the command: Redis command reference

[3] and Dan

Dao friends in this realm can already deal with many business scenes by adding, deleting, modifying and searching, but do they feel powerless in the face of some particularly complicated scenes?

The essence of programming is math, and no matter what industry you’re in, math is always the one that pulls the gap. Therefore, in terms of the bottleneck encountered, it is necessary to make up for math at this stage, or it will be difficult to produce babies.

If at school, have studied mathematics, algorithms and other lessons, then congratulations, in this realm of cultivation will advance by leaps and bounds. But according to my observation, many of the front end are halfway home, although the hero does not ask the source, but relative to the way friends of the class, there are still many disadvantages.

Companies will abandon you, friends will betray you, math won’t, math won’t.

Achievement method book

  • Elements of Geometry
    • Euclid [ancient Greece]. If I were asked to recommend an introductory math book, I would recommend this one without hesitation. Einstein said, “If Euclid did not inspire your boyhood scientific passion, you are not a genius scientist.” Composed of definition after definition, axiom, proposition, and inference, the book is a perfect primer for getting started or reinvigorating your interest in mathematics with clever and elegant proofs.
  • Advanced Mathematics-Tongji University Edition
    • This is nothing to say, calculus is the key to open the door to advanced mathematics, how many science students in “advanced mathematics” this “tree” hung, even years later, the “green book” is still full of fear. It was the sixth edition when I was in college, but I think it’s the seventh edition now. I’m glad I didn’t throw it away when I graduated. There are a lot of study notes on it.
  • Introduction to Calculus
    • Written by Xiaoping Bangyan, douban high score, relative to Chinese university textbooks, this book is relatively easy to understand, can be used with high number together. Although it is the beginning, there are many profound questions can be repeated taste.
  • Probability Theory and Mathematical Statistics – Zhejiang University Edition
    • If let you realize alipay’s “weekly joy” activities, how will you do it? Life is full of probabilities, so it’s fun to study probability theory. For example, there is a very interesting proposition in Zhihu: How many men/women do you need to talk about in order to have 12 zodiac signs?
    • There’s another one. If there’s a button, if you press it, you can get $5,000 for free, but there’s a one in a million chance you’ll die on the spot. Would you press it? Press, why not press, I will press until the wealth is free, you know, every day to go to work, every month there is a 1 in 100,000 probability of being killed in a traffic accident, and compared to 996 sudden death rate, 1 in a million is nothing.
  • Linear Algebra – Tongji University edition
    • Linear algebra is an essential skill if you want to break into AI, like a lot of image data processing, and without line generation it would be a disaster. Even in other areas, it can make a difference. You have to experience it yourself.
  • Discrete Mathematics and Its Applications (original Book 7th Edition)
    • The reason why I did not choose a university textbook is that this book is more closely related to practical computer problems. Discrete mathematics is the only way to learn all advanced courses in mathematical science, providing the mathematical foundation for many computer science courses, such as data structures, algorithms, database theory, computer security, operating systems, etc.
  • Introduction to Algorithms (Original Book 3rd Edition)
    • Computer science book series, very thick (1200+ pages), very, very difficult to read a book, covering a lot of classic algorithm problems, if you do not have a certain mathematical foundation, should not be easy to try. And, of course, the returns are surprisingly high, with salaries in the tens of millions.
  • Algorithms (4th Edition)
    • The Turing Programming series, with its orange cover, is a little easier to read than Introduction to Algorithms, but not by much. The book is written in Java, so converting to JavaScript requires some coding expertise.
  • The Art of Computer Programming
    • Is a very difficult to read series, a total of 3 volumes, is recognized as the field of computer science classic, in-depth exposition of the theory of programming, the development of the computer field has a very far-reaching impact. Bill Gates once said, “If you’ve finished reading The Art of Computer Programming, send me a resume immediately.”
  • Linux Command Line and Shell Scripting (3rd edition)
    • Since it is the back-end, it is essential to use the Linux environment (what, you mean Windows deployment? Excuse me…) Efficient use of Linux commands, such as searching through millions of log lines for key content, saves time. Also, Vim is the best text editor in the world.

In fact, there are many things you can do at this stage, such as ali Cloud/Tencent cloud deployment, Docker, micro services, and Serverless recently produced by Tencent. You can read official documents and blog tutorials, or you can also buy relevant books. I don’t recommend it here.

[4] yuan infant stage

At this stage, it is similar to the phase of transformation in the front end, which is also the existence of the first-line leader. In addition to mastering some management skills, you can also compare other languages, such as Go, to learn from each other’s strengths.

Achievement method book

  • Refactoring – Improving the Design of Existing Code (2nd edition)
    • How many times have you been outraged by the mess left behind? Or are you embarrassed by the shit-like code you wrote? This book is classically reproduced and described in JavaScript. But remember, don’t refactor for refactor’s sake. The biggest lesson of this book is to know what good code is in the first place and to avoid writing “bad” code.
  • Go Programming Language
    • The Computer science book series, which serves as an introduction to the Go language, comes with hundreds of typical examples.
  • Go Language Practice
    • The cover features a warrior with a bow and arrow, and the book, as its name suggests, can be eaten in conjunction with the Go Programming Language.
  • The Jungle Book
    • Can double repair to this realm of friends, how is the company’s irreplaceable existence, guiguzi teach you how to handle the interpersonal relationship inside and outside the company through the maneuver, to maximize the “interests”.
  • Sun Zi’s Art of War, Sun Bin’s Art of War
    • If you want to advance to a higher level, such as the decision-making level, it will be more or less helpful to learn the art of war. Many senior executives and directors of international companies have read Sun Tzu’s Art of War, and you have to admire the wisdom of our ancestors.
  • Tao Te Ching
    • Since it is the Taoist school, so the ancestors left the treasure how can not read it? Combining Yin and Yang, I believe that when writing code, it will also be full of philosophy. There are also some management philosophies that are in tune with Google’s culture.
  • Historical literature, such as Spring and Autumn Annals, Mencius, And History and Wisdom
    • Qin people are not free from sorrow, and posterity of sorrow, posterity of sorrow and not mirror, also make posterity and sorrow posterity.
    • The only lesson that mankind can learn from history is that mankind cannot learn anything from history.

The difference between Go and Node is discussed in the group by Snail Laoshi from IT Touch Fish:

“Go is responsible for sprint, Node is responsible for rejection, both to learn, in line with the Yin and Yang of tai-b two instrument gossip.” “If you only learn Go but not Node, it is easy for Yin to flourish and Yang to decline, which will lead to kidney deficit for a long time, and vice versa.” “Programmer, no matter what language core is internal force, learn other, just to broaden vision, better learning front end.” “In the world of swordsmen, if they can’t learn sword, they will learn gun, and if they can’t learn gun, they will learn sword. They don’t realize that internal force is the most important for any weapon.”

[5] god period

This realm of masters, in reality I have not encountered, but the following recommended books, certainly can be used:

Achievement method book

  • Rehabilitation Guide for Cervical Spondylosis

At the end

The front end is a more perceptual post, what you see is what you get, from the front end into the line, learning will not be boring.

The front end was originally separated from the back end of a kind of post, just as there was no product manager (foreign product manager, basically have technical background, domestic…… Everyone is a product manager). However, in recent years, the development of the front end makes rapid progress, and various frameworks emerge endlessly, reducing the threshold to enter the back end, making it possible for the front end to advance to the full stack, and it is possible to become an independent product producer in the future.

Here again are the classic sayings of “old wet snail” :

`