I don’t know how to share it from quora, so i just post it here.. and here’s link to the source
History and Philosophy major who works as full-time programmer.
2.) Read other people’s code.
3.) Learn to write clean code. As mentioned, you’ll spend more time debugging than writing code. The cleaner you learn to write your code, the easier it is to find where things went wrong. Conversely, the uglier the code, the harder it is.
4.) Nothing beats actually doing things. If you read a book about doing something, stop reading it when it shows you something. Immediately execute. You’ll find that you often don’t understand things as well as you initially thought when you do this. I recommendas an excellent tool for getting up and running quickly if you just want to test things out.
5.) Don’t worry about what’s hot. I spent so much time studying every “new” thing that came out I lost a lot of time that would have been better spent on the fundamentals.
6.) There is no “best” language. Each has particular uses and situations where it is better.
7.) Focus on one language and learn it thoroughly. Then, branch out into another one. Learning too many languages as a beginner will just confuse you.
8.) There are parts of programming you won’t like.
9.) There’s always better programmers than you. That doesn’t make you a bad programmer.
10.) Make time to refactor.