Anyone who asks this question should be beaten, dragged out first, and given a slap on the wrist. If you are a computer science student or someone who intends to work in the IT industry, then you can get another 50 points!! Why? Because you have never thought about this question. You are a typical beggar. This is a taboo for people who work in computers! ! Let's look at the following two main reasons: 1) Programming is not always smooth sailing. If this happens, you may be dreaming. You will always encounter various problems. Do you always ask "Who is the expert, can you help me check this program? Why does it always show errors?" every time you encounter a problem? If it is a complicated problem, it is OK. The expert will solve it for you after checking it, and you will be more experienced. If it is a problem like missing a comma, then it would be strange if the expert does not beat you to death. 2) Technology updates too fast. You may be a top student in school and always be sought after, but the technology you learned may be updated as soon as you graduate. If you don’t keep learning, you may be outdated in 1-2 years. Just like you are learning HTML, while others may have already mastered HTML6/7/8. During the learning process, when you encounter a problem, will you ask “Who knows HTML8?” My God, HTML8 has just been released, and not many people know it, okay? ! I won’t go into other reasons, but based on these two points alone, as an IT person you should not be a freeloader! Well, if you insist on being a freeloader, that's fine, because directly using other people's experience can save a lot of time and energy. This is understandable. We all have times when we are freeloaders. The key is that there is such a group of people who are really annoying! They would ask questions like “What if I don’t have project experience?”, “The new Python seems to be very popular, but what should I do if I don’t know how to use it?”, “I listened carefully in class and watched videos online, but why don’t I know how to do XXX?” People who ask such questions are simply amazing. They ask questions knowing the answer!! Without project experience, you won't do more small projects. Who told you that project experience only requires large enterprise projects? Python is very popular, but you don't know how to find courses and materials online. You can immediately understand it by asking others. Who told you that programming is learned by watching? Learning IT requires more hands-on, hands-on, hands-on, understand? ! Without hands-on practice, no matter how much you read, it is equal to zero. It's like reading a lot of love manuals, but if you don't find a girlfriend to fall in love, everything is empty talk. It's easy to talk about it on paper! Blah blah blah, there are as many complaints as you want. Sometimes it's interesting to look at this question when you are unhappy~ I have said a lot of nonsense before, now let’s talk about the serious matter, which is "What knowledge do I need to learn to be a programmer? 1. Two major capabilities 1. Learning ability As for why we need learning ability, I have already complained before. I think everyone understands the reason, so I will not repeat it here; I just want to remind you again that you must keep learning at any time~ 2. Hands-on ability I need to talk about hands-on ability. Hands-on is the shortest way to learn programming. If you don't understand something, you can try it right away. If you want to make a little gadget for fun, don't wait until tomorrow, start doing it right away. If you want to learn new technology, the best thing is to start writing it... I will not elaborate on other questions like why you need to do more hands-on work. If you have this question, just slap yourself in the face first! 2. Basic Learning What is basic learning? For example, if you are learning Java, you should have a basic understanding of network basics, a basic understanding of computer basics (the so-called basic understanding means just reading a book and understanding it), you should understand Java syntax, the three major Java frameworks, J2SE, JDBC, design patterns... In short, you should at least understand or know all the knowledge related to Java, and have a thorough understanding of the key core content; I won’t go into details, just look at the following picture: Java programming mind map (reprinted from online resources)3. Mastering Common Tools What are commonly used tools? As you can see from the picture above, your programming development tools (VIM/IDE/Eclipse), no matter which one you use, you need to master them proficiently; your version tool, now commonly used is git, at least you have to learn to use the most basic ones, of course there are many others (markdown/database use, etc.), you need to master the tools you commonly use. Git common quick reference table Vim common quick reference table4. Choice of technical direction After mastering the previous skills, congratulations, you can at least fight small monsters (anyway, just use the skills you have learned to the best of your ability to fight small monsters, and the small monsters will basically die). You can also apply for jobs as a fresh graduate, but this is far from enough. If you want to defeat the BOSS, you can't just use the skills you have learned casually, you need to practice more special skills. At this time, you need to choose a technical direction. Think about it, if you study Linux, and you have learned the basic knowledge well, you also know that there are so many Linux knowledge and skills, you can't be proficient in every direction, only proficient in one field, and understand the others, so that your competitiveness will be greater. At this time, you have to think about whether you want to do Linux research and development or Linux operation and maintenance, and then study in depth in the technical field you choose to achieve the level of defeating BOSS monsters. It seems that the above points are enough, but some friends may ask, should I read books or look for resources online? ~~(>_<)~~, this question is also very interesting. It must be combined. Books are more systematic and organized. Internet resources are more numerous but more scattered. There are many open source projects. You can study them well, but you can't generalize. The courses on some IT learning websites are still very systematic. My suggestions are:
I won’t say much else, ***, I hope everyone can become an excellent programmer! |
<<: How to survive programming 80+ hours a week?
>>: An excellent Android application starts with building a project
Actually, I still don't know when the Chinese...
How much does Beihai's moving agency app cost...
1. WIFI Manager link animation advertisement Stro...
Mobile application product promotion services: AS...
[[135753]] As early as 1996, shortly after the bi...
Today, the topic I want to share with you is the ...
Mr. Crab · Short video traffic diversion - The ga...
There is no doubt that the topic of mini programs...
The launch of mini programs has brought convenien...
As one of the current hot tracks, local life serv...
In large-scale marketing activities, community op...
As the core of conversion, the importance of land...
Affected by the epidemic, holidays and working ti...
[Background] Time flies, and in recent years, dev...
On October 16, 2014, Wandoujia held a product rev...