1. Sometimes it suffices for a solution to be good enough.
Note: In some cases working for the 'more efficient' solution leads to diminishing returns in terms of effort, time spent, etc.
2. When you have tried solving a problem in all ways you can think of and are tired, take a time out; a break can do wonders.
Anecdote: Couple of years back, I was developing code for the new transport protocol that I had recently designed. Once I got done, I wanted to test if everything was working as designed. In the process of testing, I encountered a nasty bug. I tried everything I could think of in order to resolve the issue but the bug wouldn't go away. I had been writing code all day and got quite tired. Very reluctantly (and against my natural incline), I forced myself to call off the day. I went back home and took good rest (though it was difficult to shift my attention from the problem). The next day, I came to office, and guess what, I solved the problem in 5 minutes. In hindsight, I thought about the possible reasons for this. I found the following: After working for long hours, your mind may get saturated and such a mind does not want to do a lot of things. It is less likely that you try things that require some mental effort, which reduces the chances of finding a solution to your problem.
3. Become self-critical (balanced). If you are not critical, you're likely to make errors and accept things which may not make sense. It you are too critical you may not make progress. Research requires a subtle balance between tolerating ambiguity and making progressk.
4. Prioritize your tasks --> remember Coveys advice "You should leave the urgent to attend to the important".
5. When there are too many things to remember, write them down. Don't burden your memory. Allow your mind to focus on the problem, much like what a processor does :-)
6. Too much multiplexing can be detrimental. Too little time for one problem to be done efficiently. You know the overhead of context switching :-)
7. If you need something (advice, stuff, etc), ask! You will find that at times you simply need to ASK !!
8. An important trait or skill you bring on the table is your ability to think and SYNTHESIZE !! Value and sharpen the saw !
9. Make sure your mind gets enough recreation every day so that when you get to your problem, it is fresh and raring to go.
10. Learn to work despite little distractions. They may be common.
11. Help others as much as you can! Remember you were once an undergrad or a grad who wanted help from seniors and they were helpful
a. They'll remember this for a long time, believe me.
12. Be open. Consider a thought even if you think it doesn't make much sense. It may be case that you are missing a point.
13. It is always good to articulate your thoughts. At times writing things can greatly clarify and help solvie a problem.
14. Build good intuitions, if something looks fishy don't put it under the carpet. You will find that at times seemingly small things can have a tremendous impact !
15. Have a self-belief that you can do good work
16. Educate your mind to focus on ideas of individuals as opposed to who they are.
17. Know that it is utterly important that you are able communicate your results in an effective manner.
18. Family and friends: In the flow things, it is likely that you might not give them enough time. However, time never comes back, so make sure you do justice with it.
19. Patience.... all the way :-)
P.S. And yes, don't forget to read phdcomics :-)