How to become a great programmer? These points are important

My son asked me the other day: "How do you become a great programmer?"

Ever since I started learning programming, I have also admired those who are better than me. Although the idols keep changing, it just shows that I am making progress, because slowly I am getting closer and closer to the kind of people I envy. I had to change to a better person to be a role model.

Yes, it is right to want to improve my level. It is the mentality of always wanting to be more powerful that motivates me to keep chasing, and I have the confidence to retire now.

How to be a great programmer? I thought about it for a long time, and finally wrote this article and shared it with you.

insert image description here


1. Get rid of the "simulation room" and enter the workplace

Whether your programming ability is self-taught, taught in training classes or taught by teachers at school, you may be able to make some things at this stage. It seems that you have achieved some achievements, but it can be said that you are all in the "simulation room" stage. There is still a long way to go before the actual development of the project.

No matter how much you learn, the projects you are exposed to during the learning phase look more advanced. As long as there is no opportunity for project practice, these programmers are basically worthless, because the gap between the learning project and the actual project is very large, and if there are three If you don't go to a software company for a month, the skills you learn will soon be forgotten.

It's like a gunman has been practicing 10 rings on the gun handle at the shooting range. People around you think you are a sharpshooter, but when an emergency comes, if you shoot, you may not be able to hit the fifth ring, or even hit the target.

insert image description here

So if you are at this stage, it is recommended to find a job as much as possible, and go to the company to participate in project development. Salary and company size are secondary, and participation and promotion are important .

Of course, it is better to have the ability to enter a large factory for an internship, no doubt, but this also depends on personal ability, you can try.

Many people will feel a sense of emotion after work. The grammar, framework, etc. that took a long time to learn before are not done in the company's project. Some people even doubt that they have learned something. This is actually quite normal. The beginning of work is a transitional stage from learning to practice, so there is no need to have great resistance.

Send you a sentence to experience it yourself: accept what cannot be changed, and change what can be changed .

insert image description here


2. Don't ignore the development technology of the application layer

After working, many people feel that the technical threshold for application-level development is low, and a young person can do the same thing as you for half a year, so they don’t take it seriously. For example, to develop an application, high-level languages ​​and frameworks are often used, such as C# and .NET, such as Python and Django, etc. Give young people a little time, and they can do it, so the longer someone works, the more they will ignore these things , because they feel that there is no gap in this regard.

Actually not, even from a purely technical point of view, your understanding and grasp of a language and framework will seriously affect development efficiency and product quality .

If you have a deep understanding of the various characteristics of a language, if you have a unique understanding and rich practical experience of the mechanism of a framework and various application scenarios, then you are almost irreplaceable. Becoming an expert in this language and framework is invaluable.

insert image description here

Your one sentence may save a few months of time for a project, and a problem that others can't do anything about can be solved in minutes .

What kind of people will be easily replaced? People who know a little bit, but don't have a deep understanding, know the truth but don't know the reason, and have worked for many years but still can't see the essence of the technology used. replace.

So, don't pay attention to the words "you can run it", "it's enough to complete the task", "you don't need to learn so deeply" and so on. After you use a technology to solve a practical problem and meet a certain demand, Keep digging in, learn more, go deeper, and over time, you will definitely be different.

Fans who buy for free, move to the CSDN community


3. Difficult technology + algorithm + industry background

In addition to being very familiar with the technology of the application layer, you should also improve these three aspects in a certain period of time: difficult technology + algorithm + business.

1. Difficult technology

Difficult technologies refer to technologies with relatively high thresholds, such as assembly, operating system kernels and drivers, etc. The value of Internet programmers has always been to follow the rule of "rare is more expensive". If you are familiar with the Windows kernel or Android kernel, If you are proficient in writing various drivers, then finding a job with a monthly salary of fifty or sixty K is no problem.

insert image description here

.

2. Algorithms

Algorithms , many programmers can't say that they understand algorithms, and they use the modules in the framework to solve problems. Like stacking blocks, it is not really necessary to say that they are proficient in a certain algorithm and comprehend its profound meaning.

For example, you are proficient in image processing algorithms, for example, you are proficient in video encoding and decoding algorithms, for example, you are proficient in algorithms related to search and recommendation, for example, you have made achievements in the field of pattern recognition... Let's see who can stop you from moving forward?

insert image description here
.

3. Industry background

I don't know if you have noticed that many of the recruitment needs of enterprises require an industry background.

insert image description here

Even if there is no literal requirement, if the background of the company you have worked for before is similar to this company, and the business projects you have done have some similarities with what the company has to do, then the interviewer must be very willing to work with you Negotiations, the salary is very likely to be much higher, because technical talents with similar industry backgrounds are indeed hard to find.

A young man I know is a clear example. He has been working as a programmer in an e-commerce company since he graduated. He has changed jobs 4 times in 3 years. The salary is better than the last one every time. When he talks to me, he has When it comes to this question, he has always been looking for technical positions in e-commerce companies. He understands technology and has the same industry background. Coupled with some interview skills, it is not difficult to get a high salary.

Therefore, choosing an industry is also very important. If you can keep working in a certain line, you are a programmer with a clear business background. Even if the technology is not particularly good, it is of infinite value .

insert image description here


Fourth, enter the factory to upgrade

Failing to enter a big factory after graduation at the beginning does not mean that you cannot enter a big factory in the future. After working for a few years, your technical ability can be improved, but if you want to become a great programmer, you still have to go to a big factory.

If you have been in a small company, you may be very familiar with the company's business, and you can get along well in this company, but technically it may only stay in additions, deletions, revisions, and inspections. Since in most small companies, you may not have access to high concurrency and distributed, or big data, or advanced skills such as machine learning or deep learning, so if you stay in a small company for a long time, you may be exposed to additions, deletions and changes. check technology.

insert image description here

If you enter a large factory, or you are exposed to technical projects such as distributed, cluster or deep learning, you will learn some advanced skills, but if you stay in a small factory, you may never have such projects. do it for you.

I have seen many old programmers in small companies who can only do anxiety when they are in their 30s. They like to use jokes like "you can only deliver food in the future" to put their uneasiness away. As you get older, you will naturally have limited space under your feet.

Today's sharing is here, I hope it can be helpful to you.

insert image description here

Guess you like

Origin blog.csdn.net/zhiguigu/article/details/121657304