To be an excellent engineer, you need to keep learning. Everyone has their own way of learning, so do I.

It seems that my learning style is scientific, and my growth in the last year proves it.

Some students are interested in my learning style or learning concept, so I sorted it out and shared it with you. There are four points:

Around work

There is no end to learning technology. There are many skills to learn in any field, and there are relationships between fields. With so much to learn, how do you choose what to study?

My advice revolves around ergonomics.

The technology used in the work is directly a scene can be landed, through these scenes you can learn this technology more in-depth, and the in-depth study of this technology can help you do a better job, do more in-depth innovation, so as to get higher performance, resume, interview is also a great help. So, learning the skills you need to do your job can be beneficial.

And conversely, what if it’s not about work? Maybe the technology you learned didn’t have in-depth scenarios, just stayed at demo level. And it’s hard to really learn it well without using it in depth. And it’s hard to put it on your resume or prove your in-depth knowledge of the subject in an interview without actually applying it to a project. Time and effort without a good return.

We have a limited time, and work is the most rewarding.

Use the debugger

Debugger proficiency is an essential skill for a good engineer, and as Wolf has said, debugger proficiency is an important indicator of a Good Node.js engineer.

Why is the Debugger so important?

The debugger allows you to stop the program at the logic you care about, run it step by step, look at the variables in the environment, and see what the inputs and outputs are. Each step is actually easy to understand, such as assignment statements, loop statements, these small units are easy to understand, and after understanding these basic units, the series can understand the complex logic.

Want to read complex business logic, want to understand the source code of various libraries, can not leave the Debugger. Only through the debugger to understand every step, to gradually understand thousands of lines of code.

I have written many debugger articles, such as:

Debugger techniques to make your NodeJS level explode

Use VSCode to debug the JS code of a web page

This section describes how the vscode debugger debuts node.js code and web code.

There are also specific debugging TS source code article:

Here are my tips for reading Typescript source code

If you can read Typescript’s complex source code, isn’t that proof of debugger’s power?

If there was a list of skills a good engineer must have, debugger skills would certainly be on it.

Emphasis on computer fundamentals

The software world is evolving fast, with new languages and frameworks emerging one after another. For example, in the front-end domain, jquery, which was in its heyday 10 years ago, is now rarely seen, and in the back-end domain, the phrase “PHP is the best language” is not often heard.

Doesn’t studying technology seem like a bit of a gamble?

It’s not.

Although many languages have been developed, the principles of compilation have not changed much.

There are many front-end and back-end frameworks, but they are also based on the ability of the operating system to do the upper layer of encapsulation, in the operating system this layer is very little change.

Basic computer technology is the one with the least change, the longest half-life, and the one worth investing time in.

What are computer basics?

  • Compilation principle (it converts human-readable source code into computer executable code)

  • Operating system (it encapsulates the hardware capabilities to the upper application, and good scheduling of various software resources)

  • Computer networks (which provide the mechanism for long-distance communication between computers and are the basis of the Internet)

  • Computer graphics (which is the basis for displaying 2d and 3D graphics on a display)

  • Audio and video processing (it is the basis of audio and video related technology)

In the field of software, it is enough to learn these basic computer skills well.

If learning is regarded as a stock investment, time is the principal, then the return of the computer foundation stock must be very considerable in the long run, without the big fluctuations of other stocks.

Do more effort processing

Do you often feel that after reading an article and listening to a course, you seem to have learned a lot, but what you remember and understand more deeply is very little.

This is because absorption rates are different in different ways:

You learn best if you teach it to someone else after you’ve learned it, and that’s what the Feynman method of learning is all about. (Feynman was a brilliant physicist who could prove the validity of this method of learning.)

Why would teaching someone else make you more effective? Because that’s what effort Processing does. Something that requires mental effort.

Biologically speaking, when you do something with your brain power, more connections will be made between nerves, so you will learn better, remember it more firmly, and understand it more deeply.

Therefore, don’t be afraid to share technology, write articles, explain technical points to others, solve technical problems, etc. All of these things are effort processing, although it will cost your brain and be a little difficult, but you can also have a very good learning effect.

Also, when you’re doing something that’s a little bit difficult, a little bit challenging, it’s nice to get into flow, which means you’re so focused that you lose track of time, and you’re productive.

In a word, more effort processing can not only improve the learning effect, but also enter the state of flow to improve work efficiency.

conclusion

Learning is a lifelong thing, and it’s good to take a moment to sort out learning styles and ideas once in a while.

My view of learning can be summed up in these four sentences:

Around work (what to learn)

Multipurpose Debugger (how to read complex code)

Focus on computer fundamentals (long term benefits)

Do more effort processing (improve learning effect and work efficiency)