Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I am a college freshman who has recently discovered a passion for computer science. Having had my first lick of formal python training last semester, I have cast aside my previously hedonist way of life and tunneled my sights on becoming the most rounded and proficient programmer I can be. I know that I'm taking strides in the right direction (I've stopped smoking, I've been exercising every day, I've taught myself C++ and OpenGL, and I've begun training in kung-fu and meditation), yet I am still finding myself struggling to achieve satisfactory results. I would like to be able to spend a good 3-4 hours every day burning through textbooks. I have the time cleared and the resources allocated. The problem lies in the logistics-- I have never taken anything seriously before. Recently I've realized that I am clueless when it comes to taking care of myself and gaining control of my mind, and it drastically hinders my productivity.

My question is this:

How can I learn to manage my time and take care of myself such that I can spend the maximum amount of time every day studying with steady concentration? Personal tricks would be key here: techniques you use to get yourself to sleep, a diet that yields focus, even computer break stretching routines or active reading techniques. Anything you could think of here would be great. I was a low-life in high school and I have the drive to turn my life around, I'm just quite a bit behind in the way of good habits :)

share|improve this question

closed as too broad by gnat, MichaelT, GlenH7, Dan Pichelman, World Engineer Oct 28 '13 at 22:46

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers 4

up vote 10 down vote accepted

I think you need to manage your expectations about what's realistic and what's not and what's desirable and what's not.

Your aim -is admirable but my personal experience is that the people who genuinely get the most out of life are those who don't force it and who find the natural level of activity which works for them and accept it.

What you need to do is tweak your aim - not how can I spend the greatest amount of time studying, but how can I learn the most. They're not the same, and in many cases they're not related in the ways you may think. Not all hours are equal and you're going to run into the law of diminishing returns a lot earlier than you think.

3 - 4 hours a day plus your other studies is actually a pretty hefty goal and I think might not be realistic on a sustained basis. I'd suggest that you wind it down a bit (try 2 hours of really good study a day, with at least one day a week off) and see how that goes. If it's going well add a little more and review. Eventually you'll hit a point where you feel the extra time isn't adding real benefit and at that point wind it back and stick to that as your ideal, efficient level.

In terms of some of the things you mention:

1) Diet - it's fine to ask about diet tricks but the reality is that we all know what a good diet is and what the things we should limit are. So restrict your intake of fatty foods, cakes and sweets, eat a good mixture of things with plenty of fresh fruit and vegetables. I'd suggest that you're going to find that faddy diets and tricks will yield you limited benefits (certainly in proportion to the effort you expend) beyond those you'll get from applying basic common sense. And try new stuff - there's a lot of pleasure to be had from food, it's not just fuel.

2) Sleep - is about the most important thing you can do for productivity and health. 8 hours a night, minimum. You may think you can get by on less but that's all you're doing, you're getting by. Sleep is important for forming long term memories (and therefore learning) and concentration. You're going to need at least 30 minutes to wind down before you're going to sleep (unless you're utterly exhausted which you should take as a warning sign) doing something unrelated to work but calming (best thing is read a non-technical book). And give up caffeine after lunch, you'll notice the difference almost immediately - if you drink coffee before bed and still sleep, you're sleep deprived and should be looking to get more rest.

3) Do some exercise. It's good for health, concentration and happiness. Doesn't matter what, it's your call but you sound like you've got interests here so that's great.

4) Have other interests. None of the best programmers I've met are obsessives. I'm not saying that there aren't great programmers who aren't obsessives but I don't think devoting your life 24 x 7 to it is actually going to make you happy and if you're not happy you won't be productive or committed to what you're trying to do.

5) And as a natural result, be realistic about how much time you should spend studying, learning and programming. Programmers can frequently be heard banging on about how more than a 40 hour work week is unproductive, and then talk about how they're going home to code. This is clearly somewhat contradictory so if you believe that there is a limit to how many hours a week you can code and be productive (and you should, it's true), you need to extend that to home too.

But it sounds like you've got a good attitude and that's a great start. Combine that with some common sense, a bit of patience and some balance and you'll do fine.

share|improve this answer
+1 for realistic expectations and maintaining a good balance. – George Marian Jan 16 '11 at 5:57
  1. Realize that it won't happen overnight, no matter how motivated you are. Taking care of your health, exercising and meditating are great habits. However, you've just begun.

  2. Consider including Yoga in the mix. There's both the physical parts (which will help benefit your kung-fu training) and the meditation (as well as lifestyle) part. It's also easy to do a small amount of yoga as a stretch break. (A full session is typically 90 minutes. However, it's easy to create 30 min sessions. Meanwhile, the "Sun Salutation" takes just a few minutes. That would be perfect as a break.)

  3. In all seriousness, consider seeing a psychologist for a consultation. There are various things which could be impacting your concentration. (From my own experience, dyslexia comes to mind. I can't stress this enough: don't dismiss the possibility. Find out for certain. Now, while you're young.)

  4. Regarding sleep: Keep a regular, healthy sleep schedule. Certain kinds of music can help: instrumental, relatively quiet pieces (i.e. not Beethoven's 5th Symphony). Try drinking hot tea, or milk, as a pre-bedtime ritual. (Herbal teas, of course.) Avoid caffeine within 6 hours of bed time.

  5. Notebooks. Lots and lots of notebooks. Obviously, some for the note-taking while studying. Meanwhile, some smaller ones for journals, time-tracking, etc. As you build up a history you can look back at the progress you've made. This may also help you discover some impediments. Along these lines, learn good note-taking techniques.

  6. Buy, and read, How to Read a Book. Seriously.

  7. Don't forget to have some fun while in college. Moderation is the key here. Both ways: too much studying can lead to its own set of issues, just like too much partying can lead to plenty of its own issues. Of course, parties are not the only form of entertainment, just don't be a recluse. Sure, you could do fine as a socially inept uber-geek, but you'd do better as a socially capable uber-geek.

share|improve this answer
I could probably rattle off some more ideas, but alas I need to drag myself to bed. – George Marian Jan 15 '11 at 13:30
+1 for your advice regarding psychologist. It can change a life if you are diagnosticed soon enough. – user2567 Jan 15 '11 at 13:32
@pierre It's a life-changer no matter when, but the sooner the better. (Ironically, dyslexics tend to be stubborn.) – George Marian Jan 15 '11 at 13:34
@George: many successful entrepreneurs are dyslexics. Most says it's because they are dyslexic that they see the world differently. – user2567 Jan 15 '11 at 15:07
Don't I need to buy a book titled "How to read 'How to read a book'" first? – Job Jan 15 '11 at 16:27

Woaw, you are just starting and you already figured out that physical exercises and meditation will help you in your career. I think you are doing pretty well so far!

About learning

The most effective way of learning I know is getting out of your comfort zone:

  • Expose yourself to things you don't know (don't pick projects in which you master everything already).
  • When you can choose, pick the less easier path (you learn more by facing problems, see difficulties as opportunities)
  • Don't be the best, be the worst (best learn slower than worst)
  • Fail often (the more you fail, the more you learn)
  • Practice, practice, practice! (I hear, I know. I see, I remember. I do, I understand. Confucius)

About wanting what you don't have

You can suffer less in life if you appreciate what you have today. Live the present moment. Stop thinking about the past (you can't change) and the future (you can't predict).

Work on your desires when it's time to work on, but stop thinking about them all the time. It's not going to make them to happen faster. Being obsessed by things can make it worse to live with.

First part worked very well for me. I'm experiencing second part and so far, I get outstanding results.

share|improve this answer
Great points about staying out of your comfort zone and moderation. – George Marian Jan 16 '11 at 6:01

It's terrific you want to take care of yourself and achieve balance, and there are some great answers so far. Here are a few more suggestions.

  • Develop self-discipline. It's like emotional weight-lifting: it improves with practice, and there are techniques that work better than others. You need self-discipline both to do things you don't want to, and to have reasonable limits on doing things you like.
  • Check out FlyLady. Read this essay. FlyLady may seem weird, but everybody I know who's seriously tried her system has benefited from it, and it's really improved my programming as well as the rest of my life.
  • Pay attention to the folks who've been hacking life. There are two groups of people who've been researching and writing open-source books and articles on how to live effective, happy, balanced lives (and how not to live lives that suck) for about 2500 years: philosophers and writers. They've figured out a lot over that time, so as a college student, I'd suggest you take intro courses in philosophy and literature, with an eye toward what seems to make sense for you, and what seems like it would really bite if you did it. (I didn't do that in college, and made a lot of really dumb life mistakes I could have avoided, so I'm going back in my 50s and doing it via reading and podcasts.)
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.