From: http://www.cnbeta.com/articles/168975.htm
When I was a teenager, I started playing class a baseball. My level is poor, but when I decide what to do, I will always be able to do as I wish. I am a 3-year-old computer science student. In programming, some things are completely different from sports: baseball coaches can teach you how to play baseball, but a computer professor cannot teach you how to program.
I was surprised that during my freshman year, my teacher or professor never commented on my code, especially when I was a sophomore. We have a lot of homework and have very difficult questions, but after finishing the 2000 lines of code in the data structure class, I have never received any comments from the teacher-as long as the program can be compiled, the unit test shows no errors. It wasn't until I met a group-developed project that I realized how bad my code was, and I started to ask: How should a good program be written.
But what kind of code is good code? I spent a lot of time improving code readability and adding comments. I tried to imitate the philosophy of UNIX, strive for simplicity, first let the program run, on this basis, optimization as needed. Complex things need to increase gradually. Unless necessary, I do not use threads. But to be honest, I don't know if this is a good code (to be honest, I think I am at a very bad level ).
I am lucky to be able to work with a group of excellent students who are excellent programmers who have internships at Microsoft, Google, Amazon, and other companies. They share the same view and think that their knowledge is summed up by themselves or learned from other programmers. Even very senior software engineers have such opinions. Therefore, my conclusion is:All programmers are self-taught.
My education gave me a good foundation: data structures, algorithms, database design, parallel computing, network programming, agile development, and various programming modes. But even if they make programming more efficient and more sophisticated, you may still use the wrong ones-I have seen some students who have made very good grades in these courses, but the code is confusing.
I don't think it would be useful to have studied computer science, software engineering, or a college diploma. If you want to write code for a living, self-learning is an indispensable way for you.