Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Personally I'd prefer to work on one project at a time, maintaining absolute focus on that. I find I'm at my most productive in this situation, however it's not always the way things happen in the real world.

Do you prefer working on one large project, and being totally focused on that, or be working on say 3-4 small projects at once which may even be developed using different languages?

share|improve this question
    
Please check the FAQ and Good Subjective, Bad Subjective blog post to learn what makes a good question. This question is simply asking for a list of answers. –  ChrisF Feb 3 '11 at 19:51
add comment

3 Answers

up vote 3 down vote accepted

Well I used to work on one single project at work and on my personal project in the evening. It provided sufficient diversity for me to keep motivated and have fun.

It is in fact good to switch contexts now and then, it sort of refreshes your mind. If you've focused your brain on one particular thing for a long time, you stop seeing the big picture, you're kind of sunk in it. Need to get distraction then come back. Often a good idea or a solution for a stubborn problem comes with your eyes and mind refreshed.

As a good example, I recently extended my old code written some year ago. I remember thinking then about it for a week and longer but the solution was just escaping me. I left it for the time being and switched to the other tasks. Then two weeks ago the old problem came back and I had to deal with it. I started to think about it in the evening and before I got to sleep I came up with the solution. Was surprised how easy it was, more so why couldn't I do it a year back?

Fresh mind helps a lot.

P.S. I also find it very good for a hiring manager to ask a candidate up-front - which option he prefers. Will help find people either with enough energy (for many small projects) or with enough stamina (for one long project).

share|improve this answer
add comment

I prefer working on several small projects OR one giant project.

When working on a several small projects, I can avoid getting stuck by switching to another project. When I'm typing away madly I don't stop for anything, but when I get bogged down it's good to have something else to switch to. With small projects the cost of context switching is relatively low, so it's easy to swap time between them.

Similiarly, with one big project there are many things that need doing. However, it's very difficult to keep the whole structure in my head, so it's not good to have any other ones on my plate while I'm working on it. However, the number of facets in that one project allow me to switch between tasks without changing the whole project context in my head. That way when I get bogged down in one area I can just switch to another area (or a bug) for a bit and come back later. Again, the cost of switching is low here.

I have trouble working on more than one large project. I can't keep both program structures in my head at the same time, so the cost of switching between them is high. That means that it's very difficult to go work on the other project when I get bogged down in one. So I tend to focus on one and neglect the other. That's fine when you have lots of time, but for crunch projects it doesn't work well for me.

It's important that the projects I have (whether facets of something bigger or many unconnected projects) supply enough diversity that my brain gets exercised in different ways. Your subconcious mind never stops thinking. Doing something unconnected to the current problem is merely a tool to let your brain relax and find a solution.

share|improve this answer
add comment

Context switching is expensive. Working on multiple projects means that you will not only switch between tasks within a project (which have common tasks at least) but btween tasks across projects. This double context switch is especially expensive because you have to spin-up on the new project in addition to spinning up to the new task. It's preferable to focus on one project at a time as much as possible. Because even though there is a context switch as you move between tasks...it's not as big as moving between projects.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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