Today's article comes from the answer to my question ： How can students majoring in computer science and technology avoid becoming low-level code farmers ？
I go from big to small , Four suggestions are put forward . If you can do , You won't just be an ordinary coder after graduation .
Correct your mind
Setting goals is something that all of us can , When we set up flag： Want to be a good engineer 、 Want to learn TensorFlow When , In fact, we have set a goal . However It's no use setting goals , Goal or goal , You are still you. , Not to mention getting close and achieving the goal , There's not even a tendency to move toward the target . That's why most people give up halfway , So before everything starts , First of all, we should correct our mentality .
There is nothing in the world that can be done overnight , Want to improve their own strength , Going up is a long process of confrontation with yourself , It's not that I had chicken blood and read a few technical articles today , I'll paint it twice tomorrow LeetCode You can get stronger .
Mr. Buffett said something ： We have been working hard for a long time , It's like snowballing down a long slope . The slope is too long and gentle , So that at the beginning, it was almost impossible to see that it was a slope , The snowball rolled very slowly . however , As long as we keep going , It's going to get faster and faster , The farther back, the bigger the snowball , The more you get .
I feel more and more , The so-called talent is actually a person's patience rather than intelligence . How patient can you be , How much can you endure , How well you can do things .
Many people are afraid of hearing these truths , I'm afraid I can't make it , But the good news is that the slope of technological strength is actually very steep , It's much steeper than you think .
You can learn a language in a month , Adhere to half a year to be familiar with a field of Technology , If you stick to it for two to three years, you can become a good engineer . This is actually very, very fast , Unbelievable words , Let me just give you an example , You can go and have a look 《 In the name of the people 》 and 《 Ming Dynasty 1566》 These two plays , Go to see if you want to get along in the officialdom , How hard is it to do things right . My personal feeling is that I want to change from a fool to an official , It will take at least a decade to start . by comparison , The success of engineers in two or three years , Is it much faster ？
The more you know, the more you know why
I talked about some general methods , Later, let's talk about some specific measures , It can be applied to help you . I have introduced this point many times in previous articles , It's a very, very effective method that I've come up with personally .
The growth of programmers runs through bug, meet bug And various problems are inevitable . But encountered bug After that, everyone's different ways of dealing with it are totally different .
Let's say , Write java When , Less configuration files , It leads to abnormal environment , Report errors . Some people do nothing , This time it's a situation , It took a lot of time to look up the data and solve , Next time we meet, we still need to check the information . Some people , Is to remember the reason for this anomaly , Next time you meet me, you don't have to check the information , It can be solved directly . There are others , Not only did you remember the reason for the anomaly , And to find out the background and reason of the problem , Why do I need a profile , What does this configuration file do . such , Not only can the same problem be solved next time , There's a problem of approximation , Can figure out how to solve . and Behind the problem solving is the growth and breakthrough of technology .
I used to graduate to do java When ,git、maven I haven't used it .maven It's very easy to have problems , Yes java We should all know , A little bit of a bag didn't match well , Or the wrong version will report an error . At the beginning , It's my senior brother who helped me solve the problem . And then I found out that I didn't grow at all , So I tried to solve it myself .
It takes a lot of time to start with , To find out the cause of the problem . later , It took me a little time to learn maven Principle , And the spring as well as tomcat How does the framework work when it runs . Soon , Not only can I solve my own environmental problems , It can also help others solve problems that others can't solve . It's at this stage that I've made rapid progress in my technology .
Being a programmer is a profession , It needs technology accumulation . How technology accumulates ？ It's not enough for us to study by ourselves , The experience we have accumulated in practice is also a very important part . Make good use of every chance you encounter a problem , To learn a principle or a method , Accumulate over a long period , You'll find that you know a little bit about everything , It seems that a lot of pieces are just put together . By this time , You're not far away from the tech giant .
Setting goals and dismantling goals
A lot of great gods share a lot of methodology with you , It all makes sense . But really let you practice , You may still not know where to start . The reason for this is very simple , Because your goal itself is not good .
In the field of performance appraisal, there is a famous SMART principle , Namely specific,mesureable,attainable,relevant and time-bound. Which translates as Concrete 、 Measurable 、 Feasible 、 Relevant and time limited . Take a simple example , We want to improve ourselves to become senior farmers , So here comes the question , What kind of code farmer is a senior code farmer ？ How do we quantify indicators ？ What are the small goals related to this goal ？ How long are you going to get to ？
Ask yourself these questions , Does it feel like a lot more immediately ？ It's not as confused as before ？
We all know that we should have a goal before we do things , But few people know that goals fall into two categories . One is a long-term goal that is used to continue to work towards approaching goals , The other is a short-term goal that can be implemented right now . In the process of your efforts , Your short-term goals move forward with your progress , It's always changing . And long term goals , Relatively stable , It will remain the same for a few years .
Take me for example , Become the top official account , have 10w The fans above are my long-term goals , Raise the headline reading to 600 These are my short-term goals . Long term goals can take years or even decades , But the short-term goal is iterative in real time , Maybe next week I'll have it . A new target will be designated .
People are confused a lot , There are two main reasons , One is not sure what will help our goals , The second is that we don't know how to find the execution point in the target . To solve these two problems , The best way is to split up . The finer the target, the better . The finer the goal, the clearer it is , The more specific, the easier to implement .
For example, you want to enter BAT, There's nothing you can do about this big goal . But when you take apart the solid foundation 、 Accumulate experience 、 After preparing for the three medium goals of the interview , You're not blindfolded . If you continue to split , Break up the solid foundation and master it Java, And master it skillfully Java Split it into understanding Java The concept of object-oriented in , So you know exactly what you're going to do right now . In this process, if we can combine the above mentioned SMART principle , Then your sense of purpose and drive will be stronger .
Do more 10%
The last one is a bit universal , Not just for programmers .
How to go from ordinary to excellent , From good to better ？
Sum up to sum up , It's nothing more than putting in more effort , And ask yourself to higher standards . I'll quantify this one personally , Design into Methodology , In a word , That's to do more 10%.
You and I all know , Pursuit determines achievement . If you pursue achievement, master , Even if you can't be a master, you can be an expert . If you pursue becoming an expert , You may only become a scholar , If you pursue academics , Maybe you can only be an ordinary employee , If you're after the average employee , Maybe you can't even find a job ……
But I have to admit that , Not everyone dares to set high standards . Not everyone has the ability to pursue high standards , But do more 10% It's completely feasible .
There are so many examples , For example, the boss asked you to make a data , You ran the data in an hour , Can you write one more paragraph in ten minutes python How about making some charts ？ You spent an afternoon developing a feature , Can it take more than 20 minutes review Take a look at your own code and look for potential ones bug Well ？ You spent a lot of time learning a little bit of new technology , Can you also spend a little more time to record it for future review ？
My first year of graduation was a time when my skills grew very fast , At that time, the supervisor at that time would give us technology sharing every week . Other people come with ears , It's over when you hear it , I'm the only one listening and remembering , After that, I took some time to sort out the notes .
It turns out that by taking notes , And full preparation , I interviewed Ali senior engineer with one year's working experience （ And I'm still an undergraduate ）, This is also Ali's fastest promotion . More Than This , I lent this note to many friends , It's also a great opportunity to help them .
Think carefully , In fact, this is also very in line with marginal benefits , A lot of things, marginal benefits increase first and then decrease , It's like an exam , from 0 I got a score of 60 Points are actually better than from 60 I got a score of 80 It's much harder to divide . Because I can get 60 branch , It shows that most of the basic questions have been learned , Just a little bit more consolidation , Learn a little more additional questions , You can definitely get 80. It's from 80 I got a score of 90 It's hard to divide , Because all the easy questions have been done , All the rest is hard bone . But a lot of people put in a lot of effort , Just made it 60 I can't wait to give up , I have to say it's a pity .
Break through yourself , In fact, we don't need to do earth shaking things , Most of the time, we start with these seemingly small things .
If you want to improve your programming skills better , study hard C/C++ Programming knowledge ！ So you're lucky ~
C Language C++ Programming learning communication circle ,QQ Group 1030652847【 Click to enter 】 WeChat official account ：C Language programming learning base
Share （ Source code 、 Project practice video 、 Project notes , Introduction to Basics ）
Welcome to change careers and learn programming partners , Using more information to learn and grow faster than thinking about it yourself ！
Programming learning books ：
Programming learning video ：