What is the inner strength of the programmer?

1. Is it better to go to a technical school?

 

When I was in college, I once had an idea that it is better to go to a technical school than to go to a garbage college! ! ! And almost dropped out of school and went to technical school... Fortunately my dad scolded me...

Because by the third year, except for the basic concepts, the school taught nothing. Teaching Java and C++ are also basic grammars.

For the elective web design course, the reporters rushed to grab the spot. In the end, it is to make a simple html page, even jquery is not taught.

 

Is such a university really useful? ? ?

 

President of Yale University: If a Yale graduate has some very professional skills, it is a failure of our education...

I can't even understand.

How can I find a job after I graduated and didn't learn anything? ? ? Are you ready to drink northwest wind? ? ?

With the increase of age and experience, I will gradually understand the depth of this education.

The current university education is actually general education. The so-called general education is to give you the potential to develop in all directions. Instead of taking you in that direction.

So, on this basis, the university will give you the ability to learn JAVA by yourself, instead of taking you from Java entry to proficiency.

 

The university’s vision is more ambitious. It cultivates elites who can teach themselves according to your own hobbies, rather than simply learning the use of tools like short-term training.

 

And this vision is built on the basis that every college student can learn the basic knowledge well and learn a certain skill by himself.

"Work harder, it will be easy when you go to college"

This is the biggest lie of a high school teacher. If you are really in college, eating, drinking, having fun, picking up girls, and having fun. When you graduate, there is a high probability that you will take the training course route.

 

A university is not a technical school! As a result, you will not be able to learn practical skills without self-study, and practical skills are the evaluation criteria for the company's recruitment, which is the fundamental reason why the training class can live for a long time.

 

2. Where is the usefulness of basic knowledge?

 

Any theoretical knowledge is difficult to see value in the short term, especially when you are just entering the industry.

 

For students who are just getting started in programming, what they learn is how to write grammar, how to use IDE, and the use of basic tools.

At this time, it is impossible for you to use any theoretical knowledge.

It's like flying a kite. In the early days, when you follow others to make a kite, you will not consider the basic principles of kite-knitting. You only know that I can do it as long as I follow others.

However, after you become proficient, you need to design your own kite, and there is no way to imitate it. At this time, these basic principles can be used. You need to know what design principles need to be followed to tie a kite, and what structure must be followed so that the kite can fly and fly higher.

 

The code is also the same. In the initial learning, it is just an imitation process. The network request used is just a code written by others. Remember to realize network communication.

 

But after you become a skilled worker, you need to understand its internal principles. At this time, you need to understand the mechanism of network requests, the difference between TCP and UDP, and the five-layer protocol of computer networks.

Are operating systems and compilation principles useful?

You don’t need it when you are programming. Because the operating systems are all ready-made, you cannot modify the operating system at all, and the programming principles are the same. 98% of people are unlikely to have access to the compiler.

But where is its value?

 

The greatest value of basic knowledge to programmers is the cultivation of software thinking ability and the subtlety of software architecture awareness.

 

The obvious difference is that two people learn a new framework at the same time. Students with a solid foundation are familiar with the network protocol and the processing mechanism of the network part of the operating system. They can learn more than those who have no or little understanding of some parts. It’s much faster and much more thorough.

The general framework design is developed around performance, reusability, and high scalability.

To do this, you must have a deep understanding of the underlying dependencies, and these are the necessary skills for intermediate and senior programmers.

In martial arts novels, martial arts are both internal and external. There are only moves, without any lethality.

An example of only internal strength is like Wuyazi taught the Xuzhu internal strength for 70 years, but did not teach the Xuzhu skills. As a result, Wu Zhukong has an internal force, but he does not know how to use it.

Martial arts training after having internal strength is just like Zhang Wuji's practice of Shifting the Universe. He hasn't done it for decades, but he can only easily reach the seventh level.

If the basic knowledge is the inner strength method, and the specific programming skills are the tricks. Just remember how to write the code. If you don't understand the principle, it is very difficult to become a master. And only knowing the basics but not programming is just like the inner power of the empty bamboo sky but not knowing how to use it.

Only by practicing both internally and externally can you become a peerless master.

 

Three, the basic knowledge is not too much

Therefore, the learning of basic knowledge is not effective at your initial stage. If you want to quickly find a job, get a promotion and raise a salary by learning the basic knowledge, it is unrealistic.

If you are still in school, it is recommended that the teacher's class is as good as possible. Don't go to school for four years and escape for four years. Then, amateur self-study development courses in a certain direction, self-improvement. It will be very competitive when recruiting at school.

I carefully sorted out the video courses and e-books of introductory, advanced, and practical aspects of computer in all directions. They are all necessary experiences on the way of technology learning. Learning with video is the fastest progress, and all courses have source code, follow directly Go learn! ! !

These are what the teacher would not teach during the school, just as a supplement. Reply to the resource download in the official account.

For students who are already working, there is no need to gnaw on a thick book. I suggest learning which piece of logic is used to complement which piece of logic. For example, if you are looking at the code of network communication, you can look at the computer network book in the university to understand the functions of each level of the network from a macro level, as well as the difference between various communication protocols.

Basic knowledge is not a cure for all diseases, but if you have the patience to learn, you may insist that after two or three years, it is not an exaggeration to upgrade one or two grades to your existing level. Promotion and salary increase are natural. Thing.

Of course, persistence is the most difficult thing, and it is still two or three years, which is easier said than done. This is why there are so many development posts and so few expert posts.

 

I am Qijian, a vivo R&D expert, project manager, former Ali, a large-scale programmer with a book, a career, and eight years of work experience.

Listen to me, avoid detours, program life is simpler.

If you are lucky enough to be able to help you, please give me a [Like] and give me attention. If you can comment and give encouragement, it will be greatly appreciated.

All my articles and answers are in cooperation with the copyright protection platform. The copyright belongs to Qijian. Any unauthorized reprinting will be punished!

 

Guess you like

Origin blog.csdn.net/harvic880925/article/details/109178051