How can a programmer advance to become a god?


640?wx_fmt=gif&wxfrom=5&wx_lazy=1

Hot Article Guide |  Click on the title to read

Welcome to Java and Android Architecture Knowledge Planet

Android Factory Interview Questions Collection with Answers (BAT TMD JD Xiaomi)

so cool! 74 APP complete source code!

This is my answer to a question from a golfer in my knowledge planet. I think this question is universal to programmers. I am sharing it with you, hoping to inspire and help everyone!


A certain knowledge is a question from a planet golfer: I am a php backend who has been working for a year! From the training institution, it has always been an independent project! Of course, there will also be team development and app interfaces! But mostly indie development! And have never done a project with it! Skills range from server linux to mobile h5! Because I studied accounting in college before, writing code is later trained!  So now I feel like I've reached a bottleneck! I don't know what to do next! Ask for directions!


Hello, your question is universal, I believe many people have the same question as you! 


1. First of all, you must establish your technical direction and goals, and then move towards this direction and goal. The most important thing is to do a good job in career planning.     


For example, if you are doing php, you may think that my technical direction is php in the future, so you should work hard to study php technology, determine your career plan, and determine whether you will take the technical route or management in the future. 

In a word, first of all, you must determine your own direction, and now think clearly about what you want to do, don't be in a hurry for a few years without any growth, the most precious time in life.


 2. After determining the technical direction, work hard to research the technology   


Technology is more expensive than specialization. Don’t think about becoming a full stack. Learn something here and learn something. For example, some classmates went to learn android a few years ago when android became popular. Now that python is popular, they go to learn python. Learning is not good, learning is not good! forever just a junior programmer 

First of all, go deep into a certain technical aspect, learn to understand it thoroughly, and deeply understand its principles. After you have learned a certain technical aspect thoroughly, you will find that you will be asked to learn other technology stacks, and you will It's easy to find out, you can read the official documentation of the technology, and the code you write will be much better than the programmers I mentioned above, because everything changes! The principle is the same 

In fact, when you really learn a certain technology, you will find that you may have become the leader of the architect team at that time, and you may not need to write specific codes for a long time, or you may not need to learn other technologies!

 For example, the author no longer writes specific codes, but more about the control of the technical structure and general direction, as well as the management work! The author started out with J2EE, and then switched to Android in Eryi, but now I have time to look at other technical directions, such as after reading the official documents of iOS and swift, I know what's going on, and I can start writing projects. Now, I have also read the official python documentation, and after reading it, I can also start writing projects. 

There are countless such examples, and the author has seen many in my work. So, don't pursue the full stack from the beginning. The real full stack is practiced like this~ 


3. The foundation is very important, lay a good foundation, learn data structures and algorithms, and design patterns      

How to become a technical master and break through the technical bottleneck? First of all, the foundation must be solid, and you must learn data structures, algorithms and design patterns! Because this can be said to be the cornerstone of the entire computer technology building. Without it, there is no computer technology, and any other technical direction will be used!      

 You will also find that tech giants like google, facebook, etc. pay special attention to these inspections. If you interview their android engineers, they may not ask you about the specific technical points and implementation details of android~       

In fact, the author's inspection of candidates is more focused on the inspection of this aspect, because in this way, the inspection of candidates will be more comprehensive!       

From your description, maybe the crux of your technology's bottleneck is here. Maybe because you were born with training, the technology only knows how to use it.

I don't know why this is the case, it's just that, but I don't know why! The reason why you are like this is that your foundations are not solid. What you urgently need now is to consolidate these foundations.       

Remember that technology may become obsolete, but these will not 


4. The most efficient and effective way to improve technology is to watch videos~     

Compared with reading books, watching videos is the most efficient way to learn technology. Reading books may make you feel boring, you can't read them, you can't understand them! However, the video will give you a deeper and more three-dimensional impression through the explanation of others. Compared with reading a book, someone's explanation of a certain knowledge point may suddenly make you suddenly enlightened, with higher efficiency and lower learning cost!       

Of course, it doesn't mean that you don't read at all. When you have a certain depth in learning technology, you can specialize in a classic book in the technical direction. Remember, one classic is enough, not too much! Too many books are useless. For example, many students I know have bought a lot of technical books explaining android, but each of them has been flipped through, and none of them have been thoroughly read!         

Read technical books, choose a classic, read thin first, then thick and then thin~ This is the correct way to read 


 5. Communicate with others more at work!          


Communicate and communicate more at work, especially the technical experts in the same group, whether it is technical or life! After more communication with others, you will find that you will gain a lot. The experience of others may be very helpful to you, so that you can avoid detours! Immediately let you master the trick~ 


 6. Be proactive at work, don't complain       

In addition to undertaking your own essential work, take the initiative to undertake other work, because the ideas you put into your head and the skills you learn from yourself cannot be taken away by others.        

Don't complain, complaining is useless, it can only bring negative energy, the most important thing is change 


7. Insist on writing blogs and technical articles, summarizing more, and participating in open source projects       


It doesn't expand 


8. Choose a good and promising company to accompany its growth      


When you find that the company cannot meet your own growth and development, you should change jobs decisively, because after all, the most precious thing in life is time, especially in the programmer world~        

When the company is developing well and I can learn something and get exercise, I will calm down and accompany the company to grow. 

 Remember, don't change jobs easily, don't change jobs because of salary and unsatisfactory work in the company! After all, the most precious thing in life is time! Always change jobs for the sake of your own development and improvement of your abilities 


9. In the end, it's all about perseverance      


No matter how much I said above, it is useless, the most important thing is to persist in action              


Make a study plan and stick to it!         


Everyone should know this. I won’t say much about my work experience in the past few years. Let’s talk about it first.


Finally, welcome everyone to join our knowledge planet to communicate, learn and discuss more! Our planet not only shares high-quality learning videos and materials, including: Android, Java, Python, artificial intelligence, algorithms and architecture , etc., but also shares other experiences and insights such as life, workplace and growth.


For details, please refer to: Welcome to Java and Android Architecture Knowledge Planet

Finally, everyone is welcome to join our knowledge planet. The second phase is in full swing, and nearly 1,000 people have joined the study :

Everyone is welcome to join as soon as possible. This period ends on March 10, 2019, so the sooner you join, the better. The promotion ends. The current entry fee has been raised from 79 yuan to 89 yuan, and the fee will increase by 10 yuan for every 100 people in the future~

640?wx_fmt=jpeg

For more learning materials, click "Read the original text " below

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325346002&siteId=291194637