tags:

views:

348

answers:

9

I have 7 free days to code in a row, does anyone have any advice on how I could code the most functional code in this time. I am hoping/willing to get a lot (i am working on a php framework), but usually after a day of (mostly failed coding) I lose focus, get tired/bored, and end up taking a different direction. I really really want to make some real progress when I have a chance. Does anyone here have an advice ideas for me, besides the obvious stuff.

To be honest I am already kind of burned out in programming because I have never finished a project, at least to my standards, or one of complexity, and I feel like I am learning at a less the normal pace considering the time I have committed to programming. I used to really enjoy it , and I still do but I am somewhat discouraged. Do any others feel this way or is it just me?

+8  A: 

Two pieces of advice:

  1. Make sure you get enough sleep. It's easy to become sleep deprived and then your productivity for the rest of the week will be lost.
  2. Make sure you write unit tests. It will slow you down at the beginning of the week but will pay back dividends at the end.
Steve Rowe
+1  A: 

Sounds like you need a plan. So, think first (try to do it without a computer, use pen and paper), and act only after you know what you're going to do.

You got whole 7 days, which is plenty. Iterate between planning (without computer) and coding.

Joonas Pulakka
+4  A: 

Sleep at least 8 hours per night, except if you want, you can do less sleep by the end of the week :) But after a few nights without sleep, your productivity will drop (depending on your age :)

Remember to run and smoke-test your software constantly.

If you are unsure about what to do next, take a deep breath and think for a while unless you know what is the correct path forwards. If you get on the wrong path, it will be costly to retrace your steps. Which brings into mind: use version control, and commit often so that you can see what has went wrong when something breaks.

Turn your mobile phone off. Do not read e-mails, except once or twice per day. Close down instant messaging. Try to work in a quiet environment, unless you have learned how not to pay attention to background music (I haven't really).

antti.huima
+1  A: 

As you note that you have trouble finishing a project, try making the projects smaller. It's very motivating to actually finish something, and that can give you the energy to drive towards something larger. If you really feel the need to tackle something big, at least break it down into manageable chunks to complete independently.

I'm liking http://projecteuler.net/ at the moment for small, interesting problems to exercise the mind. Try learning a new, really out-of-left-field language to do it in, perhaps -- really give yourself a complete change of scenery.

womble
A: 

Project wisely before coding.

tunnuz
+10  A: 

If you have 7 days, try to tackle a problem that would take you 3 days to complete.

Robert Gould
+3  A: 

Write a simple spec.

Think about what you want to achieve and write it down. Break it up into reasonably separate pieces, and make a list of the actual things you need to do in order to finish that piece.

Make sure you have a few items on the list that are easy enough to just dive into directly, more often than not the hardest part each day is to actually get started.

If you are working alone and for fun, don't worry too much about how you spend your time. Sleep when you are tired, but keep at it when you are in the zone. An hour in the "zone" is worth 5 outside of it. :)

Console
Yah, one of my biggest issues is I find it hard to get into the zone.
+1  A: 

If they really are free days, and you're feeling a bit burned out, go for a walk instead. Bit of exercise, fresh air and time to think.

Pete Kirkham
A: 

7 days is quite a lot of time that will easily get you lost if you don't have some way of dividing it up into smaller pieces. Others have already suggested making plans, and setting a goal that seems achievable in e.g. 3 days.

My suggestion would be to write down your tasks in a SMART way before starting to code / design - it's not necessary to do this all up front, just make sure that you write down what you are going to do, and congratulate yourself when it is done!

Now after the 7 days you might have finished your project or not (do you actually want to finish it?), but you will have a list with a lot of finished tasks to look at, that is quite rewarding and make you aware that you actually produced something.

Simon Groenewolt