How to acquire and develop mental Focus

19 points by arem ↗ HN
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 ] thread
If you can't focus on it, it must not really be that important.

Quit 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.

Being unable to focus can simply be a side-effect of being distracted, tired, or trying to learn something that really pushes your brain.

The fact that you have a hard time doing something does not mean you should give up on it.

Removing distractions is one technique. Kill your IM apps and work in a quiet area. You'll still feel like checking those distractions out for a while, but once you get into the groove you can work smoothly with little effort.

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.

I find that music helps keep me focused on the task at hand. I've got different playlists setup for my different developing moods. ie. learning, coding, designing, administrative, etc.

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.

Indeed, classical music helps me sometimes, when I feel like doing silly things, as opposed to study/research.
I was a CS major but I didn't _really_ learn how to write code until I got a job at a dot com startup in the mid 90's. I think school seemed too easy, and I didn't work that hard to get decent grades, although now I regret not taking advantage of the time I had. If an assignment is due friday, who cares. If it's due RIGHT FREAKING NOW, because your company is ON FIRE then you work hard. I mostly played MUD's at school. I worked my ass off once I got a job. Turn off the distractions and light a fire. I guess the fear of failure is what motivated me. Maybe try and do something risky and difficult.
Tying task at hand to goal, consistently, a sense of urgency and a social component are all key factors in maintaining focus.
Continually remind yourself of how great it will be to be able to do X after you've done Y.
It sounds like you might want to try to better define for yourself why you're trying to learn what you're studying. Without good reason to focus on what you're trying to achieve through your studying there's probably very little feeling of reward for doing it. Maybe developing reasonable goals for what you would like to do with C/Python will help you focus on gaining the knowledge you need to accomplish your goals.

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.

It's quite likely you meet diagnostic criteria for ADD. Talk to a mental health professional. It's one thing to get distracted occasionally but it's a problem if your distraction is more pathological.
(comment deleted)
Shut off the television and the IRC!

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.

Here's an article on dopamine and information seeking - answers some of the 'why' we do this: http://j.mp/38EhSy
And I couldn't resist clicking on that link :)
Hi, my technique to focus on learning a language is:

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 are reading too much. Start coding asap - most tutorials do have examples in every chapter, don't they? Python has a REPL, so just play around with it while reading.

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.

Practice things that require long-focus in all parts of your life. Read books instead of watching TV. Cook instead of eating out or warming up prefab.

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.

Do not read documentation before you begin to code. Start some project first. Then if you stuck up - google and read. It will save your time, increase level of learning, because practice is the best teacher.

Launch fast and evolve - this is the mantra of this site. =)

To some extent at least this can be blamed on the amount of distractions we have in this day and age.

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)

Break your time down into 1 hour segments, and just think about what you want to achieve during that hour. Be strict: turn off all distractions until the hour is up. It sounds like you have time, but it's the knowledge that you have time that causes you to procrastinate.

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!)