This is the most wonderful answer I've ever seen.

Source: Internet
Author: User

Perhaps I have not seen the world, but it is I have seen the right "how to become a good programmer, rather than a good code farm?" "Most wonderful answer" copy and paste All "

In fact, my heart has been because of the work of the current "food service" and shaken, and suddenly want to learn the site, suddenly C language Foundation, suddenly C # suddenly Java Android direction, but when read this question and answer, I firmly I like the iOS, regardless of the outcome (life-long dining service, the bottom of life, Can't work in the software industry for a lifetime)

A good programmer will tell you how important it is to play the foundation, and you will be advised to endure it before it is thin.

Good Code Peasant Association tells you to learn what the bottom, what what what a drag on, learn python also what bike ah, data structure sorting function binary search is this built-in? Work will never be used, learning algorithms have what use AH? There are many ways to be a master.



+ + + Base Split Line + + +


List some of the basics I think are more important and attach a primer

Programming language, "programming language-the road to Practice", "concepts of programming languages"

Computer general knowledge, "Csapp"

Algorithms, data structures, introduction to Algorithms

Program design, structure, no book recommendation

Software engineering, the word everyone understand the difference, I think, "People's Month" "Code Daquan" "The Pragmatic Programmer" "SICP", talk about the test and refactoring are software engineering, in fact, the above design mode is also a project, haha


These books, at the beginning of the reading feel completely non-function, and to read many times to realize the meaning of it, so it is very appropriate to call it the foundation, the deeper you base to climb higher.




Split Line + + + + + + +


What is a good programmer?

Reporter and many netizens say that the panda is a master of incense

If you have any bugs in the company, he can tell you why. He can answer you with any software problem, and you think it's a master.

Some people say that the full stack of hand-made products is the master

The authors of each language are masters.

There's no writing code that throws out a restful paper

Others say that Gartner is God, and if he is God, then his code must be testing us, eh?

。。。。

Above these really are master, I thought the first two years was opened the Moto company employees certainly also have to do the master of function machine and write cheap board drive master


Do you want to pick your own direction or be fooled?

My idea is that I try to play, and then do my favorite direction. Of course, the programmer's eco-pyramid is made up of tools, infrastructure for the following people to program for the average person, so you choose the direction you can refer to this pyramid model




+ + + Crawl Pit Split Line + + +


The direction is set, then is to work, a big misunderstanding is "the pursuit of the best things", so it must be clear:

    • is PHP the best language?
    • Is OpenGL worse than DirectX?
    • Does the programmer have to learn maths first?
    • is the best C language book written by rectification?
    • Do you want to take off your pants before farting?
    • Which is the number of Linux distributions to choose?
    • Some Daniel says the IDE is better than the editor
    • I hear hackers use Notepad to write programs.
    • C # is a csharp and Java should not read [Add WA (softly)]
    • 。。。

If you are a *nix world player, you should know that there is a jargon to the above problem, called yak-shaving, I have mentioned a few times yak-shaving, but many people do not understand, it literally means any seemingly pointless Activity which is actually necessary to solve a problem which solves a problem which, several levels of recursion later, s Olves The real problem you "re working on.

But it is generally implied to use it, and here I give an example:

You were going to open the software to write a HelloWorld, the software prompts you to upgrade, you point the upgrade, prompted you XX library is not new, then you update XX library, prompting you to upgrade YY driver, then you upgrade YY driver, the system tells you to compile this driver, You have to download the S.F version of the compiler and library, you update the compiler, the system said S.F version of the compiler must run on the E.N system, and then you upgrade the system, a few hours past, you found that the system upgrade caused a few software corruption, and then you update those software, to find a solution to the problem, unknowingly into the middle of the night, There was a whole bunch of them, and HelloWorld didn't write ....


I have encountered these problems, my advice is to pick a book that Daniel said is, see the other will be. Of course, if you don't know Daniel (all of them know that it is impossible to search for such things), or simply curious-as I did then, try each one, but some of the answers you know for yourself, like editor Emacs is better than vim, writing program IDE is better than editor, You're not supposed to talk nonsense.

Yes, like a different paradigm of programming language, different development environment should try to experience, but this proposal is written, I said here is a bit of nonsense.


So, can not be irrelevant things to offset the goal, to focus, adhere to.

When you learn a language, it is not too difficult to learn another paradigm of the language, you learn to OPENGL,DX also see can write.


You look at the martial arts fiction, "Duan Yu is a silly, sometimes issued by the impulse wave and around the circle can run straight line of the bug technology plus a Buddhist can unrivaled martial arts eventually married mating, as the CEO, to the peak of life, Joe Peak is always a FBI Dragon 18 palm, more exaggerated. And Mr. Murong Double, basic mastery of the World Military Study, reading 4 hours a day to practice 4 hours, on hard who can and he than ah ... Can reach the age of more than 30 or nothing, PK even paragraph reputation this novice all do not, finally was robbed wife, is because the direction is wrong, and too not focus.

So ask for more than the special, depth to, and then spend 20% of the time to expand the breadth can be.




+ + + Important Split Line + + +


You have done the above things, it will take a 2 years to look like, for students, if you have a good school background, life can be set sail to start

But this is not the end, saying that people rely on clothes, beauty by packaging. Packaging is the door of knowledge, the packaging here is not let you suit tie bright leather dress black silk skirt white shirt whole a marketing dog HR modelling, is said professional skills on the packaging.


Why is this the most important part? Because others generally do not talk to you so much, especially the people who know how to pack, and will not preach you these non-biography of the Secret ....


The first step to packaging yourself is to improve your strength

Without the strength of the packaging that is in the castle, can only rely on the daily outsourcing of the big cloud of the structure of large data clouds live, discerning eye can see, so purely for show, no meaning.

In a field (compiler, virtual machine, development architecture, front-end ... To become an expert (the definition of an expert, my understanding is to be able to write proficiency in a resume), the strength of the package is even available.


The second step in packaging is to locate

Mention that the United States will have a lot of people out of the hope of human democracy, the savior, said Google is the purest technology companies do not do evil, the software industry's leading development industry benchmark, Heart beauty whitening lotus ... Even if you list Google selling counterfeit drugs, malicious crackdown on Yelp, hostage web standards and so on, they will also say that Baidu is worse (this is not 5 cents commonly used statement how to be the Democratic progressive people steal it?) ), but I didn't mention Baidu at all ...

This is all due to the packaging, so the great power of packaging, so as to be able to peep.


Google is a search engine, Baidu is also said that they are search engines? No, Baidu said that he is the most Chinese-language search engine ... Hahaha, don't laugh, it really works, just like Google says it's good to be a girl without being evil.


The programmer's packaging positioning is nothing more than scarce and unique in these two points. Things to dilute, scarce is to do irreplaceable, it is very good understanding, such as you know the world's first peak is Mt. Everest, if you have not seen the Zen master collection you can hardly know the second peak is heros, but wenqing special preference Kilimanjaro Mt., not climb not to marry you, why? The uniqueness of ... I am not with you, I and you than culture, and then won.


Because you have the strength, so you should try to put your own strength into the scarcity of properties, you are experts. Then you have a lot of strength, should be the unique strength of packaging out, and others to avoid the common exposure, so as to avoid being crushed under the body.


I said one of my friends packaging their own story, he went to the company took over a project, has been the next-door group developed a 3, 4 months of a software, in fact, the software 2 months can do well, but the next door people busy and also do not know, not familiar with this technology, coupled with not their own boss, so the work procrastination so long He took over a moment not idle, night take home also do, do midnight, 10 days made, and then the whole company's people know his name, he also stood firm heel.

The theme of this package is that it has strong technical strength and fast development speed.


The third step in packaging is to promote

Promotion is to let people know that you do well, strengthen your personal brand, you can use blogs, know, mailing-list, GitHub and so on, through writing articles, participate in the Offline party speech, answer questions, help others and other methods. This is a good use of knowledge, with bad is to install force, do not unfold ...

Remember, don't be anonymous, you're not going to get anything.


Some people clearly technical strength, but because there is no good packaging, or be buried in the ability, or be affixed to a variety of labels should not be, or be biased to see. such as Allen's C # and Vczh's Microsoft tags

Some people obviously strength general, but is good at stirring small white, packaging good, so there are a number of loyal fans, this kind of person I do not dare say the name, hehe.

So good programmers should use the packaging.




+ + + end of Split line + + +


Above said so much, but insisted on doing to need a lot of impetus, some people can be admitted to Tsinghua, but also can fall in the university, some can achieve results, but also will be complacent.

If you want to be good, you have to have a huge impetus, why do you want to be a good programmer? What is your driving force?


Like, we say that prostitution is a great moral pressure, money pressure and risk of things, why do you know so many clients are bored and try to brainwash themselves to rationalize this matter? Because in their eyes, prostitution is the most interesting thing, is not to eat and sleep can not do things, is not to do live boring things, with this death also die in the spirit of the bed, but also afraid of what?


That's the driving force.



Kanki mo
Links: http://www.zhihu.com/question/22032651/answer/30474626
Source: Know
Copyright belongs to the author. Commercial reprint please contact the author for authorization, non-commercial reprint please specify the source. Salute! Thanks! finally still want to say their sad, I just want to find a software development work, do not ask what high salary, why is it so difficult? Is it really difficult to develop a person who is not good at expressing? Well, don't complain, or continue to learn to endure and focus on the idea of it ~

This is the most wonderful answer I've ever seen.

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.