How to acquire and develop mental Focus
I have a problem, I'm learning how to program (C/Python -- keep the URLs coming!) but, find that I cannot focus very much on documentation that I read on either topic; instead I'd rather watch television, or sneak glances at IRC; etcetera, how do you achieve complete mental focus? Having motivation is one thing, having a constant will to study, is another.
Thanks
21 comments
[ 4.1 ms ] story [ 51.2 ms ] threadQuit your job and make it your means of survival.
If you're a student, focus on your schoolwork instead. If this IS your schoolwork, consider switching fields.
The fact that you have a hard time doing something does not mean you should give up on it.
The other thing is that once you done some work, and you're getting tired and finding it hard to concentrate, take a break. You tend to work more productively when you're fresh than when you're weary.
That along with actuall closing the IM, Email and IRC clients can go a long way towards helping you focus.
I also find that when learning something completely new it helps alot to have a small project to apply the new knowledge to. Even if it is something silly, it helps cement the new concepts in your long term memory.
If the documentation you're reading isn't satisfying, maybe try finding projects online related to what you hope to accomplish, and start there. Try reading their documentation and code, and then read C/Python documentation to figure out what the code is doing when you don't understand.
Stuff that distracts you has a much harder time of doing so when it isn't active around you when you want to focus on something else.
1.) Think of an interesting program that I would like to write.
2.) Write the program. As I write your program, I grep the documentation for stuff that I don't know. When I can't figure it out from docs, I grep the Internet.
I've never ever really been able to focus on anything that I don't find to be immediately relevant to a task that I want to accomplish. Some say this is ADD, I say it is pragmatism. Either way, I learn programming languages really well in this manner.
If you use this technique make sure that this program is something that will challenge you. Make it something in a domain that you maybe don't quite know, or at least have some interesting property other than the language.
Language is but a vessel for thought anyway, languages influence thinking, but once you know one language, you sort of know them all; (however, the really interesting languages can fundamentally change the way that you think).
Maybe you can even think of small useful tools to program, that are possible to do without knowing all the ins and outs of Python.
If you have to read an article, before you start reading, remind yourself that you tend to drift away, so set a goal on how much to read before you allow yourself to take a pause.
This works well for me. It just takes a few days and I have stopped reaching for quick information kicks.
Launch fast and evolve - this is the mantra of this site. =)
Try the pomodoro technique. It has helped me, perhaps it will help you too: http://www.pomodorotechnique.com/
Note: you can try it even without buying a pomodoro (I use a countdown timer in my cellphone)
Treat it like an important deadline. When you finish, enjoy the sense of achievement, take a break, then start the next hour. The goal ultimately is to be able to concentrate (productively) for 3-4 hours at a time.
Why not put a big countdown clock on the wall (that's what I've done!)
* Do not read documentation before you begin to code. Start some project first.
* the app will be so amazing
* http://en.wikipedia.org/wiki/Zen !