What knowledge does a programmer need to learn?

Source: Internet
Author: User

Those who ask this question should be beaten, dragged out, and rewarded with a red

If you are a computer student or are willing to engage in IT industry, then the War 50 big plate!!

Why? Because you do not want to think about this problem, a typical hand party, which is a big taboo for people engaged in computer!! And look at the following 2 main reasons:

1) The program can not be smooth sailing, if there is this time, then you may be dreaming, there will always be a variety of problems, do you ever encounter problems are asked "which Daniel, to help me see this program what is the problem, how always hint wrong?" "If it's really a complicated problem, Daniel has seen it and solved it for you, and he has more experience, if it's a comma or something like that, then it's weird not to kill you."

2) Technical update too fast, you may be a leader in school, is always sought after, but it is possible to graduate from the technology you learn is updated again, if you do not continue to study, after a 1-2 years, you may be eliminated. Like you are learning HTML, and others may have already html6/7/8, and in this learning process, you encounter problems will ask "who understand HTML8 this xxx?" ", I am, HTML8 only come out, will not many people, OK?!

Other reasons are not much to say, single from these two points, as an IT person should not become a hand party!

Well, if you insist to do a hand party, also can, because the direct use of other people's experience, can save a lot of time and energy, this is also understandable, we have to do the hand of the party, the key is that there is a pinch of people, can be irritating!

They will ask, "What if there is no project experience?" "The new python looks very hot, but what does it do?" "The class also earnestly listens, the net also looks for the video to see, how still does not have xxx ah?" "Such questions, the people who ask such questions, absolutely absolutely, this is not know why!"

No project experience, you will not do more small projects Ah, who told you the project experience as long as large enterprise projects ah; Python is very hot, you do not know online to find courses, information science Ah, you ask others can immediately understand Ah, who told you programming is to see Ah, learn it to do more hands-on, hands, understand?! Don't practice practice, see more also equal to zero, like you see more love treasure, not to find a girlfriend to talk about a love, everything is empty words, paper is easy! The bar, such a spit groove, how many, sometimes in the unhappy time to see the problem is also very interesting ~

Let's go ahead and talk about a big push, but here's the serious thing, "what do you need to be a programmer to learn?" ”

One or two major abilities

1. Learning Ability

about why need to learn ability, the front has been spit groove, I want to reason everyone also understand, here is no longer narrated, just again remind, must keep learning ~

2, hands-on ability

Hands-on ability also need to be verbose, hands is the shortest way to learn programming, if you have not understand the place, you can immediately hands-on operation; If you want to do a little thing to play, do not wait for tomorrow, start doing it immediately, if you want to learn new technology, the best is to write ...

Other about why more hands-on, such as the question, it is no longer described, there is the question of the person, he slapped himself on the face of it!

Second, basic learning

What is basic learning? For example, you learn Java, then the basic knowledge of the network, the basic understanding of the computer (the so-called slightly understand, is probably read a book, understand it can), Java syntax you have to understand, Java three framework to understand, J2SE to understand, JDBC to understand, design mode to understand it ... Simply put, you have to know the knowledge of Java at least to know, for the core content, to the best transparent;

The specific will not be described, see:


Java Programming Brain Map (reproduced from network resources)

Third, the Master of common tools

What is a common tool, you can see, your programming development tools (VIM/IDE/ECLIPSE), no matter which one you use, you need to master; Your version tool, now commonly used git, at least to learn to use the most basic, of course, there are many other (markdown/ Database usage, and so on), the tools you use often need to be mastered.


Git Common quick Check table
Vim Common Quick Check table

Iv. Choice of Technical direction

Before the skills mastered, then congratulate you, you can at least play a small monster (anyway, play the small monster will be hard to get out of the skills you have learned, the basic small monster hanging), but also as a fresh graduate candidates, but this is far from enough, want to knock down the boss, It's not just that you can shoot the skills you've learned, but you need to cultivate more specialized skills.

This time need to choose the technical direction, think, if you learn Linux, and your basic knowledge of the good, you also know that the Linux knowledge and skills so much, you can not be proficient in each direction, only proficient in a field, to other understanding can, so that your competitiveness is greater, That's when you're going to do Linux research or Linux operations, and then learn more about the technology that you've chosen to bring down the boss level monsters.

Seemingly on the above points, but may have a small partner to ask, that is to read books, or online to find resources?

~ ~ (>_<) ~ ~, this question is also very interesting, must combine Ah, book comparison system, into the system, network resources more but more fragmented, open source projects more, can study hard, but also not generalize, some IT learning website course is still very systematic, my suggestion is:

1, first read books, master the approximate system;

2, find it learning site, to their unfamiliar places for special study, but also a lot of it learning site has a lot of good projects can be practiced hand with (I use more it learning site is the experimental building, there are a lot of good courses and projects, the most critical is equipped with online environment, more convenient, Can look at the side of hands-on practice);

3, stroll various communities, foreign, domestic can, what csdn Ah, blog Park Ah, open-source China Ah, segmentfault, V2ex Ah, too much, choose their favorite, there are all kinds of Daniel and like-minded small partners together;

4, the problems encountered in the development, Google first, their own thinking, really still do not understand, and then to a community to ask questions;

Other will not say more, finally, I hope you can become an excellent program Ape!

Friends of the article, feel good to share to the blog park. Original link: http://www.jianshu.com/p/b2ba1251d8c1

What knowledge does a programmer need to learn?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.